|  | @@ -1,349 +1,397 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  | -  <basic-container class="page-crad" v-if="flag">
 | 
	
		
			
				|  |  | -    <avue-crud :option="option"
 | 
	
		
			
				|  |  | -               :data="dataList"
 | 
	
		
			
				|  |  | -               ref="crud"
 | 
	
		
			
				|  |  | -               v-model="form"
 | 
	
		
			
				|  |  | -               :page.sync="page"
 | 
	
		
			
				|  |  | -               @row-del="rowDel"
 | 
	
		
			
				|  |  | -               @row-update="rowUpdate"
 | 
	
		
			
				|  |  | -               :before-open="beforeOpen"
 | 
	
		
			
				|  |  | -               :before-close="beforeClose"
 | 
	
		
			
				|  |  | -               @row-save="rowSave"
 | 
	
		
			
				|  |  | -               @search-change="searchChange"
 | 
	
		
			
				|  |  | -               @search-reset="searchReset"
 | 
	
		
			
				|  |  | -               @on-load="onLoad"
 | 
	
		
			
				|  |  | -               @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 287)"
 | 
	
		
			
				|  |  | -               @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 287)"
 | 
	
		
			
				|  |  | -               @search-criteria-switch="searchCriteriaSwitch"
 | 
	
		
			
				|  |  | -               @tree-load="treeLoad">
 | 
	
		
			
				|  |  | -        <template slot-scope="{type,size,row,$index}" slot="menuLeft">
 | 
	
		
			
				|  |  | -            <el-button icon="el-icon-plus" type="primary" :size="size" @click="handleAdd">新增</el-button>
 | 
	
		
			
				|  |  | -        </template>
 | 
	
		
			
				|  |  | -    </avue-crud>
 | 
	
		
			
				|  |  | -  </basic-container>
 | 
	
		
			
				|  |  | +    <basic-container>
 | 
	
		
			
				|  |  | +        <avue-crud :option="option"
 | 
	
		
			
				|  |  | +                   :table-loading="loading"
 | 
	
		
			
				|  |  | +                   :data="data"
 | 
	
		
			
				|  |  | +                   :page.sync="page"
 | 
	
		
			
				|  |  | +                   :permission="permissionList"
 | 
	
		
			
				|  |  | +                   :before-open="beforeOpen"
 | 
	
		
			
				|  |  | +                   v-model="form"
 | 
	
		
			
				|  |  | +                   ref="crud"
 | 
	
		
			
				|  |  | +                   @row-update="rowUpdate"
 | 
	
		
			
				|  |  | +                   @row-save="rowSave"
 | 
	
		
			
				|  |  | +                   @row-del="rowDel"
 | 
	
		
			
				|  |  | +                   @search-change="searchChange"
 | 
	
		
			
				|  |  | +                   @search-reset="searchReset"
 | 
	
		
			
				|  |  | +                   @selection-change="selectionChange"
 | 
	
		
			
				|  |  | +                   @current-change="currentChange"
 | 
	
		
			
				|  |  | +                   @size-change="sizeChange"
 | 
	
		
			
				|  |  | +                   @refresh-change="refreshChange"
 | 
	
		
			
				|  |  | +                   @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 287)"
 | 
	
		
			
				|  |  | +                   @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 287)"
 | 
	
		
			
				|  |  | +                   @on-load="onLoad" >
 | 
	
		
			
				|  |  | +            <template slot="menuLeft">
 | 
	
		
			
				|  |  | +                <el-button type="danger"
 | 
	
		
			
				|  |  | +                           size="small"
 | 
	
		
			
				|  |  | +                           icon="el-icon-delete"
 | 
	
		
			
				|  |  | +                           plain
 | 
	
		
			
				|  |  | +                           v-if="permission.bcountrys_delete"
 | 
	
		
			
				|  |  | +                           @click="handleDelete">删 除
 | 
	
		
			
				|  |  | +                </el-button>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +        </avue-crud>
 | 
	
		
			
				|  |  | +    </basic-container>
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <script>
 | 
	
		
			
				|  |  | -import {getUser} from "@/api/system/user";
 | 
	
		
			
				|  |  | +import {bcountrysList, getDetail, add, update, remove} from "@/api/iosBasicData/bcountrys";
 | 
	
		
			
				|  |  | +import {mapGetters} from "vuex";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  export default {
 | 
	
		
			
				|  |  | -  name: "customerInformation",
 | 
	
		
			
				|  |  | -  data() {
 | 
	
		
			
				|  |  | -    return {
 | 
	
		
			
				|  |  | -      form: {},
 | 
	
		
			
				|  |  | -      option: {},
 | 
	
		
			
				|  |  | -      optionBack: {
 | 
	
		
			
				|  |  | -        addBtn:false,
 | 
	
		
			
				|  |  | -        headerAlign: "center",
 | 
	
		
			
				|  |  | -        align: "center",
 | 
	
		
			
				|  |  | -        border: true,
 | 
	
		
			
				|  |  | -        index: true,
 | 
	
		
			
				|  |  | -        // lazy: true,
 | 
	
		
			
				|  |  | -        stripe: true,
 | 
	
		
			
				|  |  | -        height: "auto",
 | 
	
		
			
				|  |  | -        tip: false,
 | 
	
		
			
				|  |  | -        simplePage: true,
 | 
	
		
			
				|  |  | -        searchShow: true,
 | 
	
		
			
				|  |  | -        tree: true,
 | 
	
		
			
				|  |  | -        searchMenuSpan: 16,
 | 
	
		
			
				|  |  | -        searchSpan: 8,
 | 
	
		
			
				|  |  | -        searchIcon: true,
 | 
	
		
			
				|  |  | -        searchIndex: 2,
 | 
	
		
			
				|  |  | -        selection: true,
 | 
	
		
			
				|  |  | -        viewBtn: false,
 | 
	
		
			
				|  |  | -        menuWidth: 140,
 | 
	
		
			
				|  |  | -        column: [{
 | 
	
		
			
				|  |  | -          label: "仓库编码",
 | 
	
		
			
				|  |  | -          prop: "code",
 | 
	
		
			
				|  |  | -          search: true,
 | 
	
		
			
				|  |  | -          overHidden: true,
 | 
	
		
			
				|  |  | -          // width: 120,
 | 
	
		
			
				|  |  | -          rules: [
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -              required: true,
 | 
	
		
			
				|  |  | -              message: " ",
 | 
	
		
			
				|  |  | -              trigger: "blur"
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -          ]
 | 
	
		
			
				|  |  | -        }, {
 | 
	
		
			
				|  |  | -          label: "仓库名称",
 | 
	
		
			
				|  |  | -          prop: "cname",
 | 
	
		
			
				|  |  | -          search: true,
 | 
	
		
			
				|  |  | -          overHidden: true,
 | 
	
		
			
				|  |  | -          // width: 120,
 | 
	
		
			
				|  |  | -          rules: [
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -              required: true,
 | 
	
		
			
				|  |  | -              message: " ",
 | 
	
		
			
				|  |  | -              trigger: "blur"
 | 
	
		
			
				|  |  | +    data() {
 | 
	
		
			
				|  |  | +        return {
 | 
	
		
			
				|  |  | +            form: {},
 | 
	
		
			
				|  |  | +            query: {},
 | 
	
		
			
				|  |  | +            loading: true,
 | 
	
		
			
				|  |  | +            page: {
 | 
	
		
			
				|  |  | +                pageSize: 10,
 | 
	
		
			
				|  |  | +                currentPage: 1,
 | 
	
		
			
				|  |  | +                total: 0
 | 
	
		
			
				|  |  | +            },
 | 
	
		
			
				|  |  | +            selectionList: [],
 | 
	
		
			
				|  |  | +            option:{},
 | 
	
		
			
				|  |  | +            optionBack: {
 | 
	
		
			
				|  |  | +                height:'auto',
 | 
	
		
			
				|  |  | +                calcHeight: 30,
 | 
	
		
			
				|  |  | +                tip: false,
 | 
	
		
			
				|  |  | +                searchShow: true,
 | 
	
		
			
				|  |  | +                searchMenuSpan: 6,
 | 
	
		
			
				|  |  | +                border: true,
 | 
	
		
			
				|  |  | +                index: true,
 | 
	
		
			
				|  |  | +                viewBtn: true,
 | 
	
		
			
				|  |  | +                selection: true,
 | 
	
		
			
				|  |  | +                dialogClickModal: false,
 | 
	
		
			
				|  |  | +                column: [
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        label: "主键",
 | 
	
		
			
				|  |  | +                        prop: "id",
 | 
	
		
			
				|  |  | +                        rules: [{
 | 
	
		
			
				|  |  | +                            required: true,
 | 
	
		
			
				|  |  | +                            message: "请输入主键",
 | 
	
		
			
				|  |  | +                            trigger: "blur"
 | 
	
		
			
				|  |  | +                        }]
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        label: "创建人 Id",
 | 
	
		
			
				|  |  | +                        prop: "createUser",
 | 
	
		
			
				|  |  | +                        rules: [{
 | 
	
		
			
				|  |  | +                            required: true,
 | 
	
		
			
				|  |  | +                            message: "请输入创建人 Id",
 | 
	
		
			
				|  |  | +                            trigger: "blur"
 | 
	
		
			
				|  |  | +                        }]
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        label: "创建人",
 | 
	
		
			
				|  |  | +                        prop: "createUserName",
 | 
	
		
			
				|  |  | +                        rules: [{
 | 
	
		
			
				|  |  | +                            required: true,
 | 
	
		
			
				|  |  | +                            message: "请输入创建人",
 | 
	
		
			
				|  |  | +                            trigger: "blur"
 | 
	
		
			
				|  |  | +                        }]
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        label: "创建部门 Id",
 | 
	
		
			
				|  |  | +                        prop: "createDept",
 | 
	
		
			
				|  |  | +                        rules: [{
 | 
	
		
			
				|  |  | +                            required: true,
 | 
	
		
			
				|  |  | +                            message: "请输入创建部门 Id",
 | 
	
		
			
				|  |  | +                            trigger: "blur"
 | 
	
		
			
				|  |  | +                        }]
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        label: "创建部门",
 | 
	
		
			
				|  |  | +                        prop: "createDeptName",
 | 
	
		
			
				|  |  | +                        rules: [{
 | 
	
		
			
				|  |  | +                            required: true,
 | 
	
		
			
				|  |  | +                            message: "请输入创建部门",
 | 
	
		
			
				|  |  | +                            trigger: "blur"
 | 
	
		
			
				|  |  | +                        }]
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        label: "创建时间",
 | 
	
		
			
				|  |  | +                        prop: "createTime",
 | 
	
		
			
				|  |  | +                        rules: [{
 | 
	
		
			
				|  |  | +                            required: true,
 | 
	
		
			
				|  |  | +                            message: "请输入创建时间",
 | 
	
		
			
				|  |  | +                            trigger: "blur"
 | 
	
		
			
				|  |  | +                        }]
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        label: "修改人 Id",
 | 
	
		
			
				|  |  | +                        prop: "updateUser",
 | 
	
		
			
				|  |  | +                        rules: [{
 | 
	
		
			
				|  |  | +                            required: true,
 | 
	
		
			
				|  |  | +                            message: "请输入修改人 Id",
 | 
	
		
			
				|  |  | +                            trigger: "blur"
 | 
	
		
			
				|  |  | +                        }]
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        label: "修改人",
 | 
	
		
			
				|  |  | +                        prop: "updateUserName",
 | 
	
		
			
				|  |  | +                        rules: [{
 | 
	
		
			
				|  |  | +                            required: true,
 | 
	
		
			
				|  |  | +                            message: "请输入修改人",
 | 
	
		
			
				|  |  | +                            trigger: "blur"
 | 
	
		
			
				|  |  | +                        }]
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        label: "修改时间",
 | 
	
		
			
				|  |  | +                        prop: "updateTime",
 | 
	
		
			
				|  |  | +                        rules: [{
 | 
	
		
			
				|  |  | +                            required: true,
 | 
	
		
			
				|  |  | +                            message: "请输入修改时间",
 | 
	
		
			
				|  |  | +                            trigger: "blur"
 | 
	
		
			
				|  |  | +                        }]
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        label: "编码",
 | 
	
		
			
				|  |  | +                        prop: "code",
 | 
	
		
			
				|  |  | +                        rules: [{
 | 
	
		
			
				|  |  | +                            required: true,
 | 
	
		
			
				|  |  | +                            message: "请输入编码",
 | 
	
		
			
				|  |  | +                            trigger: "blur"
 | 
	
		
			
				|  |  | +                        }]
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        label: "国际三字码",
 | 
	
		
			
				|  |  | +                        prop: "unCode",
 | 
	
		
			
				|  |  | +                        rules: [{
 | 
	
		
			
				|  |  | +                            required: true,
 | 
	
		
			
				|  |  | +                            message: "请输入国际三字码",
 | 
	
		
			
				|  |  | +                            trigger: "blur"
 | 
	
		
			
				|  |  | +                        }]
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        label: "中文名称",
 | 
	
		
			
				|  |  | +                        prop: "cnName",
 | 
	
		
			
				|  |  | +                        rules: [{
 | 
	
		
			
				|  |  | +                            required: true,
 | 
	
		
			
				|  |  | +                            message: "请输入中文名称",
 | 
	
		
			
				|  |  | +                            trigger: "blur"
 | 
	
		
			
				|  |  | +                        }]
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        label: "英文名称",
 | 
	
		
			
				|  |  | +                        prop: "enName",
 | 
	
		
			
				|  |  | +                        rules: [{
 | 
	
		
			
				|  |  | +                            required: true,
 | 
	
		
			
				|  |  | +                            message: "请输入英文名称",
 | 
	
		
			
				|  |  | +                            trigger: "blur"
 | 
	
		
			
				|  |  | +                        }]
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        label: "版本",
 | 
	
		
			
				|  |  | +                        prop: "version",
 | 
	
		
			
				|  |  | +                        rules: [{
 | 
	
		
			
				|  |  | +                            required: true,
 | 
	
		
			
				|  |  | +                            message: "请输入版本",
 | 
	
		
			
				|  |  | +                            trigger: "blur"
 | 
	
		
			
				|  |  | +                        }]
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        label: "状态(0 正常 1停用)",
 | 
	
		
			
				|  |  | +                        prop: "status",
 | 
	
		
			
				|  |  | +                        rules: [{
 | 
	
		
			
				|  |  | +                            required: true,
 | 
	
		
			
				|  |  | +                            message: "请输入状态(0 正常 1停用)",
 | 
	
		
			
				|  |  | +                            trigger: "blur"
 | 
	
		
			
				|  |  | +                        }]
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        label: "是否已删除(0 否 1是)",
 | 
	
		
			
				|  |  | +                        prop: "isDeleted",
 | 
	
		
			
				|  |  | +                        rules: [{
 | 
	
		
			
				|  |  | +                            required: true,
 | 
	
		
			
				|  |  | +                            message: "请输入是否已删除(0 否 1是)",
 | 
	
		
			
				|  |  | +                            trigger: "blur"
 | 
	
		
			
				|  |  | +                        }]
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        label: "备注",
 | 
	
		
			
				|  |  | +                        prop: "remarks",
 | 
	
		
			
				|  |  | +                        rules: [{
 | 
	
		
			
				|  |  | +                            required: true,
 | 
	
		
			
				|  |  | +                            message: "请输入备注",
 | 
	
		
			
				|  |  | +                            trigger: "blur"
 | 
	
		
			
				|  |  | +                        }]
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                ]
 | 
	
		
			
				|  |  | +            },
 | 
	
		
			
				|  |  | +            data: []
 | 
	
		
			
				|  |  | +        };
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    computed: {
 | 
	
		
			
				|  |  | +        ...mapGetters(["permission"]),
 | 
	
		
			
				|  |  | +        // 表格多个按钮权限控制,采用函数方式可以精确到行控制
 | 
	
		
			
				|  |  | +        permissionList() {
 | 
	
		
			
				|  |  | +            return {
 | 
	
		
			
				|  |  | +                addBtn: this.vaildData(this.permission.bcountrys_add, false),
 | 
	
		
			
				|  |  | +                viewBtn: this.vaildData(this.permission.bcountrys_view, false),
 | 
	
		
			
				|  |  | +                delBtn: this.vaildData(this.permission.bcountrys_delete, false),
 | 
	
		
			
				|  |  | +                editBtn: this.vaildData(this.permission.bcountrys_edit, false)
 | 
	
		
			
				|  |  | +            };
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        ids() {
 | 
	
		
			
				|  |  | +            let ids = [];
 | 
	
		
			
				|  |  | +            this.selectionList.forEach(ele => {
 | 
	
		
			
				|  |  | +                ids.push(ele.id);
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +            return ids.join(",");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    async created() {
 | 
	
		
			
				|  |  | +        this.option = await this.getColumnData(this.getColumnName(287), this.optionBack);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    methods: {
 | 
	
		
			
				|  |  | +        // 新增数据后点击确定触发该事件 (新增确认)
 | 
	
		
			
				|  |  | +        rowSave(row, done, loading) {
 | 
	
		
			
				|  |  | +            add(row).then(() => {
 | 
	
		
			
				|  |  | +                this.onLoad(this.page);
 | 
	
		
			
				|  |  | +                this.$message({
 | 
	
		
			
				|  |  | +                    type: "success",
 | 
	
		
			
				|  |  | +                    message: "操作成功!"
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +                done();
 | 
	
		
			
				|  |  | +            }, error => {
 | 
	
		
			
				|  |  | +                loading();
 | 
	
		
			
				|  |  | +                window.console.log(error);
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        // 更新数据后确定触发该事件 (编辑确认)
 | 
	
		
			
				|  |  | +        rowUpdate(row, index, done, loading) {
 | 
	
		
			
				|  |  | +            update(row).then(() => {
 | 
	
		
			
				|  |  | +                this.onLoad(this.page);
 | 
	
		
			
				|  |  | +                this.$message({
 | 
	
		
			
				|  |  | +                    type: "success",
 | 
	
		
			
				|  |  | +                    message: "操作成功!"
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +                done();
 | 
	
		
			
				|  |  | +            }, error => {
 | 
	
		
			
				|  |  | +                loading();
 | 
	
		
			
				|  |  | +                console.log(error);
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        // 行数据删除触发 (删除)
 | 
	
		
			
				|  |  | +        rowDel(row) {
 | 
	
		
			
				|  |  | +            this.$confirm("确定将选择数据删除?", {
 | 
	
		
			
				|  |  | +                confirmButtonText: "确定",
 | 
	
		
			
				|  |  | +                cancelButtonText: "取消",
 | 
	
		
			
				|  |  | +                type: "warning"
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +                .then(() => {
 | 
	
		
			
				|  |  | +                    return remove(row.id);
 | 
	
		
			
				|  |  | +                })
 | 
	
		
			
				|  |  | +                .then(() => {
 | 
	
		
			
				|  |  | +                    this.onLoad(this.page);
 | 
	
		
			
				|  |  | +                    this.$message({
 | 
	
		
			
				|  |  | +                        type: "success",
 | 
	
		
			
				|  |  | +                        message: "操作成功!"
 | 
	
		
			
				|  |  | +                    });
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        // 多选删除触发
 | 
	
		
			
				|  |  | +        handleDelete() {
 | 
	
		
			
				|  |  | +            if (this.selectionList.length === 0) {
 | 
	
		
			
				|  |  | +                this.$message.warning("请选择至少一条数据");
 | 
	
		
			
				|  |  | +                return;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -          ]
 | 
	
		
			
				|  |  | -        }, {
 | 
	
		
			
				|  |  | -          label: "联系人",
 | 
	
		
			
				|  |  | -          prop: "contacts",
 | 
	
		
			
				|  |  | -          search: true,
 | 
	
		
			
				|  |  | -          overHidden: true,
 | 
	
		
			
				|  |  | -          // width: 120,
 | 
	
		
			
				|  |  | -          rules: [
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -              required: true,
 | 
	
		
			
				|  |  | -              message: " ",
 | 
	
		
			
				|  |  | -              trigger: "blur"
 | 
	
		
			
				|  |  | +            this.$confirm("确定将选择数据删除?", {
 | 
	
		
			
				|  |  | +                confirmButtonText: "确定",
 | 
	
		
			
				|  |  | +                cancelButtonText: "取消",
 | 
	
		
			
				|  |  | +                type: "warning"
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +                .then(() => {
 | 
	
		
			
				|  |  | +                    return remove(this.ids);
 | 
	
		
			
				|  |  | +                })
 | 
	
		
			
				|  |  | +                .then(() => {
 | 
	
		
			
				|  |  | +                    this.onLoad(this.page);
 | 
	
		
			
				|  |  | +                    this.$message({
 | 
	
		
			
				|  |  | +                        type: "success",
 | 
	
		
			
				|  |  | +                        message: "操作成功!"
 | 
	
		
			
				|  |  | +                    });
 | 
	
		
			
				|  |  | +                    this.$refs.crud.toggleSelection();
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        // 打开前的回调,会暂停Dialog的打开,done用于关闭Dialog,type为当前窗口的类型
 | 
	
		
			
				|  |  | +        beforeOpen(done, type) {
 | 
	
		
			
				|  |  | +            if (["edit", "view"].includes(type)) {
 | 
	
		
			
				|  |  | +                getDetail(this.form.id).then(res => {
 | 
	
		
			
				|  |  | +                    this.form = res.data.data;
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -          ]
 | 
	
		
			
				|  |  | -        }, {
 | 
	
		
			
				|  |  | -          label: "联系电话",
 | 
	
		
			
				|  |  | -          prop: "tel",
 | 
	
		
			
				|  |  | -          search: true,
 | 
	
		
			
				|  |  | -          overHidden: true,
 | 
	
		
			
				|  |  | -          // width: 120,
 | 
	
		
			
				|  |  | -          rules: [
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -              required: true,
 | 
	
		
			
				|  |  | -              message: " ",
 | 
	
		
			
				|  |  | -              trigger: "blur"
 | 
	
		
			
				|  |  | +            done();
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        // 清空搜索回调方法
 | 
	
		
			
				|  |  | +        searchReset() {
 | 
	
		
			
				|  |  | +            this.query = {};
 | 
	
		
			
				|  |  | +            this.onLoad(this.page);
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        // 点击搜索后触发该事件(由于page分页信息和search搜索信息,可以直接通过this.page和this.search拿到)
 | 
	
		
			
				|  |  | +        searchChange(params, done) {
 | 
	
		
			
				|  |  | +            this.query = params;
 | 
	
		
			
				|  |  | +            this.page.currentPage = 1;
 | 
	
		
			
				|  |  | +            this.onLoad(this.page, params);
 | 
	
		
			
				|  |  | +            done();
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        // 当选择项发生变化时会触发该事件 (多选)
 | 
	
		
			
				|  |  | +        selectionChange(list) {
 | 
	
		
			
				|  |  | +            this.selectionList = list;
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        // 用于多选表格,传递数组进去,会勾选数组中的对象,如果已经勾选则会取消勾选
 | 
	
		
			
				|  |  | +        selectionClear() {
 | 
	
		
			
				|  |  | +            this.selectionList = [];
 | 
	
		
			
				|  |  | +            this.$refs.crud.toggleSelection();
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        // 分页页数
 | 
	
		
			
				|  |  | +        currentChange(currentPage){
 | 
	
		
			
				|  |  | +            this.page.currentPage = currentPage;
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        // 分页条数
 | 
	
		
			
				|  |  | +        sizeChange(pageSize){
 | 
	
		
			
				|  |  | +            this.page.pageSize = pageSize;
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        // 点击刷新
 | 
	
		
			
				|  |  | +        refreshChange() {
 | 
	
		
			
				|  |  | +            this.onLoad(this.page, this.query);
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        // 获取列表数据
 | 
	
		
			
				|  |  | +        onLoad(page, params = {}) {
 | 
	
		
			
				|  |  | +            this.loading = true;
 | 
	
		
			
				|  |  | +            bcountrysList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
 | 
	
		
			
				|  |  | +                const data = res.data.data;
 | 
	
		
			
				|  |  | +                this.page.total = data.total;
 | 
	
		
			
				|  |  | +                this.data = data.records;
 | 
	
		
			
				|  |  | +                this.loading = false;
 | 
	
		
			
				|  |  | +                this.selectionClear();
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        //自定义列保存
 | 
	
		
			
				|  |  | +        async saveColumnTwo(ref, option, optionBack, code) {
 | 
	
		
			
				|  |  | +            /**
 | 
	
		
			
				|  |  | +             * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
 | 
	
		
			
				|  |  | +             * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
 | 
	
		
			
				|  |  | +             * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
 | 
	
		
			
				|  |  | +             */
 | 
	
		
			
				|  |  | +            const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
 | 
	
		
			
				|  |  | +            if (inSave) {
 | 
	
		
			
				|  |  | +                this.$message.success("保存成功");
 | 
	
		
			
				|  |  | +                //关闭窗口
 | 
	
		
			
				|  |  | +                this.$refs[ref].$refs.dialogColumn.columnBox = false;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -          ]
 | 
	
		
			
				|  |  | -        }, {
 | 
	
		
			
				|  |  | -          label: "是否计费",
 | 
	
		
			
				|  |  | -          prop: "chargeOrNot",
 | 
	
		
			
				|  |  | -          search: true,
 | 
	
		
			
				|  |  | -          overHidden: true,
 | 
	
		
			
				|  |  | -          // width: 120,
 | 
	
		
			
				|  |  | -          type: "select",
 | 
	
		
			
				|  |  | -          dicData: [{
 | 
	
		
			
				|  |  | -            label: "是",
 | 
	
		
			
				|  |  | -            value: 0
 | 
	
		
			
				|  |  | -          }, {
 | 
	
		
			
				|  |  | -            label: "否",
 | 
	
		
			
				|  |  | -            value: 1
 | 
	
		
			
				|  |  | -          }],
 | 
	
		
			
				|  |  | -        }, {
 | 
	
		
			
				|  |  | -          label: "库容",
 | 
	
		
			
				|  |  | -          prop: "storageCapacity",
 | 
	
		
			
				|  |  | -          search: true,
 | 
	
		
			
				|  |  | -          overHidden: true,
 | 
	
		
			
				|  |  | -          // width: 120,
 | 
	
		
			
				|  |  | -          // rules: [
 | 
	
		
			
				|  |  | -          //   {
 | 
	
		
			
				|  |  | -          //     required: true,
 | 
	
		
			
				|  |  | -          //     message: " ",
 | 
	
		
			
				|  |  | -          //     trigger: "blur"
 | 
	
		
			
				|  |  | -          //   }
 | 
	
		
			
				|  |  | -          // ]
 | 
	
		
			
				|  |  | -        }, {
 | 
	
		
			
				|  |  | -          label: "所属公司",
 | 
	
		
			
				|  |  | -          prop: "salesCompanyId",
 | 
	
		
			
				|  |  | -          search: true,
 | 
	
		
			
				|  |  | -          overHidden: true,
 | 
	
		
			
				|  |  | -            disabled: true,
 | 
	
		
			
				|  |  | -          // width: 120,
 | 
	
		
			
				|  |  | -          type: 'select',
 | 
	
		
			
				|  |  | -          props: {
 | 
	
		
			
				|  |  | -            label: 'fullName',
 | 
	
		
			
				|  |  | -            value: 'id'
 | 
	
		
			
				|  |  | -          },
 | 
	
		
			
				|  |  | -          dicUrl: '/api/blade-system/dept/top-list',
 | 
	
		
			
				|  |  | -          rules: [
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -              required: true,
 | 
	
		
			
				|  |  | -              message: " ",
 | 
	
		
			
				|  |  | -              trigger: "blur"
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        //自定义列重置
 | 
	
		
			
				|  |  | +        async resetColumnTwo(ref, option, optionBack, code) {
 | 
	
		
			
				|  |  | +            this[option] = this[optionBack];
 | 
	
		
			
				|  |  | +            const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
 | 
	
		
			
				|  |  | +            if (inSave) {
 | 
	
		
			
				|  |  | +                this.$message.success("重置成功");
 | 
	
		
			
				|  |  | +                this.$refs[ref].$refs.dialogColumn.columnBox = false;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -          ]
 | 
	
		
			
				|  |  | -        }, {
 | 
	
		
			
				|  |  | -          label: "备注",
 | 
	
		
			
				|  |  | -          prop: "remarks",
 | 
	
		
			
				|  |  | -          type: "textarea",
 | 
	
		
			
				|  |  | -          minRows: 3,
 | 
	
		
			
				|  |  | -          span: 24,
 | 
	
		
			
				|  |  | -          overHidden: true,
 | 
	
		
			
				|  |  | -          // width: 200
 | 
	
		
			
				|  |  | -        }]
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      parentId: 0,
 | 
	
		
			
				|  |  | -      dataList: [],
 | 
	
		
			
				|  |  | -        // 请求数据
 | 
	
		
			
				|  |  | -      page: {
 | 
	
		
			
				|  |  | -        pageSize: 20,
 | 
	
		
			
				|  |  | -        currentPage: 1,
 | 
	
		
			
				|  |  | -        total: 0,
 | 
	
		
			
				|  |  | -        pageSizes: [10, 20, 30, 40, 50, 100, 200, 300, 400, 500]
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      treeDeptId: "",
 | 
	
		
			
				|  |  | -      flag:false,
 | 
	
		
			
				|  |  | -    };
 | 
	
		
			
				|  |  | -  },
 | 
	
		
			
				|  |  | -  async created() {
 | 
	
		
			
				|  |  | -    this.option = await this.getColumnData(this.getColumnName(287), this.optionBack);
 | 
	
		
			
				|  |  | -    let i = 0;
 | 
	
		
			
				|  |  | -    this.option.column.forEach(item => {
 | 
	
		
			
				|  |  | -      if (item.search) i++
 | 
	
		
			
				|  |  | -    })
 | 
	
		
			
				|  |  | -    if (i % 3 !== 0) {
 | 
	
		
			
				|  |  | -      const num = 3 - Number(i % 3)
 | 
	
		
			
				|  |  | -      this.option.searchMenuSpan = num * 8;
 | 
	
		
			
				|  |  | -      this.option.searchMenuPosition = "right";
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    setTimeout(()=>{
 | 
	
		
			
				|  |  | -      this.flag = true
 | 
	
		
			
				|  |  | -    },200)
 | 
	
		
			
				|  |  | -  },
 | 
	
		
			
				|  |  | -  methods: {
 | 
	
		
			
				|  |  | -    //删除列表后面的删除按钮触发触发(row, index, done)
 | 
	
		
			
				|  |  | -    rowDel(row, index, done) {
 | 
	
		
			
				|  |  | -      this.$confirm("确定将选择数据删除?", {
 | 
	
		
			
				|  |  | -        confirmButtonText: "确定",
 | 
	
		
			
				|  |  | -        cancelButtonText: "取消",
 | 
	
		
			
				|  |  | -        type: "warning"
 | 
	
		
			
				|  |  | -      })
 | 
	
		
			
				|  |  | -        .then(() => {
 | 
	
		
			
				|  |  | -          // return deleteDetails(row.id);
 | 
	
		
			
				|  |  | -          //   删除接口
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | -        .then(() => {
 | 
	
		
			
				|  |  | -          this.$message({
 | 
	
		
			
				|  |  | -            type: "success",
 | 
	
		
			
				|  |  | -            message: "操作成功!"
 | 
	
		
			
				|  |  | -          });
 | 
	
		
			
				|  |  | -          // 数据回调进行刷新
 | 
	
		
			
				|  |  | -          done(row);
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    //修改时的修改按钮点击触发
 | 
	
		
			
				|  |  | -    rowUpdate(row, index, done, loading) {
 | 
	
		
			
				|  |  | -        console.log('修改触发')
 | 
	
		
			
				|  |  | -      // typeSave(row).then(
 | 
	
		
			
				|  |  | -      //   () => {
 | 
	
		
			
				|  |  | -      //     this.$message({
 | 
	
		
			
				|  |  | -      //       type: "success",
 | 
	
		
			
				|  |  | -      //       message: "操作成功!"
 | 
	
		
			
				|  |  | -      //     });
 | 
	
		
			
				|  |  | -      //     // 数据回调进行刷新
 | 
	
		
			
				|  |  | -      //     done(row);
 | 
	
		
			
				|  |  | -      //   },
 | 
	
		
			
				|  |  | -      //   error => {
 | 
	
		
			
				|  |  | -      //     window.console.log(error);
 | 
	
		
			
				|  |  | -      //     loading();
 | 
	
		
			
				|  |  | -      //   }
 | 
	
		
			
				|  |  | -      // );
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    //新增修改时保存触发
 | 
	
		
			
				|  |  | -    rowSave(row, done, loading) {
 | 
	
		
			
				|  |  | -      console.log(row,'修改保存');
 | 
	
		
			
				|  |  | -      // typeSave(row).then(res => {
 | 
	
		
			
				|  |  | -      //     console.log(res);
 | 
	
		
			
				|  |  | -      //     this.page.currentPage = 1;
 | 
	
		
			
				|  |  | -      //     this.onLoad(this.page, {});
 | 
	
		
			
				|  |  | -      //     done();
 | 
	
		
			
				|  |  | -      //   },
 | 
	
		
			
				|  |  | -      //   error => {
 | 
	
		
			
				|  |  | -      //     window.console.log(error);
 | 
	
		
			
				|  |  | -      //     loading();
 | 
	
		
			
				|  |  | -      //   }
 | 
	
		
			
				|  |  | -      // );
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    //新增按钮触发
 | 
	
		
			
				|  |  | -    handleAdd(row) {
 | 
	
		
			
				|  |  | -      // this.parentId = row.id;
 | 
	
		
			
				|  |  | -      // const column = this.findObject(this.option.column, "parentId");
 | 
	
		
			
				|  |  | -      // column.value = row.id;
 | 
	
		
			
				|  |  | -      // column.addDisabled = true;
 | 
	
		
			
				|  |  | -        getUser(JSON.parse(localStorage.getItem('saber-userInfo')).content.user_id).then(res=>{
 | 
	
		
			
				|  |  | -            this.form.salesCompanyName = res.data.data.deptName
 | 
	
		
			
				|  |  | -            this.form.salesCompanyId = res.data.data.deptId
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | -      this.$refs.crud.rowAdd();
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    //新增子项和新增触发查询所有
 | 
	
		
			
				|  |  | -    beforeOpen(done, type) {
 | 
	
		
			
				|  |  | -      if (["add", "edit"].includes(type)) {
 | 
	
		
			
				|  |  | -        this.option.column.forEach(e => {
 | 
	
		
			
				|  |  | -          if (e.prop == "storageTypeId") {
 | 
	
		
			
				|  |  | -            this.$set(this.option.column, 3, { ...e, value: this.treeDeptId });
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -        console.log('查询明细')
 | 
	
		
			
				|  |  | -      // if (["edit", "view"].includes(type)) {
 | 
	
		
			
				|  |  | -      //   detail(this.form.id).then(res => {
 | 
	
		
			
				|  |  | -      //     this.form = res.data.data;
 | 
	
		
			
				|  |  | -      //   });
 | 
	
		
			
				|  |  | -      // }
 | 
	
		
			
				|  |  | -      done();
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    //点击新增时触发
 | 
	
		
			
				|  |  | -    beforeClose(done) {
 | 
	
		
			
				|  |  | -      this.parentId = "";
 | 
	
		
			
				|  |  | -      // const column = this.findObject(this.option.column, "parentId");
 | 
	
		
			
				|  |  | -      // column.value = "";
 | 
	
		
			
				|  |  | -      // column.addDisabled = false;
 | 
	
		
			
				|  |  | -      done();
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    //点击搜索按钮触发
 | 
	
		
			
				|  |  | -    searchChange(params, done) {
 | 
	
		
			
				|  |  | -      this.page.currentPage = 1;
 | 
	
		
			
				|  |  | -      this.onLoad(this.page, params);
 | 
	
		
			
				|  |  | -      done();
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    searchReset() {
 | 
	
		
			
				|  |  | -      this.query = {};
 | 
	
		
			
				|  |  | -      this.treeDeptId = "";
 | 
	
		
			
				|  |  | -      this.onLoad(this.page);
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    onLoad(page, params = { parentId: 0 }) {
 | 
	
		
			
				|  |  | -      let queryParams = Object.assign({}, params, {
 | 
	
		
			
				|  |  | -        size: page.pageSize,
 | 
	
		
			
				|  |  | -        current: page.currentPage,
 | 
	
		
			
				|  |  | -        parentId: 0,
 | 
	
		
			
				|  |  | -        storageTypeId: this.treeDeptId
 | 
	
		
			
				|  |  | -      });
 | 
	
		
			
				|  |  | -      // customerList(queryParams).then(res => {
 | 
	
		
			
				|  |  | -      //   this.dataList = res.data.data.records;
 | 
	
		
			
				|  |  | -      //   this.page.total = res.data.data.total;
 | 
	
		
			
				|  |  | -      // });
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    searchCriteriaSwitch(type) {
 | 
	
		
			
				|  |  | -      this.$refs.crud.doLayout();
 | 
	
		
			
				|  |  | -      this.$refs.crud.getTableHeight();
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    //树桩列点击展开触发
 | 
	
		
			
				|  |  | -    treeLoad(tree, treeNode, resolve) {
 | 
	
		
			
				|  |  | -      const parentId = tree.id;
 | 
	
		
			
				|  |  | -      // customerList({ parentId: parentId }).then(res => {
 | 
	
		
			
				|  |  | -      //   resolve(res.data.data.records);
 | 
	
		
			
				|  |  | -      // });
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    //自定义列保存
 | 
	
		
			
				|  |  | -    async saveColumnTwo(ref, option, optionBack, code) {
 | 
	
		
			
				|  |  | -      /**
 | 
	
		
			
				|  |  | -       * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
 | 
	
		
			
				|  |  | -       * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
 | 
	
		
			
				|  |  | -       * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
 | 
	
		
			
				|  |  | -       */
 | 
	
		
			
				|  |  | -      const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
 | 
	
		
			
				|  |  | -      if (inSave) {
 | 
	
		
			
				|  |  | -        this.$message.success("保存成功");
 | 
	
		
			
				|  |  | -        //关闭窗口
 | 
	
		
			
				|  |  | -        this.$refs[ref].$refs.dialogColumn.columnBox = false;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    //自定义列重置
 | 
	
		
			
				|  |  | -    async resetColumnTwo(ref, option, optionBack, code) {
 | 
	
		
			
				|  |  | -      this[option] = this[optionBack];
 | 
	
		
			
				|  |  | -      const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
 | 
	
		
			
				|  |  | -      if (inSave) {
 | 
	
		
			
				|  |  | -        this.$message.success("重置成功");
 | 
	
		
			
				|  |  | -        this.$refs[ref].$refs.dialogColumn.columnBox = false;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <style scoped>
 | 
	
		
			
				|  |  | -.page-crad ::v-deep .basic-container__card {
 | 
	
		
			
				|  |  | -  height: 94.8vh;
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  |  </style>
 |