You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3234 lines
117 KiB
3234 lines
117 KiB
<template>
|
|
<div class="mod-config">
|
|
<!-- 查询条件 -->
|
|
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()">
|
|
<el-form-item :label="'客户代码'">
|
|
<el-input v-model="searchData.customerNo" clearable style="width: 120px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'客户名称'">
|
|
<el-input v-model="searchData.customerDesc" clearable style="width: 120px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'客户状态'">
|
|
<el-select v-model="searchData.customerStatus" style="width: 120px">
|
|
<el-option label="全部" value=""></el-option>
|
|
<el-option label="非客户" value="非客户"></el-option>
|
|
<el-option label="潜在客户" value="潜在客户"></el-option>
|
|
<el-option label="目标客户" value="目标客户"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item :label="' '">
|
|
<el-button @click="getDataList()">查询</el-button>
|
|
<el-button type="primary" @click="addModal()">新增</el-button>
|
|
<el-button type="primary" @click="delModal()">删除</el-button>
|
|
<download-excel
|
|
:fields="fields()"
|
|
:data="exportData"
|
|
type="xls"
|
|
:name="exportName"
|
|
:header="exportHeader"
|
|
:footer="exportFooter"
|
|
:fetch="createExportData"
|
|
:before-generate="startDownload"
|
|
:before-finish="finishDownload"
|
|
worksheet="导出信息"
|
|
class="el-button el-button--primary el-button--medium">
|
|
{{ "导出" }}
|
|
</download-excel>
|
|
</el-form-item>
|
|
</el-form>
|
|
<!-- 客户列表 -->
|
|
<el-table
|
|
:height="height"
|
|
:data="dataList"
|
|
border
|
|
ref="customerTable"
|
|
@row-click="customerClickRow"
|
|
@selection-change="selectionCustomer"
|
|
@current-change="changeCurrentRow"
|
|
v-loading="dataListLoading"
|
|
style="width: 100%;">
|
|
<el-table-column
|
|
type="selection"
|
|
header-align="center"
|
|
align="center"
|
|
:selectable="selectFlag"
|
|
width="50">
|
|
</el-table-column>
|
|
<el-table-column
|
|
v-for="(item,index) in columnList" :key="index"
|
|
:sortable="item.columnSortable"
|
|
:prop="item.columnProp"
|
|
:header-align="item.headerAlign"
|
|
:show-overflow-tooltip="item.showOverflowTooltip"
|
|
:align="item.align"
|
|
:fixed="item.fixed === ''?false:item.fixed"
|
|
:min-width="item.columnWidth"
|
|
:label="item.columnLabel">
|
|
<template slot-scope="scope">
|
|
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column
|
|
fixed="right"
|
|
header-align="center"
|
|
align="center"
|
|
width="100"
|
|
label="操作">
|
|
<template slot-scope="scope">
|
|
<a type="text" size="small" @click="updateModal(scope.row)">编辑</a>
|
|
<a type="text" size="small" @click="detailModal(scope.row)">详情</a>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<!-- 分页插件 -->
|
|
<el-pagination style="margin-top: 0px"
|
|
@size-change="sizeChangeHandle"
|
|
@current-change="currentChangeHandle"
|
|
:current-page="pageIndex"
|
|
:page-sizes="[20, 50, 100, 200, 500]"
|
|
:page-size="pageSize"
|
|
:total="totalPage"
|
|
layout="total, sizes, prev, pager, next, jumper">
|
|
</el-pagination>
|
|
|
|
<!-- 客户模态框 -->
|
|
<el-dialog :title="modalData.title" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="500px">
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="客户代码" prop="customerNo" :rules="rules.customerNo">
|
|
<el-input v-model="modalData.customerNo" :disabled="modalDisableFlag" style="width: 222px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="客户名称" prop="customerDesc" :rules="rules.customerDesc">
|
|
<el-input v-model="modalData.customerDesc" :readonly="detailModalFlag" style="width: 222px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="年营业额">
|
|
<el-input v-model="modalData.turnoverOfYear" :readonly="detailModalFlag" style="width: 222px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="年潜在投入">
|
|
<el-input v-model="modalData.potentialRevenueOfYear" :readonly="detailModalFlag" style="width: 222px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="行业" prop="customerIndustry" :rules="rules.customerIndustry">
|
|
<dict-data-select v-if="modalFlag" v-model="modalData.customerIndustry" :disabled="detailModalFlag" style="width: 222px" dict-type="plm_customer_information_customer_industry"></dict-data-select>
|
|
</el-form-item>
|
|
<el-form-item label="币种" prop="customerCurrency" :rules="rules.customerCurrency">
|
|
<dict-data-select v-if="modalFlag" v-model="modalData.customerCurrency" :disabled="detailModalFlag" style="width: 222px" dict-type="plm_customer_information_customer_customer_currency"></dict-data-select>
|
|
</el-form-item>
|
|
</el-form>
|
|
<!-- <el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">-->
|
|
<!-- <el-form-item label="联系人" prop="contactName" :rules="rules.contactName">-->
|
|
<!-- <el-input v-model="modalData.contactName" :readonly="detailModalFlag" style="width: 222px"></el-input>-->
|
|
<!-- </el-form-item>-->
|
|
<!-- <el-form-item label="联系电话" prop="contactPhoneNumber1" :rules="rules.contactPhoneNumber1">-->
|
|
<!-- <el-input v-model="modalData.contactPhoneNumber1" :readonly="detailModalFlag" style="width: 222px"></el-input>-->
|
|
<!-- </el-form-item>-->
|
|
<!-- </el-form>-->
|
|
<!-- <el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">-->
|
|
<!-- <el-form-item label="公司名称">-->
|
|
<!-- <el-input v-model="modalData.companyName" :readonly="detailModalFlag" style="width: 457px"></el-input>-->
|
|
<!-- </el-form-item>-->
|
|
<!-- </el-form>-->
|
|
<!-- <el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">-->
|
|
<!-- <el-form-item label="岗位描述">-->
|
|
<!-- <el-input v-model="modalData.jobDescription" :readonly="detailModalFlag" style="width: 457px"></el-input>-->
|
|
<!-- </el-form-item>-->
|
|
<!-- </el-form>-->
|
|
<!-- <el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">-->
|
|
<!-- <el-form-item label="联系地址">-->
|
|
<!-- <el-input v-model="modalData.addressName" :readonly="detailModalFlag" style="width: 457px"></el-input>-->
|
|
<!-- </el-form-item>-->
|
|
<!-- </el-form>-->
|
|
<!-- <el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">-->
|
|
<!-- <el-form-item label="备注信息">-->
|
|
<!-- <el-input v-model="modalData.remark" :readonly="detailModalFlag" style="width: 457px"></el-input>-->
|
|
<!-- </el-form-item>-->
|
|
<!-- </el-form>-->
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item>
|
|
<span slot="label" @click="getBaseList(1021)"><a herf="#">客户组1</a></span>
|
|
<el-input v-model="modalData.customerGroupId1" style="width: 124px"></el-input>
|
|
<el-input v-model="modalData.customerGroupName1" disabled style="width: 330px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<span slot="label" @click="getBaseList(1022)"><a herf="#">客户组2</a></span>
|
|
<el-input v-model="modalData.customerGroupId2" style="width: 124px"></el-input>
|
|
<el-input v-model="modalData.customerGroupName2" disabled style="width: 330px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="重要程度" prop="importantCustomer" :rules="rules.importantCustomer">
|
|
<dict-data-select v-if="modalFlag" v-model="modalData.importantCustomer" :disabled="detailModalFlag" style="width: 145px" dict-type="plm_customer_information_important_customer">
|
|
</dict-data-select>
|
|
</el-form-item>
|
|
<el-form-item label="客户状态" prop="customerStatus" :rules="rules.customerStatus">
|
|
<el-select v-model="modalData.customerStatus" :disabled="detailModalFlag" style="width: 140px">
|
|
<el-option label="启用" value="Y"></el-option>
|
|
<el-option label="停用" value="N"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="客户类型" prop="customerStatus" :rules="rules.customerType">
|
|
<el-select v-model="modalData.customerType" :disabled="detailModalFlag" style="width: 145px">
|
|
<el-option label="潜在客户" value="潜在客户"></el-option>
|
|
<el-option label="正式客户" value="正式客户"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="客户描述">
|
|
<el-input
|
|
type="textarea"
|
|
v-model="modalData.customerDescription"
|
|
readonly
|
|
:rows="2"
|
|
resize='none'
|
|
show-word-limit
|
|
:readonly="detailModalFlag"
|
|
style="width: 457px;height: 20px">
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -2px;">-->
|
|
<el-form-item label="客户地址">
|
|
<el-input v-model="modalData.addressName" :readonly="detailModalFlag" style="width: 457px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-footer style="height:40px;margin-top: 20px;text-align:center">
|
|
<el-button v-if="modalData.flag !== '3'" type="primary" @click="saveData()">保存</el-button>
|
|
<el-button type="primary" @click="modalFlag = false">关闭</el-button>
|
|
</el-footer>
|
|
</el-dialog>
|
|
<!-- 客户联系人模态框 -->
|
|
<el-dialog :title="contactModalData.title" :close-on-click-modal="false" v-drag :visible.sync="contactModalFlag" width="500px">
|
|
<el-form :inline="true" label-position="top" :model="contactModalData" :rules="contactRules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="联系人" prop="contactName" :rules="contactRules.contactName">
|
|
<el-input v-model="contactModalData.contactName" style="width: 222px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="座机">
|
|
<el-input v-model="contactModalData.contactLandlineNumber" :readonly="contactDetailModalFlag" style="width: 222px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="contactModalData" :rules="contactRules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="联系电话(1)" prop="contactPhoneNumber1" :rules="contactRules.contactPhoneNumber1">
|
|
<el-input v-model="contactModalData.contactPhoneNumber1" :readonly="contactDetailModalFlag" style="width: 222px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="联系电话(2)">
|
|
<el-input v-model="contactModalData.contactPhoneNumber2" :readonly="contactDetailModalFlag" style="width: 222px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="contactModalData" :rules="contactRules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="联系电话(3)">
|
|
<el-input v-model="contactModalData.contactPhoneNumber3" :readonly="contactDetailModalFlag" style="width: 222px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="公司职务" prop="position" :rules="contactRules.position">
|
|
<el-input v-model="contactModalData.position" :readonly="contactDetailModalFlag" style="width: 222px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="contactModalData" :rules="contactRules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="部门" prop="departmentName">
|
|
<el-input v-model="contactModalData.departmentName" :readonly="contactDetailModalFlag" style="width: 144px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="默认联系人" prop="primaryContact" :rules="contactRules.primaryContact">
|
|
<el-select v-model="contactModalData.primaryContact" :disabled="contactDetailModalFlag" style="width: 143px">
|
|
<el-option label="是" value="Y"></el-option>
|
|
<el-option label="否" value="N"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="状态" prop="contactStatus" :rules="contactRules.contactStatus">
|
|
<el-select v-model="contactModalData.contactStatus" :disabled="contactDetailModalFlag" style="width: 144px">
|
|
<el-option label="启用" value="启用"></el-option>
|
|
<el-option label="停用" value="停用"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="contactModalData" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="邮箱">
|
|
<el-input v-model="contactModalData.mailbox" :readonly="contactDetailModalFlag" style="width: 457px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="contactModalData" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="备注信息">
|
|
<el-input
|
|
type="textarea"
|
|
v-model="contactModalData.remark"
|
|
readonly
|
|
:rows="2"
|
|
resize='none'
|
|
show-word-limit
|
|
:readonly="contactDetailModalFlag"
|
|
style="width: 457px;height: 20px">
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<!-- <el-form :inline="true" label-position="top" :model="contactModalData" style="margin-left: 7px;margin-top: -5px;">-->
|
|
<!-- <el-form-item label="备注信息">-->
|
|
<!-- <el-input v-model="contactModalData.remark" :readonly="contactDetailModalFlag" style="width: 457px"></el-input>-->
|
|
<!-- </el-form-item>-->
|
|
<!-- </el-form>-->
|
|
<el-footer style="height:40px;margin-top: 34px;text-align:center">
|
|
<el-button v-if="contactModalData.flag !== '3'" type="primary" @click="saveContactData()">保存</el-button>
|
|
<el-button type="primary" @click="contactModalFlag = false">关闭</el-button>
|
|
</el-footer>
|
|
</el-dialog>
|
|
<!-- 客户联系地址模态框 -->
|
|
<el-dialog :title="addressModalData.title" :close-on-click-modal="false" v-drag :visible.sync="addressModalFlag" width="500px">
|
|
<el-form :inline="true" label-position="top" :model="addressModalData" :rules="addressRules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="地址类型" prop="addressType" :rules="addressRules.addressType">
|
|
<dict-data-select v-if="addressModalFlag" v-model="addressModalData.addressType" :disabled="addressDetailModalFlag" style="width: 170px" dict-type="plm_customer_address_address_type">
|
|
</dict-data-select>
|
|
</el-form-item>
|
|
<el-form-item label="公司名称">
|
|
<el-input v-model="addressModalData.companyName" :readonly="addressDetailModalFlag" style="width: 273px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="addressModalData" :rules="addressRules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="地址" prop="addressName" :rules="addressRules.addressName">
|
|
<el-input v-model="addressModalData.addressName" style="width: 457px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="addressModalData" :rules="addressRules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="默认地址" prop="defaultAddress" :rules="addressRules.defaultAddress">
|
|
<el-input v-model="addressModalData.defaultAddress" :disabled="addressDetailModalFlag" style="width: 314px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="状态" prop="addressStatus" :rules="addressRules.addressStatus">
|
|
<el-select v-model="addressModalData.addressStatus" :disabled="addressDetailModalFlag" style="width: 130px">
|
|
<el-option label="启用" value="启用"></el-option>
|
|
<el-option label="停用" value="停用"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="addressModalData" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="备注信息">
|
|
<el-input type="textarea" v-model="addressModalData.remark" :rows="3" :readonly="addressDetailModalFlag" resize='none' show-word-limit style="width: 457px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-footer style="height:42px;margin-top: 53px;text-align:center">
|
|
<el-button v-if="addressModalData.flag !== '3'" type="primary" @click="saveAddressData()">保存</el-button>
|
|
<el-button type="primary" @click="addressModalFlag = false">关闭</el-button>
|
|
</el-footer>
|
|
</el-dialog>
|
|
<!-- 客户项目信息模态框 -->
|
|
<el-dialog :title="projectInformationModalData.title" :close-on-click-modal="false" v-drag :visible.sync="projectInformationModalFlag" width="600px">
|
|
<el-form :inline="true" label-position="top" :model="projectInformationModalData" :rules="projectInformationRules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item :label="'项目层级'">
|
|
<el-select v-model="projectInformationModalData.projectLevel" :readonly="projectInformationDetailModalFlag" style="width: 130px">
|
|
<el-option label="一级" value=1></el-option>
|
|
<el-option label="二级" value=2></el-option>
|
|
<el-option label="三级" value=3></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item :label="'项目号'">
|
|
<el-input v-model="projectInformationModalData.projectId" :readonly="projectInformationDetailModalFlag" style="width: 130px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item prop="projectType" :rules="projectInformationRules.projectType">
|
|
<span v-if="projectInformationModalData.flag === '3'" slot="label"><a herf="#">项目类型</a></span>
|
|
<span v-if="projectInformationModalData.flag !== '3'" slot="label" @click="getBaseList(1010,1)"><a herf="#">项目类型</a></span>
|
|
<el-input v-if="projectInformationModalData.flag === '3'" v-model="projectInformationModalData.projectType" readonly style="width: 130px"></el-input>
|
|
<el-input v-if="projectInformationModalData.flag !== '3'" v-model="projectInformationModalData.projectType" @focus="getBaseList(1010,1)" readonly style="width: 130px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'所属客户'">
|
|
<el-input v-model="projectInformationModalData.customerName" disabled style="width: 130px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="projectInformationModalData" :rules="projectInformationRules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item :label="'项目名称'" prop="projectName" :rules="projectInformationRules.projectName">
|
|
<el-input v-model="projectInformationModalData.projectName" :readonly="projectInformationDetailModalFlag" style="width: 562px" ></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="projectInformationModalData" :rules="projectInformationRules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item :label="'项目描述'">
|
|
<el-input v-model="projectInformationModalData.projectDesc" :readonly="projectInformationDetailModalFlag" style="width: 562px" ></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="projectInformationModalData" :rules="projectInformationRules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item prop="projectSourceDesc" :rules="projectInformationRules.projectSourceDesc">
|
|
<span slot="label" v-if="projectInformationModalData.flag === '3'"><a herf="#">项目来源</a></span>
|
|
<span slot="label" v-if="projectInformationModalData.flag !== '3'" @click="getBaseList(1011,1)"><a herf="#">项目来源</a></span>
|
|
<el-input v-if="projectInformationModalData.flag === '3'" v-model="projectInformationModalData.projectSourceDesc" readonly style="width: 130px"></el-input>
|
|
<el-input v-if="projectInformationModalData.flag !== '3'" v-model="projectInformationModalData.projectSourceDesc" readonly @focus="getBaseList(1011,1)" style="width: 130px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item prop="priorityDesc" :rules="projectInformationRules.priorityDesc">
|
|
<span slot="label" v-if="projectInformationModalData.flag === '3'"><a herf="#">优先级</a></span>
|
|
<span slot="label" v-if="projectInformationModalData.flag !== '3'" @click="getBaseList(1012,1)"><a herf="#">优先级</a></span>
|
|
<el-input v-if="projectInformationModalData.flag === '3'" v-model="projectInformationModalData.priorityDesc" readonly style="width: 130px"></el-input>
|
|
<el-input v-if="projectInformationModalData.flag !== '3'" v-model="projectInformationModalData.priorityDesc" readonly @focus="getBaseList(1012,1)" style="width: 130px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'要求日期'" prop="needDate" :rules="projectInformationRules.needDate">
|
|
<el-date-picker
|
|
style="width: 130px"
|
|
v-model="projectInformationModalData.needDate"
|
|
:readonly="projectInformationDetailModalFlag"
|
|
type="date"
|
|
value-format="yyyy-MM-dd"
|
|
placeholder="选择日期">
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="projectInformationModalData" :rules="projectInformationRules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item prop="projectManagerName" :rules="projectInformationRules.projectManagerName">
|
|
<span slot="label" v-if="projectInformationModalData.flag === '3'"><a herf="#">项目经理</a></span>
|
|
<span slot="label" v-if="projectInformationModalData.flag !== '3'" @click="managerChooseModal()"><a herf="#">项目经理</a></span>
|
|
<el-input v-if="projectInformationModalData.flag === '3'" v-model="projectInformationModalData.projectManagerName" readonly style="width: 274px"></el-input>
|
|
<el-input v-if="projectInformationModalData.flag !== '3'" v-model="projectInformationModalData.projectManagerName" readonly style="width: 274px" @focus="managerChooseModal()"></el-input>
|
|
</el-form-item>
|
|
<el-form-item prop="projectOwnerName" :rules="projectInformationRules.projectOwnerName">
|
|
<span slot="label" v-if="projectInformationModalData.flag === '3'"><a herf="#">项目负责人</a></span>
|
|
<span slot="label" v-if="projectInformationModalData.flag !== '3'" @click="ownerChooseModal()"><a herf="#">项目负责人</a></span>
|
|
<el-input v-if="projectInformationModalData.flag === '3'" v-model="projectInformationModalData.projectOwnerName" readonly style="width: 274px"></el-input>
|
|
<el-input v-if="projectInformationModalData.flag !== '3'" v-model="projectInformationModalData.projectOwnerName" readonly @focus="ownerChooseModal()" style="width: 274px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="projectInformationModalData" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item :label="'客户应用/要求'">
|
|
<el-input v-model="projectInformationModalData.customerRemark" :readonly="projectInformationDetailModalFlag" style="width: 562px" ></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="projectInformationModalData" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item :label="'其他要求'">
|
|
<el-input v-model="projectInformationModalData.remark" :readonly="projectInformationDetailModalFlag" style="width: 562px" ></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-form :inline="true" label-position="top" :model="projectInformationModalData" :rules="projectInformationRules" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item prop="userRoleName" :rules="projectInformationRules.userRoleName">
|
|
<span slot="label" v-if="projectInformationModalData.flag === '3'"><a herf="#">项目权限</a></span>
|
|
<span slot="label" v-if="projectInformationModalData.flag !== '3'" @click="userRollModal()"><a herf="#">项目权限</a></span>
|
|
<el-input v-if="projectInformationModalData.flag === '3'" v-model="projectInformationModalData.userRoleName" readonly style="width: 562px"></el-input>
|
|
<el-input v-if="projectInformationModalData.flag !== '3'" v-model="projectInformationModalData.userRoleName" readonly @focus="userRollModal()" style="width: 562px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-footer style="height:40px;margin-top: 10px;text-align:center">
|
|
<el-button v-if="projectInformationModalData.flag !== '3'" type="primary" @click="saveProjectInformationData()">保存</el-button>
|
|
<el-button type="primary" @click="projectInformationModalFlag = false">关闭</el-button>
|
|
</el-footer>
|
|
</el-dialog>
|
|
|
|
<!-- 页签 -->
|
|
<el-tabs v-model="activeTable" style="margin-top: 0px; width: 100%; height: 100%;" type="border-card" @tab-click="tabClick" class="customer-tab">
|
|
<!-- 联系人页签 -->
|
|
<el-tab-pane label="联系人" name="customer_contact">
|
|
<el-form label-position="top" style="margin-top: 5px; margin-left: 0px;">
|
|
<el-form :inline="true" label-position="top" style="margin-top: 5px">
|
|
<el-button type="primary" @click="contactSaveModal()">新增</el-button>
|
|
<el-button type="primary" @click="contactDeleteModal()">删除</el-button>
|
|
</el-form>
|
|
</el-form>
|
|
<el-table
|
|
:data="contactList"
|
|
:height="secondHeight"
|
|
border
|
|
ref="contactTable"
|
|
@row-click="contactClickRow"
|
|
@selection-change="selectionContact"
|
|
v-loading="dataListLoading"
|
|
style="width: 100%; ">
|
|
<el-table-column
|
|
type="selection"
|
|
header-align="center"
|
|
align="center"
|
|
:selectable="selectFlag"
|
|
width="50">
|
|
</el-table-column>
|
|
<el-table-column
|
|
v-for="(item,index) in customerContactArray" :key="index"
|
|
:sortable="item.columnSortable"
|
|
:prop="item.columnProp"
|
|
:header-align="item.headerAlign"
|
|
:show-overflow-tooltip="item.showOverflowTooltip"
|
|
:align="item.align"
|
|
:fixed="item.fixed === '' ? false : item.fixed"
|
|
:min-width="item.columnWidth"
|
|
:label="item.columnLabel">
|
|
<template slot-scope="scope">
|
|
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span>
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column
|
|
fixed="right"
|
|
header-align="center"
|
|
align="center"
|
|
width="100"
|
|
label="操作">
|
|
<template slot-scope="scope">
|
|
<a type="text" size="small" @click="updateContactModal(scope.row)">编辑</a>
|
|
<a type="text" size="small" @click="detailContactModal(scope.row)">详情</a>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-tab-pane>
|
|
<!-- 联系地址页签 -->
|
|
<el-tab-pane label="联系地址" name="customer_address">
|
|
<el-form :inline="true" label-position="top" style="margin-top: 5px">
|
|
<el-button type="primary" @click="addressSaveModal()">新增</el-button>
|
|
<el-button type="primary" @click="addressDeleteModal()">删除</el-button>
|
|
</el-form>
|
|
<el-table
|
|
:data="addressList"
|
|
:height="secondHeight"
|
|
border
|
|
ref="addressTable"
|
|
@row-click="addressClickRow"
|
|
@selection-change="selectionAddress"
|
|
v-loading="dataListLoading"
|
|
style="width: 100%;">
|
|
<el-table-column
|
|
type="selection"
|
|
header-align="center"
|
|
align="center"
|
|
:selectable="selectFlag"
|
|
width="50">
|
|
</el-table-column>
|
|
<el-table-column
|
|
v-for="(item,index) in customerAddressArray" :key="index"
|
|
:sortable="item.columnSortable"
|
|
:prop="item.columnProp"
|
|
:header-align="item.headerAlign"
|
|
:show-overflow-tooltip="item.showOverflowTooltip"
|
|
:align="item.align"
|
|
:fixed="item.fixed === '' ? false : item.fixed"
|
|
:min-width="item.columnWidth"
|
|
:label="item.columnLabel">
|
|
<template slot-scope="scope">
|
|
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span>
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column
|
|
fixed="right"
|
|
header-align="center"
|
|
align="center"
|
|
width="100"
|
|
label="操作">
|
|
<template slot-scope="scope">
|
|
<a type="text" size="small" @click="updateAddressModal(scope.row)">编辑</a>
|
|
<a type="text" size="small" @click="detailAddressModal(scope.row)">详情</a>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-tab-pane>
|
|
<!-- 项目信息页签 -->
|
|
<el-tab-pane label="项目信息" name="project_information">
|
|
<el-form :inline="true" label-position="top" style="margin-top: 5px">
|
|
<el-button type="primary" @click="projectInformationSaveModal()">新增</el-button>
|
|
</el-form>
|
|
<el-table
|
|
:data="projectInformationList"
|
|
:height="secondHeight"
|
|
border
|
|
ref="projectInformationTable"
|
|
@row-click="projectInformationClickRow"
|
|
@selection-change="selectionProjectInformation"
|
|
v-loading="dataListLoading"
|
|
style="width: 100%;">
|
|
<el-table-column
|
|
type="selection"
|
|
header-align="center"
|
|
align="center"
|
|
:selectable="selectFlag"
|
|
width="50">
|
|
</el-table-column>
|
|
<el-table-column
|
|
header-align="center"
|
|
align="center" prop="projectId"
|
|
width="160" label="项目号">
|
|
<template slot-scope="{row,$index}">
|
|
<el-link style="cursor: pointer" @click="clickProjectId(row.projectId)">{{row.projectId}}</el-link>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column
|
|
v-for="(item,index) in projectInformationArray" :key="index"
|
|
:sortable="item.columnSortable"
|
|
:prop="item.columnProp"
|
|
:header-align="item.headerAlign"
|
|
:show-overflow-tooltip="item.showOverflowTooltip"
|
|
:align="item.align"
|
|
:fixed="item.fixed === '' ? false : item.fixed"
|
|
:min-width="item.columnWidth"
|
|
:label="item.columnLabel">
|
|
<template slot-scope="scope">
|
|
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span>
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column
|
|
fixed="right"
|
|
header-align="center"
|
|
align="center"
|
|
width="100"
|
|
label="操作">
|
|
<template slot-scope="scope">
|
|
<a type="text" size="small" @click="updateProjectInformationModal(scope.row)">编辑</a>
|
|
<a type="text" size="small" @click="detailProjectInformationModal(scope.row)">详情</a>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-tab-pane>
|
|
</el-tabs>
|
|
|
|
<!-- 项目经理选择模态框 -->
|
|
<el-dialog
|
|
width="620px"
|
|
title="项目经理"
|
|
:close-on-click-modal="false"
|
|
:visible.sync="managerFlag">
|
|
<el-transfer
|
|
ref="managerTransfer"
|
|
v-model="projectManagerList"
|
|
:props="{key: 'operatorId',label: 'operatorName'}"
|
|
:data="operatorList"
|
|
:titles="['未选择', '已选择']">
|
|
</el-transfer>
|
|
<span slot="footer" class="dialog-footer">
|
|
<div style="margin-top: 5px">
|
|
<el-button type="primary" @click="saveManagerList()">确定</el-button>
|
|
<el-button type="primary" @click="managerFlag=false">取消</el-button>
|
|
</div>
|
|
</span>
|
|
</el-dialog>
|
|
<!-- 项目负责人选择模态框 -->
|
|
<el-dialog
|
|
width="620px"
|
|
title="项目负责人"
|
|
:close-on-click-modal="false"
|
|
:visible.sync="ownerFlag">
|
|
<el-transfer
|
|
ref="ownerTransfer"
|
|
v-model="projectOwnerList"
|
|
:props="{key: 'operatorId',label: 'operatorName'}"
|
|
:data="operatorList"
|
|
:titles="['未选择', '已选择']">
|
|
</el-transfer>
|
|
<span slot="footer" class="dialog-footer">
|
|
<div style="margin-top: 5px">
|
|
<el-button type="primary" @click="saveOwnerList()">确定</el-button>
|
|
<el-button type="primary" @click="ownerFlag=false">取消</el-button>
|
|
</div>
|
|
</span>
|
|
</el-dialog>
|
|
<!-- 项目权限选择模态框 -->
|
|
<el-dialog
|
|
width="530px"
|
|
title="权限"
|
|
:close-on-click-modal="false"
|
|
:visible.sync="userRoleFlag">
|
|
<el-table
|
|
:data="userRoleList"
|
|
border
|
|
:height="300"
|
|
v-loading="false"
|
|
style="width: 100%;">
|
|
<el-table-column
|
|
prop="username"
|
|
header-align="center"
|
|
align="center"
|
|
min-width="35"
|
|
label="账号">
|
|
</el-table-column>
|
|
<el-table-column
|
|
prop="userDisplay"
|
|
header-align="center"
|
|
align="center"
|
|
min-width="35"
|
|
label="姓名">
|
|
</el-table-column>
|
|
<el-table-column
|
|
prop=""
|
|
header-align="center"
|
|
align="center"
|
|
min-width="30"
|
|
label="">
|
|
<template slot-scope="scope">
|
|
<!-- 如果数据为Y,显示勾选框,否则不勾选 -->
|
|
<el-checkbox v-model="scope.row.checkAll" @change="changeAll(scope.row)"></el-checkbox>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column
|
|
prop=""
|
|
header-align="center"
|
|
align="center"
|
|
min-width="30"
|
|
label="查询">
|
|
<template slot-scope="scope">
|
|
<!-- 如果数据为Y,显示勾选框,否则不勾选 -->
|
|
<el-checkbox v-model="scope.row.searchCheck" @change="changeCheck(scope.row,1)"></el-checkbox>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column
|
|
prop=""
|
|
header-align="center"
|
|
align="center"
|
|
min-width="30"
|
|
label="修改">
|
|
<template slot-scope="scope">
|
|
<!-- 如果数据为Y,显示勾选框,否则不勾选 -->
|
|
<el-checkbox v-model="scope.row.updateCheck" @change="changeCheck(scope.row,2)"></el-checkbox>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column
|
|
prop=""
|
|
header-align="center"
|
|
align="center"
|
|
min-width="30"
|
|
label="下载">
|
|
<template slot-scope="scope">
|
|
<!-- 如果数据为Y,显示勾选框,否则不勾选 -->
|
|
<el-checkbox v-model="scope.row.downCheck" @change="changeCheck(scope.row,3)"></el-checkbox>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column
|
|
prop=""
|
|
header-align="center"
|
|
align="center"
|
|
min-width="30"
|
|
label="删除">
|
|
<template slot-scope="scope">
|
|
<!-- 如果数据为Y,显示勾选框,否则不勾选 -->
|
|
<el-checkbox v-model="scope.row.deleteCheck" @change="changeCheck(scope.row,4)"></el-checkbox>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<span slot="footer" class="dialog-footer">
|
|
<div style="margin-top: 5px">
|
|
<el-button type="primary" @click="saveUserList()">确定</el-button>
|
|
<el-button type="primary" @click="userRoleFlag = false">取消</el-button>
|
|
</div>
|
|
</span>
|
|
</el-dialog>
|
|
|
|
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
customerInformationSearch, // 客户信息列表查询
|
|
customerInformationSave, // 客户信息新增
|
|
customerInformationEdit, // 客户信息编辑
|
|
customerInformationDelete, // 客户信息删除
|
|
} from '@/api/customer/customerInformation.js'
|
|
import {
|
|
customerContactSearch, // 客户联系人列表查询
|
|
customerContactSave, // 客户联系人新增
|
|
customerContactEdit, // 客户联系人编辑
|
|
customerContactDelete, // 客户联系人删除
|
|
} from '@/api/customer/customerContact.js'
|
|
import {
|
|
customerAddressSearch, // 客户联系地址列表查询
|
|
customerAddressSave, // 客户联系地址新增
|
|
customerAddressEdit, // 客户联系地址编辑
|
|
customerAddressDelete, // 客户联系地址删除
|
|
} from '@/api/customer/customerAddress.js'
|
|
import {
|
|
projectInformationSearch, // 客户项目信息列表查询
|
|
projectInformationSave, // 客户项目信息新增
|
|
projectInformationEdit, // 客户项目信息编辑
|
|
projectInformationDelete, // 客户项目信息删除
|
|
} from '@/api/customer/projectInformation.js'
|
|
import {
|
|
searchOperatorWithSite,
|
|
searchProjectTeamStr,
|
|
searchUserRoll,
|
|
saveProjectInfo
|
|
} from "@/api/project/project.js"
|
|
import Chooselist from '@/views/modules/common/Chooselist'
|
|
import DictDataSelect from '../sys/dict-data-select.vue'
|
|
import partUploadFile from '../part/part_upload_file.vue'
|
|
export default {
|
|
components: {
|
|
DictDataSelect,
|
|
Chooselist
|
|
},
|
|
watch: {
|
|
searchData: {
|
|
deep: true,
|
|
handler: function (newV, oldV) {
|
|
this.searchData.customerNo = this.searchData.customerNo.toUpperCase()
|
|
}
|
|
},
|
|
modalData: {
|
|
deep: true,
|
|
handler: function (newV, oldV) {
|
|
this.modalData.customerNo = this.modalData.customerNo.toUpperCase()
|
|
}
|
|
}
|
|
},
|
|
data () {
|
|
return {
|
|
components: {
|
|
DictDataSelect,
|
|
Chooselist
|
|
},
|
|
// 导出
|
|
exportData: [],
|
|
exportName: '设备分类' + this.dayjs().format('YYYYMMDDHHmmss'),
|
|
exportHeader: ['设备分类'],
|
|
exportFooter: [],
|
|
resultList: [],
|
|
// ======== 行高 ========
|
|
height: 200,
|
|
secondHeight: 200,
|
|
// ======== 分页 ========
|
|
pageIndex: 1,
|
|
pageSize: 50,
|
|
totalPage: 0,
|
|
// 条件查询
|
|
searchData: {
|
|
site: this.$store.state.user.site,
|
|
customerNo: '',
|
|
customerDesc: '',
|
|
customerStatus: '',
|
|
active: 'Y',
|
|
page: 1,
|
|
limit: 10
|
|
},
|
|
// 其它
|
|
dataListLoading: false,
|
|
// 初始页签
|
|
activeTable: 'customer_contact',
|
|
// ======== 数据对象 ========
|
|
modalData: {
|
|
flag: '',
|
|
title: '',
|
|
site: this.$store.state.user.site,
|
|
customerNo: '',
|
|
customerDesc: '',
|
|
customerDescription: '',
|
|
customerIndustry: '',
|
|
customerCurrency: '',
|
|
turnoverOfYear: '',
|
|
potentialRevenueOfYear: '',
|
|
importantCustomer: '',
|
|
customerType: '',
|
|
customerStatus: '',
|
|
companyName: '',
|
|
jobDescription: '',
|
|
remark: '',
|
|
contactName: '',
|
|
contactPhoneNumber1: '',
|
|
createDate: '',
|
|
createBy: '',
|
|
updateDate: '',
|
|
updateBy: '',
|
|
primaryContact: '',
|
|
contactStatus: '',
|
|
addressName: '',
|
|
customerAddress:'',
|
|
customerGroupId1: '',
|
|
customerGroupId2: '',
|
|
customerGroupName1: '',
|
|
customerGroupName2: '',
|
|
},
|
|
contactModalData: {
|
|
flag: '',
|
|
title: '',
|
|
site: this.$store.state.user.site,
|
|
customerNo: '',
|
|
customerDesc: '',
|
|
contactId: '',
|
|
contactName: '',
|
|
contactLandlineNumber: '',
|
|
contactPhoneNumber1: '',
|
|
contactPhoneNumber2: '',
|
|
contactPhoneNumber3: '',
|
|
position: '',
|
|
departmentName:'',
|
|
mailbox: '',
|
|
primaryContact: '',
|
|
contactStatus: '',
|
|
remark: '',
|
|
createDate: '',
|
|
createBy: '',
|
|
updateDate: '',
|
|
updateBy: ''
|
|
},
|
|
addressModalData: {
|
|
flag: '',
|
|
title: '',
|
|
site: this.$store.state.user.site,
|
|
customerNo: '',
|
|
customerDesc: '',
|
|
addressId: '',
|
|
addressName: '',
|
|
companyName: '',
|
|
defaultAddress: '',
|
|
addressStatus: '',
|
|
addressType: '',
|
|
remark: '',
|
|
createDate: '',
|
|
createBy: '',
|
|
updateDate: '',
|
|
updateBy: ''
|
|
},
|
|
projectInformationModalData: {
|
|
flag: '',
|
|
title: '',
|
|
site: this.$store.state.user.site,
|
|
customerNo: '',
|
|
customerDesc: '',
|
|
addressId: '',
|
|
addressName: '',
|
|
companyName: '',
|
|
defaultAddress: '',
|
|
addressStatus: '',
|
|
addressType: '',
|
|
remark: '',
|
|
createDate: '',
|
|
createBy: '',
|
|
updateDate: '',
|
|
updateBy: '',
|
|
projectManagerList: []
|
|
},
|
|
// ======== 数据列表 ========
|
|
dataList: [],
|
|
contactList: [],
|
|
addressList: [],
|
|
projectInformationList: [],
|
|
// ======== 列表表头 ========
|
|
columnList: [
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table1CustomerNo',
|
|
tableId: '101001Table1',
|
|
tableName: '客户信息表',
|
|
columnProp: 'customerNo',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '客户代码',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 120
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table1CustomerDesc',
|
|
tableId: '101001Table1',
|
|
tableName: '客户信息表',
|
|
columnProp: 'customerDesc',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '客户名称',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table1CustomerGroupName1',
|
|
tableId: '101001Table1',
|
|
tableName: '客户信息表',
|
|
columnProp: 'customerGroupName1',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '客户组1',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table1CustomerGroupName2',
|
|
tableId: '101001Table1',
|
|
tableName: '客户信息表',
|
|
columnProp: 'customerGroupName2',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '客户组1',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table1CustomerCurrency',
|
|
tableId: '101001Table1',
|
|
tableName: '客户信息表',
|
|
columnProp: 'customerCurrency',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '客户币种',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table1TurnoverOfYear',
|
|
tableId: '101001Table1',
|
|
tableName: '客户信息表',
|
|
columnProp: 'turnoverOfYear',
|
|
headerAlign: 'center',
|
|
align: 'right',
|
|
columnLabel: '年营业额',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table1PotentialRevenueOfYear',
|
|
tableId: '101001Table1',
|
|
tableName: '客户信息表',
|
|
columnProp: 'potentialRevenueOfYear',
|
|
headerAlign: 'center',
|
|
align: 'right',
|
|
columnLabel: '年潜在投入',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table1ImportantCustomer',
|
|
tableId: '101001Table1',
|
|
tableName: '客户信息表',
|
|
columnProp: 'importantCustomer',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '重要程度',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table1CustomerStatus',
|
|
tableId: '101001Table1',
|
|
tableName: '客户信息表',
|
|
columnProp: 'customerStatus',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '客户状态',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table1CustomerType',
|
|
tableId: '101001Table1',
|
|
tableName: '客户信息表',
|
|
columnProp: 'customerType',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '客户类型',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table1CreateDate',
|
|
tableId: '101001Table1',
|
|
tableName: '客户信息表',
|
|
columnProp: 'createDate',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '创建时间',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table1CreateBy',
|
|
tableId: '101001Table1',
|
|
tableName: '客户信息表',
|
|
columnProp: 'createBy',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '创建人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table1UpdateDate',
|
|
tableId: '101001Table1',
|
|
tableName: '客户信息表',
|
|
columnProp: 'updateDate',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '更新时间',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table1UpdateBy',
|
|
tableId: '101001Table1',
|
|
tableName: '客户信息表',
|
|
columnProp: 'updateBy',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '更新人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
}
|
|
],
|
|
customerContactArray: [
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table2ContactName',
|
|
tableId: '101001Table2',
|
|
tableName: '客户联系人表',
|
|
columnProp: 'contactName',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '联系人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 120
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table2ContactPhoneNumber1',
|
|
tableId: '101001Table2',
|
|
tableName: '客户联系人表',
|
|
columnProp: 'contactPhoneNumber1',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '联系电话',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table2ContactLandlineNumber',
|
|
tableId: '101001Table2',
|
|
tableName: '客户联系人表',
|
|
columnProp: 'contactLandlineNumber',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '座机',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table2Position',
|
|
tableId: '101001Table2',
|
|
tableName: '客户联系人表',
|
|
columnProp: 'position',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '公司职务',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table2DepartmentName',
|
|
tableId: '101001Table2',
|
|
tableName: '客户联系人表',
|
|
columnProp: 'departmentName',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '部门',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table2Mailbox',
|
|
tableId: '101001Table2',
|
|
tableName: '客户联系人表',
|
|
columnProp: 'mailbox',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '邮箱',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table2PrimaryContact',
|
|
tableId: '101001Table2',
|
|
tableName: '客户联系人表',
|
|
columnProp: 'primaryContact',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '默认联系人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table2ContactStatus',
|
|
tableId: '101001Table2',
|
|
tableName: '客户联系人表',
|
|
columnProp: 'contactStatus',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '状态',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table2CreateDate',
|
|
tableId: '101001Table2',
|
|
tableName: '客户联系人表',
|
|
columnProp: 'createDate',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '创建时间',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table2CreateBy',
|
|
tableId: '101001Table2',
|
|
tableName: '客户联系人表',
|
|
columnProp: 'createBy',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '创建人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table2UpdateDate',
|
|
tableId: '101001Table2',
|
|
tableName: '客户联系人表',
|
|
columnProp: 'updateDate',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '更新时间',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table2UpdateBy',
|
|
tableId: '101001Table2',
|
|
tableName: '客户联系人表',
|
|
columnProp: 'updateBy',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '更新人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
}
|
|
],
|
|
customerAddressArray: [
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table3AddressType',
|
|
tableId: '101001Table3',
|
|
tableName: '客户联系地址表',
|
|
columnProp: 'addressType',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '地址类型',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table3CompanyName',
|
|
tableId: '101001Table3',
|
|
tableName: '客户联系地址表',
|
|
columnProp: 'companyName',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '公司名称',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table3AddressName',
|
|
tableId: '101001Table3',
|
|
tableName: '客户联系地址表',
|
|
columnProp: 'addressName',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '地址',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table3DefaultAddress',
|
|
tableId: '101001Table3',
|
|
tableName: '客户联系地址表',
|
|
columnProp: 'defaultAddress',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '默认地址',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table3AddressStatus',
|
|
tableId: '101001Table3',
|
|
tableName: '客户联系地址表',
|
|
columnProp: 'addressStatus',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '状态',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table3CreateDate',
|
|
tableId: '101001Table3',
|
|
tableName: '客户联系地址表',
|
|
columnProp: 'createDate',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '创建时间',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table3CreateBy',
|
|
tableId: '101001Table3',
|
|
tableName: '客户联系地址表',
|
|
columnProp: 'createBy',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '创建人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table3UpdateDate',
|
|
tableId: '101001Table3',
|
|
tableName: '客户联系地址表',
|
|
columnProp: 'updateDate',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '更新时间',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table3UpdateBy',
|
|
tableId: '101001Table3',
|
|
tableName: '客户联系地址表',
|
|
columnProp: 'updateBy',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '更新人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
}
|
|
],
|
|
projectInformationArray: [
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table4ProjectName',
|
|
tableId: '101001Table4',
|
|
tableName: '客户项目信息表',
|
|
columnProp: 'projectName',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '项目名称',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table4ProjectType',
|
|
tableId: '101001Table4',
|
|
tableName: '客户项目信息表',
|
|
columnProp: 'projectType',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '项目类型',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table4ProjectDesc',
|
|
tableId: '101001Table4',
|
|
tableName: '客户项目信息表',
|
|
columnProp: 'projectDesc',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '项目描述',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table4Status',
|
|
tableId: '101001Table4',
|
|
tableName: '客户项目信息表',
|
|
columnProp: 'status',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '项目状态',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table4ProjectOwnerName',
|
|
tableId: '101001Table4',
|
|
tableName: '客户项目信息表',
|
|
columnProp: 'projectOwnerName',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '项目负责人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table4CreateDate',
|
|
tableId: '101001Table4',
|
|
tableName: '客户项目信息表',
|
|
columnProp: 'createDate',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '创建时间',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table4CreateBy',
|
|
tableId: '101001Table4',
|
|
tableName: '客户项目信息表',
|
|
columnProp: 'createBy',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '创建人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table4UpdateDate',
|
|
tableId: '101001Table4',
|
|
tableName: '客户项目信息表',
|
|
columnProp: 'updateDate',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '更新时间',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 160
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table4UpdateBy',
|
|
tableId: '101001Table4',
|
|
tableName: '客户项目信息表',
|
|
columnProp: 'updateBy',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '更新人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
}
|
|
],
|
|
// ======== 必填规则 ========
|
|
rules: {
|
|
customerNo: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
customerDesc: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
customerIndustry: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
customerCurrency: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
contactName: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
contactPhoneNumber1: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
importantCustomer: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
customerStatus: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
customerType: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
},
|
|
contactRules: {
|
|
contactName: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
position: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
primaryContact: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
contactStatus: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
contactPhoneNumber1: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
]
|
|
},
|
|
addressRules: {
|
|
addressName: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
defaultAddress: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
addressStatus: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
addressType: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
]
|
|
},
|
|
projectInformationRules: {
|
|
projectType: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
projectName: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
projectSourceDesc: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
priorityDesc: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
needDate: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
projectManagerName: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
projectOwnerName: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
],
|
|
userRoleName: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: 'change'
|
|
}
|
|
]
|
|
},
|
|
// ======== 复选数据集 ========
|
|
customerSelections: [],
|
|
contactSelections: [],
|
|
addressSelections: [],
|
|
projectInformationSelections: [],
|
|
// ======== 选中的当前行数据 ========
|
|
customerCurrentRow: {},
|
|
contactCurrentRow:{},
|
|
addressCurrentRow:{},
|
|
projectInformationCurrentRow:{},
|
|
// ======== 模态框开关控制 ========
|
|
modalFlag: false,
|
|
modalDisableFlag: false,
|
|
detailModalFlag: false,
|
|
contactModalFlag: false,
|
|
contactDetailModalFlag: false,
|
|
addressModalFlag: false,
|
|
addressDetailModalFlag: false,
|
|
projectInformationModalFlag: false,
|
|
projectInformationDetailModalFlag: false,
|
|
// ======== 客户项目相关 ========
|
|
operatorList:[],
|
|
projectManagerList:[],
|
|
projectOwnerList: [],
|
|
userRoleList: [],
|
|
managerFlag: false,
|
|
ownerFlag:false,
|
|
userRoleFlag:false,
|
|
}
|
|
},
|
|
mounted () {
|
|
this.$nextTick(() => {
|
|
this.height = window.innerHeight / 2 - 30;
|
|
/*第二个表格高度的动态调整*/
|
|
this.secondHeight = window.innerHeight / 2 - 206;
|
|
})
|
|
},
|
|
created () {
|
|
this.getDataList()
|
|
},
|
|
methods: {
|
|
// ======== 分页相关方法 ========
|
|
/**
|
|
* 每页数
|
|
* @param val
|
|
*/
|
|
sizeChangeHandle (val) {
|
|
this.pageSize = val
|
|
this.pageIndex = 1
|
|
this.getDataList()
|
|
},
|
|
/**
|
|
* 当前页
|
|
* @param val
|
|
*/
|
|
currentChangeHandle (val) {
|
|
this.pageIndex = val
|
|
this.getDataList()
|
|
},
|
|
|
|
// ======== 列表选择相关方法 ========
|
|
selectFlag () {
|
|
return true;
|
|
},
|
|
|
|
// ======== 页签切换相关方法 ========
|
|
/**
|
|
* 列表表格选择替换
|
|
* @param tab
|
|
* @param event
|
|
*/
|
|
tabClick (tab, event) {
|
|
// 刷新列表数据
|
|
this.refreshCurrentTabTable()
|
|
},
|
|
/**
|
|
* 当前值发生变化的时候修改
|
|
* @param row
|
|
* @param oldRow
|
|
*/
|
|
changeCurrentRow (row, oldRow) {
|
|
// 判断是否是获取焦点的事件
|
|
if(row){
|
|
this.customerCurrentRow = JSON.parse(JSON.stringify(row));
|
|
//刷新当前页表
|
|
this.refreshCurrentTabTable();
|
|
}
|
|
},
|
|
/**
|
|
* 刷新页签的table数据
|
|
*/
|
|
refreshCurrentTabTable () {
|
|
if (this.activeTable === 'customer_contact') {
|
|
this.getCustomerContactList();
|
|
} else if (this.activeTable === 'customer_address') {
|
|
this.getCustomerAddressList();
|
|
} else if (this.activeTable === 'project_information') {
|
|
this.getProjectInformationList();
|
|
}
|
|
},
|
|
|
|
// ======== 列表数据刷新方法 ========
|
|
/**
|
|
* 获取数据列表
|
|
*/
|
|
getDataList () {
|
|
this.searchData.limit = this.pageSize
|
|
this.searchData.page = this.pageIndex
|
|
customerInformationSearch(this.searchData).then(({data}) => {
|
|
if (data.code === 0) {
|
|
this.dataList = data.page.list
|
|
this.pageIndex = data.page.currPage
|
|
this.pageSize = data.page.pageSize
|
|
this.totalPage = data.page.totalCount
|
|
//判断是否全部存在数据
|
|
if(this.totalPage > 0){
|
|
//设置选中行
|
|
this.$refs.customerTable.setCurrentRow(this.dataList[0]);
|
|
this.refreshCurrentTabTable();//加载当前的页签的table
|
|
}
|
|
}
|
|
this.dataListLoading = false
|
|
})
|
|
},
|
|
/**
|
|
* 刷新客户联系人的列表
|
|
*/
|
|
getCustomerContactList () {
|
|
let tempData = {
|
|
site: this.$store.state.user.site,
|
|
customerNo: this.customerCurrentRow.customerNo
|
|
}
|
|
customerContactSearch(tempData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.contactList = data.rows;
|
|
} else {
|
|
this.contactList = [];
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 刷新客户联系地址的列表
|
|
*/
|
|
getCustomerAddressList () {
|
|
let tempData = {
|
|
site: this.$store.state.user.site,
|
|
customerNo: this.customerCurrentRow.customerNo,
|
|
customerDesc: this.customerCurrentRow.customerDesc
|
|
}
|
|
customerAddressSearch(tempData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.addressList = data.rows;
|
|
} else {
|
|
this.addressList = [];
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 刷新客户项目信息的列表
|
|
*/
|
|
getProjectInformationList () {
|
|
let tempData = {
|
|
site: this.$store.state.user.site,
|
|
customerId: this.customerCurrentRow.customerNo
|
|
}
|
|
projectInformationSearch(tempData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.projectInformationList = data.rows;
|
|
} else {
|
|
this.projectInformationList = [];
|
|
}
|
|
});
|
|
},
|
|
|
|
// ======== 新增模态框 ========
|
|
/**
|
|
* 客户信息新增模态框
|
|
*/
|
|
addModal () {
|
|
this.modalData = {
|
|
flag: '1',
|
|
title: '客户新增',
|
|
site: this.$store.state.user.site,
|
|
customerNo: '',
|
|
customerDesc: '',
|
|
customerDescription: '',
|
|
customerIndustry: '',
|
|
customerCurrency: '',
|
|
turnoverOfYear: '',
|
|
potentialRevenueOfYear: '',
|
|
importantCustomer: '',
|
|
customerGroupId1: '',
|
|
customerGroupId2: '',
|
|
customerGroupName1: '',
|
|
customerGroupName2: '',
|
|
customerStatus: 'Y',
|
|
customerType: '潜在客户',
|
|
addressName: '',
|
|
defaultAddress: '',
|
|
addressStatus: '启用',
|
|
addressType: '类型一',
|
|
createBy: this.$store.state.user.name
|
|
}
|
|
this.modalDisableFlag = false
|
|
this.detailModalFlag = false
|
|
this.modalFlag = true
|
|
},
|
|
/**
|
|
* 客户联系人新增模态框
|
|
*/
|
|
contactSaveModal () {
|
|
this.contactModalData = {
|
|
flag: '1',
|
|
title: '联系人新增',
|
|
site: this.$store.state.user.site,
|
|
customerNo: this.customerCurrentRow.customerNo,
|
|
contactId: '',
|
|
contactName: '',
|
|
contactLandlineNumber: '',
|
|
contactPhoneNumber1: '',
|
|
contactPhoneNumber2: '',
|
|
contactPhoneNumber3: '',
|
|
position: '',
|
|
departmentName:'',
|
|
mailbox: '',
|
|
primaryContact: 'N',
|
|
contactStatus: '',
|
|
remark: '',
|
|
createDate: '',
|
|
createBy: this.$store.state.user.name,
|
|
}
|
|
this.contactDetailModalFlag = false
|
|
this.contactModalFlag = true
|
|
},
|
|
/**
|
|
* 客户联系地址新增模态框
|
|
*/
|
|
addressSaveModal () {
|
|
this.addressModalData = {
|
|
flag: '1',
|
|
title: '联系地址新增',
|
|
site: this.$store.state.user.site,
|
|
customerNo: this.customerCurrentRow.customerNo,
|
|
addressId: '',
|
|
addressName: '',
|
|
companyName: this.customerCurrentRow.customerDesc,
|
|
defaultAddress: '',
|
|
addressStatus: '启用',
|
|
addressType: '',
|
|
remark: '',
|
|
createDate: '',
|
|
createBy: this.$store.state.user.name,
|
|
}
|
|
this.addressDetailModalFlag = false
|
|
this.addressModalFlag = true
|
|
},
|
|
/**
|
|
* 客户项目信息新增模态框
|
|
*/
|
|
projectInformationSaveModal () {
|
|
this.projectInformationModalData = {
|
|
flag: '1',
|
|
title: '项目信息新增',
|
|
site: this.$store.state.user.site,
|
|
id: 0,
|
|
projectLevel: '',
|
|
projectId: '',
|
|
projectType: '',
|
|
projectTypeDb: '',
|
|
customerId: this.customerCurrentRow.customerNo,
|
|
customerName: this.customerCurrentRow.customerDesc,
|
|
projectName: '',
|
|
projectDesc: '',
|
|
projectSource: '',
|
|
projectSourceDesc: '',
|
|
priority: '',
|
|
priorityDesc: '',
|
|
needDate: '',
|
|
projectManagerName: '',
|
|
projectOwnerName: '',
|
|
customerRemark: '',
|
|
remark: '',
|
|
status: '',
|
|
userRoleName: '',
|
|
projectManagerList: [],
|
|
projectOwnerList: [],
|
|
userRoleList: [],
|
|
createDate: '',
|
|
createBy: this.$store.state.user.name
|
|
}
|
|
this.projectInformationDetailModalFlag = false
|
|
this.projectInformationModalFlag = true
|
|
},
|
|
|
|
// ======== 编辑模态框 ========
|
|
/**
|
|
* 客户信息编辑模态框
|
|
* @param row
|
|
*/
|
|
updateModal (row) {
|
|
this.modalData = {
|
|
flag: '2',
|
|
title: '客户编辑',
|
|
site: row.site,
|
|
customerNo: row.customerNo,
|
|
customerDesc: row.customerDesc,
|
|
customerDescription: row.customerDescription,
|
|
customerIndustry: row.customerIndustry,
|
|
customerCurrency: row.customerCurrency,
|
|
turnoverOfYear: row.turnoverOfYear,
|
|
potentialRevenueOfYear: row.potentialRevenueOfYear,
|
|
customerGroupId1: row.customerGroupId1,
|
|
customerGroupId2: row.customerGroupId2,
|
|
customerGroupName1: row.customerGroupName1,
|
|
customerGroupName2: row.customerGroupName2,
|
|
importantCustomer: row.importantCustomer,
|
|
customerStatus: row.customerStatus,
|
|
customerType: row.customerType,
|
|
companyName: row.companyName,
|
|
jobDescription: row.jobDescription,
|
|
contactStatus: row.contactStatus,
|
|
addressName: row.addressName,
|
|
defaultAddress: 'Y',
|
|
updateBy: this.$store.state.user.name
|
|
}
|
|
this.modalDisableFlag = true
|
|
this.detailModalFlag = false
|
|
this.modalFlag = true
|
|
},
|
|
/**
|
|
* 客户联系人编辑模态框
|
|
* @param row
|
|
*/
|
|
updateContactModal (row) {
|
|
this.contactModalData = {
|
|
flag: '2',
|
|
title: '联系人编辑',
|
|
site: row.site,
|
|
customerNo: row.customerNo,
|
|
contactId: row.contactId,
|
|
contactName: row.contactName,
|
|
contactLandlineNumber: row.contactLandlineNumber,
|
|
contactPhoneNumber1: row.contactPhoneNumber1,
|
|
contactPhoneNumber2: row.contactPhoneNumber2,
|
|
contactPhoneNumber3: row.contactPhoneNumber3,
|
|
position: row.position,
|
|
departmentName: row.departmentName,
|
|
mailbox: row.mailbox,
|
|
primaryContact: row.primaryContact,
|
|
contactStatus: row.contactStatus,
|
|
remark: row.remark,
|
|
updateDate: '',
|
|
updateBy: this.$store.state.user.name
|
|
}
|
|
this.contactDetailModalFlag = false
|
|
this.contactModalFlag = true
|
|
},
|
|
/**
|
|
* 客户联系地址编辑模态框
|
|
* @param row
|
|
*/
|
|
updateAddressModal (row) {
|
|
this.addressModalData = {
|
|
flag: '2',
|
|
title: '联系地址编辑',
|
|
site: row.site,
|
|
customerNo: row.customerNo,
|
|
addressId: row.addressId,
|
|
addressName: row.addressName,
|
|
companyName: row.companyName,
|
|
defaultAddress: row.defaultAddress,
|
|
addressStatus: row.addressStatus,
|
|
addressType: row.addressType,
|
|
remark: row.remark,
|
|
updateDate: '',
|
|
updateBy: this.$store.state.user.name
|
|
}
|
|
this.addressDetailModalFlag = false
|
|
this.addressModalFlag = true
|
|
},
|
|
/**
|
|
* 客户项目信息编辑模态框
|
|
* @param row
|
|
*/
|
|
updateProjectInformationModal (row) {
|
|
this.projectInformationModalData = {
|
|
flag: '2',
|
|
title: '项目信息编辑',
|
|
site: row.site,
|
|
id: row.id,
|
|
projectLevel: row.projectLevel,
|
|
projectId: row.projectId,
|
|
projectType: row.projectType,
|
|
projectTypeDb: row.projectTypeDb,
|
|
customerId: row.customerId,
|
|
customerName: row.customerName,
|
|
projectName: row.projectName,
|
|
projectDesc: row.projectDesc,
|
|
projectSource: row.projectSource,
|
|
projectSourceDesc: row.projectSourceDesc,
|
|
priority: row.priority,
|
|
priorityDesc: row.priorityDesc,
|
|
needDate: row.needDate,
|
|
projectManagerName: row.projectManagerName,
|
|
projectOwnerName: row.projectOwnerName,
|
|
customerRemark: row.customerRemark,
|
|
remark: row.remark,
|
|
status: row.status,
|
|
userRoleName: row.userRoleName,
|
|
projectManagerList: [],
|
|
projectOwnerList: [],
|
|
userRoleList: [],
|
|
updateDate: '',
|
|
updateBy: this.$store.state.user.name
|
|
}
|
|
// 查询项目经理、负责人、权限列表
|
|
let inData = {
|
|
site: this.projectInformationModalData.site,
|
|
projectId: this.projectInformationModalData.projectId,
|
|
type: 'manager'
|
|
}
|
|
searchProjectTeamStr(inData).then(({data}) => {
|
|
this.projectInformationModalData.projectManagerList = data.rows
|
|
})
|
|
let inData2 = {
|
|
site: this.projectInformationModalData.site,
|
|
projectId: this.projectInformationModalData.projectId,
|
|
type: 'owner'
|
|
}
|
|
searchProjectTeamStr(inData2).then(({data}) => {
|
|
this.projectInformationModalData.projectOwnerList = data.rows
|
|
})
|
|
let inData3 = {
|
|
site: this.projectInformationModalData.site,
|
|
projectId: this.projectInformationModalData.projectId
|
|
}
|
|
searchUserRoll(inData3).then(({data}) => {
|
|
this.projectInformationModalData.userRoleList = data.rows
|
|
})
|
|
this.projectInformationDetailModalFlag = false
|
|
this.projectInformationModalFlag = true
|
|
},
|
|
|
|
// ======== 详情模态框 ========
|
|
/**
|
|
* 客户信息详情模态框
|
|
* @param row
|
|
*/
|
|
detailModal (row) {
|
|
this.modalData = {
|
|
flag: '3',
|
|
title: '客户详情',
|
|
site: row.site,
|
|
customerNo: row.customerNo,
|
|
customerDesc: row.customerDesc,
|
|
customerDescription: row.customerDescription,
|
|
customerIndustry: row.customerIndustry,
|
|
customerCurrency: row.customerCurrency,
|
|
turnoverOfYear: row.turnoverOfYear,
|
|
potentialRevenueOfYear: row.potentialRevenueOfYear,
|
|
customerGroupId1: row.customerGroupId1,
|
|
customerGroupId2: row.customerGroupId2,
|
|
customerGroupName1: row.customerGroupName1,
|
|
customerGroupName2: row.customerGroupName2,
|
|
importantCustomer: row.importantCustomer,
|
|
customerStatus: row.customerStatus,
|
|
customerType: row.customerType,
|
|
companyName: row.companyName,
|
|
jobDescription: row.jobDescription,
|
|
contactStatus: row.contactStatus,
|
|
addressName: row.addressName
|
|
}
|
|
this.modalDisableFlag = true
|
|
this.detailModalFlag = true
|
|
this.modalFlag = true
|
|
},
|
|
/**
|
|
* 客户联系人详情模态框
|
|
* @param row
|
|
*/
|
|
detailContactModal (row) {
|
|
this.contactModalData = {
|
|
flag: '3',
|
|
title: '联系人详情',
|
|
site: row.site,
|
|
customerNo: row.customerNo,
|
|
contactId: row.contactId,
|
|
contactName: row.contactName,
|
|
contactLandlineNumber: row.contactLandlineNumber,
|
|
contactPhoneNumber1: row.contactPhoneNumber1,
|
|
contactPhoneNumber2: row.contactPhoneNumber2,
|
|
contactPhoneNumber3: row.contactPhoneNumber3,
|
|
position: row.position,
|
|
departmentName: row.departmentName,
|
|
mailbox: row.mailbox,
|
|
primaryContact: row.primaryContact,
|
|
contactStatus: row.contactStatus,
|
|
remark: row.remark
|
|
}
|
|
this.contactDetailModalFlag = true
|
|
this.contactModalFlag = true
|
|
},
|
|
/**
|
|
* 客户联系地址详情模态框
|
|
* @param row
|
|
*/
|
|
detailAddressModal (row) {
|
|
this.addressModalData = {
|
|
flag: '3',
|
|
title: '联系地址详情',
|
|
site: row.site,
|
|
customerNo: row.customerNo,
|
|
addressId: row.addressId,
|
|
addressName: row.addressName,
|
|
companyName: row.companyName,
|
|
defaultAddress: row.defaultAddress,
|
|
addressStatus: row.addressStatus,
|
|
addressType: row.addressType,
|
|
remark: row.remark,
|
|
}
|
|
this.addressDetailModalFlag = true
|
|
this.addressModalFlag = true
|
|
},
|
|
/**
|
|
* 客户项目信息详情模态框
|
|
* @param row
|
|
*/
|
|
detailProjectInformationModal (row) {
|
|
this.projectInformationModalData = {
|
|
flag: '3',
|
|
title: '项目信息详情',
|
|
site: row.site,
|
|
projectLevel: row.projectLevel,
|
|
projectId: row.projectId,
|
|
projectType: row.projectType,
|
|
projectTypeDb: row.projectTypeDb,
|
|
customerId: row.customerId,
|
|
customerName: row.customerName,
|
|
projectName: row.projectName,
|
|
projectDesc: row.projectDesc,
|
|
projectSource: row.projectSource,
|
|
projectSourceDesc: row.projectSourceDesc,
|
|
priority: row.priority,
|
|
priorityDesc: row.priorityDesc,
|
|
needDate: row.needDate,
|
|
projectManagerName: row.projectManagerName,
|
|
projectOwnerName: row.projectOwnerName,
|
|
customerRemark: row.customerRemark,
|
|
remark: row.remark,
|
|
status: row.status,
|
|
userRoleName: row.userRoleName
|
|
}
|
|
this.projectInformationDetailModalFlag = true
|
|
this.projectInformationModalFlag = true
|
|
},
|
|
|
|
// ======== 删除方法 ========
|
|
/**
|
|
* 客户信息删除
|
|
*/
|
|
delModal () {
|
|
if(this.customerSelections.length === 0){
|
|
this.$message.warning('请勾选要删除的客户!')
|
|
return
|
|
}
|
|
this.$confirm(`是否删除这 `+ this.customerSelections.length +` 条客户信息?`, '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
let tempData = {
|
|
informationList: this.customerSelections
|
|
}
|
|
customerInformationDelete(tempData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.getDataList()
|
|
this.customerSelections = []
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success',
|
|
duration: 1500,
|
|
onClose: () => {
|
|
}
|
|
})
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
}).catch(() => {
|
|
})
|
|
},
|
|
/**
|
|
* 客户联系人删除
|
|
*/
|
|
contactDeleteModal () {
|
|
if(this.contactSelections.length === 0){
|
|
this.$message.warning('请勾选要删除的联系人!')
|
|
return
|
|
}
|
|
this.$confirm(`是否删除这 `+ this.contactSelections.length +` 条联系人信息?`, '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
let tempContactName = null
|
|
for (let i = 0; i < this.contactSelections.length; i++){
|
|
// 判断是否有默认联系人
|
|
if (this.contactSelections[i].primaryContact === 'Y') {
|
|
tempContactName = this.contactSelections[i].contactName
|
|
}
|
|
}
|
|
if (tempContactName !== '' || tempContactName != null) {
|
|
this.$confirm(tempContactName +` 为默认联系人,是否确认删除?`, '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
let tempData = {
|
|
contactList: this.contactSelections
|
|
}
|
|
customerContactDelete(tempData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.getCustomerContactList()
|
|
this.contactSelections = []
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success',
|
|
duration: 1500,
|
|
onClose: () => {
|
|
}
|
|
})
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
}).catch(() => {
|
|
})
|
|
} else {
|
|
let tempData = {
|
|
contactList: this.contactSelections
|
|
}
|
|
customerContactDelete(tempData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.getCustomerContactList()
|
|
this.contactSelections = []
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success',
|
|
duration: 1500,
|
|
onClose: () => {
|
|
}
|
|
})
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
}
|
|
}).catch(() => {
|
|
})
|
|
},
|
|
/**
|
|
* 客户联系地址删除
|
|
*/
|
|
addressDeleteModal () {
|
|
if(this.addressSelections.length === 0){
|
|
this.$message.warning('请勾选要删除的地址!')
|
|
return
|
|
}
|
|
this.$confirm(`是否删除这 `+ this.addressSelections.length +` 条地址?`, '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
let tempAddressName = null
|
|
for (let i = 0; i < this.addressSelections.length; i++){
|
|
// 判断是否有主联系地址
|
|
if (this.addressSelections[i].defaultAddress === 'Y') {
|
|
tempAddressName = this.addressSelections[i].addressName
|
|
}
|
|
}
|
|
if (tempAddressName !== '' || tempAddressName != null) {
|
|
this.$confirm(tempAddressName +` 为主联系地址,是否确认删除?`, '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
let tempData = {
|
|
addressList: this.addressSelections
|
|
}
|
|
customerAddressDelete(tempData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.getCustomerAddressList()
|
|
this.addressSelections = []
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success',
|
|
duration: 1500,
|
|
onClose: () => {
|
|
}
|
|
})
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
}).catch(() => {
|
|
})
|
|
} else {
|
|
let tempData = {
|
|
addressList: this.addressSelections
|
|
}
|
|
customerAddressDelete(tempData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.getCustomerAddressList()
|
|
this.addressSelections = []
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success',
|
|
duration: 1500,
|
|
onClose: () => {
|
|
}
|
|
})
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
}
|
|
}).catch(() => {
|
|
})
|
|
},
|
|
|
|
// ======== 新增/编辑方法 ========
|
|
/**
|
|
* 客户信息新增/编辑
|
|
*/
|
|
saveData () {
|
|
if (this.modalData.customerNo === '' || this.modalData.customerNo == null) {
|
|
this.$message.warning('请输入客户代码!')
|
|
return
|
|
}
|
|
if (this.modalData.customerDesc === '' || this.modalData.customerDesc == null) {
|
|
this.$message.warning('请输入客户名称!')
|
|
return
|
|
}
|
|
if (this.modalData.customerIndustry === '' || this.modalData.customerIndustry == null) {
|
|
this.$message.warning('请输入行业!')
|
|
return
|
|
}
|
|
if (this.modalData.customerCurrency === '' || this.modalData.customerCurrency == null) {
|
|
this.$message.warning('请输入币种!')
|
|
return
|
|
}
|
|
if (this.modalData.importantCustomer === '' || this.modalData.importantCustomer == null) {
|
|
this.$message.warning('请选择重要程度!')
|
|
return
|
|
}
|
|
if (this.modalData.customerStatus === '' || this.modalData.customerStatus == null) {
|
|
this.$message.warning('请选择客户状态!')
|
|
return
|
|
}
|
|
if (this.modalData.customerType === '' || this.modalData.customerType == null) {
|
|
this.$message.warning('请选择客户类型!')
|
|
return
|
|
}
|
|
if(this.modalData.flag === '1'){
|
|
this.modalData.primaryContact = 'Y'
|
|
this.modalData.contactStatus = '启用'
|
|
customerInformationSave(this.modalData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.getDataList()
|
|
this.modalFlag = false
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success',
|
|
duration: 1500,
|
|
onClose: () => {
|
|
}
|
|
})
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
}else {
|
|
customerInformationEdit(this.modalData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.getDataList()
|
|
this.modalFlag = false
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success',
|
|
duration: 1500,
|
|
onClose: () => {
|
|
}
|
|
})
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
}
|
|
},
|
|
/**
|
|
* 客户联系人新增/编辑
|
|
*/
|
|
saveContactData () {
|
|
if (this.contactModalData.contactName === '' || this.contactModalData.contactName == null) {
|
|
this.$message.warning('请输入联系人!')
|
|
return
|
|
}
|
|
if (this.contactModalData.contactPhoneNumber1 === '' || this.contactModalData.contactPhoneNumber1 == null) {
|
|
this.$message.warning('请输入联系人电话(1)!')
|
|
return
|
|
}
|
|
if (this.contactModalData.position === '' || this.contactModalData.position == null) {
|
|
this.$message.warning('请输入公司职务!')
|
|
return
|
|
}
|
|
if(this.contactModalData.departmentName === '' || this.contactModalData.departmentName == null){
|
|
this.$message.warning('请输入部门名称')
|
|
return
|
|
}
|
|
if (this.contactModalData.primaryContact === '' || this.contactModalData.primaryContact == null) {
|
|
this.$message.warning('请选择是否为默认联系人!')
|
|
return
|
|
}
|
|
if (this.contactModalData.contactStatus === '' || this.contactModalData.contactStatus == null) {
|
|
this.$message.warning('请选择状态!')
|
|
return
|
|
}
|
|
if(this.contactModalData.flag === '1'){
|
|
customerContactSave(this.contactModalData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.getCustomerContactList()
|
|
this.contactModalFlag = false
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success',
|
|
duration: 1500,
|
|
onClose: () => {
|
|
}
|
|
})
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
}else {
|
|
customerContactEdit(this.contactModalData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.getCustomerContactList()
|
|
this.contactModalFlag = false
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success',
|
|
duration: 1500,
|
|
onClose: () => {
|
|
}
|
|
})
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
}
|
|
},
|
|
/**
|
|
* 客户联系地址新增/编辑
|
|
*/
|
|
saveAddressData () {
|
|
if (this.addressModalData.addressName === '' || this.addressModalData.addressName == null) {
|
|
this.$message.warning('请输入地址!')
|
|
return
|
|
}
|
|
if (this.addressModalData.defaultAddress === '' || this.addressModalData.defaultAddress == null) {
|
|
this.$message.warning('请选择是否为主要地址!')
|
|
return
|
|
}
|
|
if (this.addressModalData.addressStatus === '' || this.addressModalData.addressStatus == null) {
|
|
this.$message.warning('请选择状态!')
|
|
return
|
|
}
|
|
if (this.addressModalData.addressType === '' || this.addressModalData.addressType == null) {
|
|
this.$message.warning('请选择地址类型!')
|
|
return
|
|
}
|
|
if(this.addressModalData.flag === '1'){
|
|
customerAddressSave(this.addressModalData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.getCustomerAddressList()
|
|
this.addressModalFlag = false
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success',
|
|
duration: 1500,
|
|
onClose: () => {
|
|
}
|
|
})
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
}else {
|
|
customerAddressEdit(this.addressModalData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.getCustomerAddressList()
|
|
this.addressModalFlag = false
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success',
|
|
duration: 1500,
|
|
onClose: () => {
|
|
}
|
|
})
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
}
|
|
},
|
|
/**
|
|
* 客户项目信息新增/编辑
|
|
*/
|
|
saveProjectInformationData () {
|
|
if(this.projectInformationModalData.projectTypeDb === '' || this.projectInformationModalData.projectTypeDb == null){
|
|
this.$message.warning('请选择项目类型!')
|
|
return
|
|
}
|
|
if(this.projectInformationModalData.projectName === '' || this.projectInformationModalData.projectName == null){
|
|
this.$message.warning('请输入项目名称!')
|
|
return
|
|
}
|
|
if(this.projectInformationModalData.projectSource === '' || this.projectInformationModalData.projectSource == null){
|
|
this.$message.warning('请选择项目来源!')
|
|
return
|
|
}
|
|
if(this.projectInformationModalData.priority === '' || this.projectInformationModalData.priority == null){
|
|
this.$message.warning('请选择优先级!')
|
|
return
|
|
}
|
|
if(this.projectInformationModalData.needDate === '' || this.projectInformationModalData.needDate == null){
|
|
this.$message.warning('请选择要求日期!')
|
|
return
|
|
}
|
|
if(this.projectInformationModalData.projectManagerName === '' || this.projectInformationModalData.projectManagerName == null){
|
|
this.$message.warning('请选择项目经理!')
|
|
return
|
|
}
|
|
if(this.projectInformationModalData.projectOwnerName === '' || this.projectInformationModalData.projectOwnerName == null){
|
|
this.$message.warning('请选择项目负责人!')
|
|
return
|
|
}
|
|
if(this.projectInformationModalData.userRoleName === '' || this.projectInformationModalData.userRoleName == null){
|
|
this.$message.warning('请选择权限!')
|
|
return
|
|
}
|
|
saveProjectInfo(this.projectInformationModalData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.getProjectInformationList()
|
|
this.projectInformationModalFlag = false
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success',
|
|
duration: 1500,
|
|
onClose: () => {
|
|
}
|
|
})
|
|
} else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
},
|
|
|
|
// ======== 列表单机选中方法 ========
|
|
/**
|
|
* 单机选中客户信息
|
|
* @param row
|
|
*/
|
|
customerClickRow (row) {
|
|
//this.$refs.customerTable.toggleRowSelection(row);
|
|
this.customerCurrentRow = JSON.parse(JSON.stringify(row));
|
|
},
|
|
/**
|
|
* 单机选中客户联系人
|
|
* @param row
|
|
*/
|
|
contactClickRow (row) {
|
|
this.$refs.contactTable.toggleRowSelection(row);
|
|
this.contactCurrentRow = JSON.parse(JSON.stringify(row));
|
|
},
|
|
/**
|
|
* 单机选中客户联系地址
|
|
* @param row
|
|
*/
|
|
addressClickRow (row) {
|
|
this.$refs.addressTable.toggleRowSelection(row);
|
|
this.addressCurrentRow = JSON.parse(JSON.stringify(row));
|
|
},
|
|
/**
|
|
* 单机选中客户项目信息
|
|
* @param row
|
|
*/
|
|
projectInformationClickRow (row,column) {
|
|
if (column.label !== '项目号'){
|
|
this.$refs.projectInformationTable.toggleRowSelection(row);
|
|
this.projectInformationCurrentRow = JSON.parse(JSON.stringify(row));
|
|
}
|
|
},
|
|
|
|
// ======== 列表复选方法 ========
|
|
/**
|
|
* 复选客户信息
|
|
* @param val
|
|
*/
|
|
selectionCustomer (val) {
|
|
this.customerSelections = val
|
|
},
|
|
/**
|
|
* 复选客户联系人
|
|
* @param val
|
|
*/
|
|
selectionContact (val) {
|
|
this.contactSelections = val
|
|
},
|
|
/**
|
|
* 复选客户联系人
|
|
* @param val
|
|
*/
|
|
selectionAddress (val) {
|
|
this.addressSelections = val
|
|
},
|
|
/**
|
|
* 复选客户项目信息
|
|
* @param val
|
|
*/
|
|
selectionProjectInformation (val) {
|
|
this.projectInformationSelections = val
|
|
},
|
|
|
|
// ======== chooseList相关方法 ========
|
|
/**
|
|
* 获取基础数据列表S
|
|
* @param val
|
|
* @param type
|
|
*/
|
|
getBaseList (val, type) {
|
|
this.tagNo = val
|
|
this.tagNo1 = type
|
|
this.$nextTick(() => {
|
|
let strVal = ''
|
|
if (val === 1010) {
|
|
if(type === 1) {
|
|
strVal = this.projectInformationModalData.projectTypeDb
|
|
}
|
|
}
|
|
if (val === 102) {
|
|
if(type === 1) {
|
|
strVal = this.projectInformationModalData.customerId
|
|
}
|
|
}
|
|
if (val === 1011) {
|
|
if(type === 1) {
|
|
strVal = this.projectInformationModalData.projectSource
|
|
}
|
|
}
|
|
if (val === 1012) {
|
|
if(type === 1) {
|
|
strVal = this.projectInformationModalData.priority
|
|
}
|
|
}
|
|
if (val === 1021) {
|
|
strVal = this.modalData.customerGroupId1
|
|
} else if (val === 1022) {
|
|
strVal = this.modalData.customerGroupId2
|
|
}
|
|
this.$refs.baseList.init(val, strVal)
|
|
})
|
|
},
|
|
/**
|
|
* 列表方法的回调
|
|
* @param val
|
|
*/
|
|
getBaseData (val) {
|
|
if (this.tagNo === 1010) {
|
|
if(this.tagNo1 === 1) {
|
|
this.projectInformationModalData.projectTypeDb = val.Base_id
|
|
this.projectInformationModalData.projectType = val.Base_desc
|
|
}
|
|
}
|
|
if (this.tagNo === 102) {
|
|
if(this.tagNo1 === 1) {
|
|
this.projectInformationModalData.customerId = val.Customer_no
|
|
this.projectInformationModalData.customerName = val.Customer_desc
|
|
}
|
|
}
|
|
if (this.tagNo === 1011) {
|
|
if(this.tagNo1 === 1) {
|
|
this.projectInformationModalData.projectSource = val.Base_id
|
|
this.projectInformationModalData.projectSourceDesc = val.Base_desc
|
|
}
|
|
}
|
|
if (this.tagNo === 1012) {
|
|
if(this.tagNo1 === 1) {
|
|
this.projectInformationModalData.priority = val.Base_id
|
|
this.projectInformationModalData.priorityDesc = val.Base_desc
|
|
}
|
|
}
|
|
if (this.tagNo === 1021) {
|
|
this.modalData.customerGroupId1 = val.customer_group_id
|
|
this.modalData.customerGroupName1 = val.customer_group_name
|
|
} else if (this.tagNo === 1022) {
|
|
this.modalData.customerGroupId2 = val.customer_group_id
|
|
this.modalData.customerGroupName2 = val.customer_group_name
|
|
}
|
|
},
|
|
/**
|
|
* 项目经理选择模态框
|
|
*/
|
|
managerChooseModal () {
|
|
// 清空穿梭框的选中值
|
|
this.$nextTick(() => {
|
|
this.$refs.managerTransfer.$refs.leftPanel.checked = []
|
|
this.$refs.managerTransfer.$refs.rightPanel.checked = []
|
|
})
|
|
let inData = {
|
|
site: this.projectInformationModalData.site,
|
|
projectId: this.projectInformationModalData.projectId,
|
|
}
|
|
searchOperatorWithSite(inData).then(({data}) => {
|
|
this.operatorList = data.rows
|
|
})
|
|
this.projectManagerList = JSON.parse(JSON.stringify(this.projectInformationModalData.projectManagerList))
|
|
this.managerFlag = true
|
|
},
|
|
/**
|
|
* 项目经理选择
|
|
*/
|
|
saveManagerList () {
|
|
let projectManagerName = ''
|
|
for (let i = 0; i < this.projectManagerList.length; i++) {
|
|
let select = this.operatorList.filter(item => item.operatorId === this.projectManagerList[i])
|
|
if (select.length > 0) {
|
|
projectManagerName += select[0].operatorName + ';'
|
|
}
|
|
}
|
|
this.projectInformationModalData.projectManagerName = projectManagerName
|
|
this.projectInformationModalData.projectManagerList = JSON.parse(JSON.stringify(this.projectManagerList))
|
|
this.managerFlag = false
|
|
},
|
|
/**
|
|
* 项目负责人选择模态框
|
|
*/
|
|
ownerChooseModal () {
|
|
// 清空穿梭框的选中值
|
|
this.$nextTick(() => {
|
|
this.$refs.ownerTransfer.$refs.leftPanel.checked = []
|
|
this.$refs.ownerTransfer.$refs.rightPanel.checked = []
|
|
})
|
|
let inData = {
|
|
site: this.projectInformationModalData.site,
|
|
projectId: this.projectInformationModalData.projectId,
|
|
}
|
|
searchOperatorWithSite(inData).then(({data}) => {
|
|
this.operatorList = data.rows
|
|
})
|
|
this.projectOwnerList = JSON.parse(JSON.stringify(this.projectInformationModalData.projectOwnerList));
|
|
this.ownerFlag = true
|
|
},
|
|
/**
|
|
* 项目负责人选择
|
|
*/
|
|
saveOwnerList () {
|
|
let projectOwnerName = '';
|
|
for (let i = 0; i < this.projectOwnerList.length; i++) {
|
|
let select = this.operatorList.filter(item => item.operatorId === this.projectOwnerList[i])
|
|
if(select.length > 0){
|
|
projectOwnerName += select[0].operatorName + ';'
|
|
}
|
|
}
|
|
this.projectInformationModalData.projectOwnerName = projectOwnerName
|
|
this.projectInformationModalData.projectOwnerList = JSON.parse(JSON.stringify(this.projectOwnerList));
|
|
this.ownerFlag = false
|
|
},
|
|
/**
|
|
* 项目权限模态框
|
|
*/
|
|
userRollModal () {
|
|
this.userRoleList = JSON.parse(JSON.stringify(this.projectInformationModalData.userRoleList));
|
|
this.userRoleFlag = true
|
|
},
|
|
changeAll (row) {
|
|
if (row.checkAll) {
|
|
row.searchCheck = true
|
|
row.updateCheck = true
|
|
row.downCheck = true
|
|
row.deleteCheck = true
|
|
row.searchFlag = 'Y'
|
|
row.updateFlag = 'Y'
|
|
row.downFlag = 'Y'
|
|
row.deleteFlag = 'Y'
|
|
} else {
|
|
row.searchCheck = false
|
|
row.updateCheck = false
|
|
row.downCheck = false
|
|
row.deleteCheck = false
|
|
row.searchFlag = 'N'
|
|
row.updateFlag = 'N'
|
|
row.downFlag = 'N'
|
|
row.deleteFlag = 'N'
|
|
}
|
|
},
|
|
changeCheck (row,type) {
|
|
if (type === 1) {
|
|
if (row.searchCheck) {
|
|
row.searchFlag = 'Y'
|
|
} else {
|
|
row.searchFlag = 'N'
|
|
}
|
|
}
|
|
if (type === 2) {
|
|
if (row.updateCheck) {
|
|
row.updateFlag = 'Y'
|
|
} else {
|
|
row.updateFlag = 'N'
|
|
}
|
|
}
|
|
if (type === 3) {
|
|
if (row.downCheck) {
|
|
row.downFlag = 'Y'
|
|
} else {
|
|
row.downFlag = 'N'
|
|
}
|
|
}
|
|
if (type === 4) {
|
|
if (row.deleteCheck) {
|
|
row.deleteFlag = 'Y'
|
|
} else {
|
|
row.deleteFlag = 'N'
|
|
}
|
|
}
|
|
if (row.searchCheck && row.updateCheck && row.downCheck && row.deleteCheck) {
|
|
row.checkAll = true
|
|
} else {
|
|
row.checkAll = false
|
|
}
|
|
this.$forceUpdate();
|
|
},
|
|
saveUserList () {
|
|
let name = '';
|
|
for (let i = 0; i < this.userRoleList.length; i++) {
|
|
if (this.userRoleList[i].searchCheck || this.userRoleList[i].updateCheck || this.userRoleList[i].downCheck || this.userRoleList[i].deleteCheck) {
|
|
name += this.userRoleList[i].userDisplay + ';'
|
|
}
|
|
}
|
|
this.projectInformationModalData.userRoleName = name
|
|
this.projectInformationModalData.userRoleList = JSON.parse(JSON.stringify(this.userRoleList));
|
|
this.userRoleFlag = false
|
|
},
|
|
|
|
// ======== 导出相关方法 ========
|
|
/**
|
|
* 导出excel
|
|
*/
|
|
async createExportData () {
|
|
this.searchData.limit = -1
|
|
this.searchData.page = 1
|
|
await customerInformationSearch(this.searchData).then(({data}) => {
|
|
this.resultList = data.page.list
|
|
})
|
|
return this.resultList
|
|
},
|
|
startDownload () {
|
|
},
|
|
finishDownload () {
|
|
},
|
|
fields () {
|
|
let json = '{'
|
|
this.columnList.forEach((item, index) => {
|
|
if (index == this.columnList.length - 1) {
|
|
json += '"' + item.columnLabel + '"' + ':' + '"' + item.columnProp + '"'
|
|
} else {
|
|
json += '"' + item.columnLabel + '"' + ':' + '"' + item.columnProp + '"' + ','
|
|
}
|
|
})
|
|
json += '}'
|
|
let s = eval('(' + json + ')')
|
|
return s
|
|
},
|
|
clickProjectId(projectId){
|
|
if (this.$router.resolve('project-projectInfo/projectInfo').resolved.name === '404'){
|
|
this.$alert('权限不足,访问失败', '警告', {confirmButtonText: '确定',});
|
|
}else {
|
|
this.$router.push({name:"project-projectInfo/projectInfo",params:{projectId:projectId},})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
/deep/ .customer-tab .el-tabs__content {
|
|
padding: 0px !important;
|
|
}
|
|
.el-transfer-panel {
|
|
border: 2px solid #17b3a3;
|
|
border-radius: 4px;
|
|
overflow: hidden;
|
|
background: #fff;
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
width: 200px;
|
|
max-height: 100%;
|
|
-webkit-box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
position: relative;
|
|
}
|
|
|
|
.el-transfer-panel .el-transfer-panel__header {
|
|
height: 40px;
|
|
line-height: 40px;
|
|
background: #17b3a3;
|
|
margin: 0;
|
|
padding-left: 15px;
|
|
border-bottom: 1px solid #17b3a3;
|
|
-webkit-box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
color: #000;
|
|
}
|
|
|
|
.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label {
|
|
font-size: 14px;
|
|
color: #303133;
|
|
font-weight: 400;
|
|
}
|
|
</style>
|
|
|