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.
3345 lines
112 KiB
3345 lines
112 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="Y"></el-option>
|
|
<el-option label="停用" value="N"></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 - 15"
|
|
:data="dataList"
|
|
border
|
|
ref="customerTable"
|
|
:row-style="rowStyle"
|
|
@row-click="customerClickRow"
|
|
@selection-change="selectionCustomer"
|
|
@current-change="changeCurrentRow"
|
|
style="width: 100%;">
|
|
<el-table-column
|
|
type="selection"
|
|
header-align="center"
|
|
align="center"
|
|
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">
|
|
<el-link style="cursor: pointer" @click="updateModal(scope.row)">编辑</el-link>
|
|
<el-link style="cursor: pointer" @click="detailModal(scope.row)">详情</el-link>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
|
|
<!-- 分页插件 -->
|
|
<el-pagination
|
|
@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 class="inlineNumber numInput" v-model="modalData.turnoverOfYear" :readonly="detailModalFlag"
|
|
type="number" style="width: 222px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="年预估投入">
|
|
<el-input class="inlineNumber numInput" v-model="modalData.potentialRevenueOfYear" :readonly="detailModalFlag"
|
|
type="number" 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="行业">
|
|
<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 style="cursor: pointer" slot="label" @click="getBaseList(120)"><a herf="#">客户组1</a></span>
|
|
<el-input v-model="modalData.customerGroupId1" @blur="customerGroupBlur(120)" style="width: 124px"></el-input>
|
|
<el-input v-model="modalData.customerGroupName1" disabled style="width: 330px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<span style="cursor: pointer" slot="label" @click="getBaseList(121)"><a herf="#">客户组2</a></span>
|
|
<el-input v-model="modalData.customerGroupId2" @blur="customerGroupBlur2(121)"
|
|
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="公司职务">
|
|
<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="部门">
|
|
<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 label-position="top" :model="addressModalData" :rules="addressRules">
|
|
<el-row :gutter="10">
|
|
<el-col :span="8">
|
|
<el-form-item label="地址类型" prop="addressType" :rules="addressRules.addressType">
|
|
<dict-data-select v-if="addressModalFlag" v-model="addressModalData.addressType"
|
|
:disabled="addressDetailModalFlag"
|
|
dict-type="plm_customer_address_address_type"></dict-data-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="16">
|
|
<el-form-item label="公司名称">
|
|
<el-input v-model="addressModalData.companyName" :readonly="addressDetailModalFlag"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="24">
|
|
<el-form-item label="地址" prop="addressName" :rules="addressRules.addressName">
|
|
<el-input v-model="addressModalData.addressName"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="状态" prop="addressStatus" :rules="addressRules.addressStatus">
|
|
<el-select v-model="addressModalData.addressStatus" style="width: 100%" :disabled="addressDetailModalFlag">
|
|
<el-option label="启用" value="启用"></el-option>
|
|
<el-option label="停用" value="停用"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label=" " >
|
|
<el-checkbox v-model="addressModalData.defaultAddress" false-label="N" true-label="Y"
|
|
:disabled="addressDetailModalFlag">默认地址</el-checkbox>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="24">
|
|
<el-form-item label="备注信息">
|
|
<el-input type="textarea" v-model="addressModalData.remark" :rows="3" :readonly="addressDetailModalFlag" resize='none' show-word-limit></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
</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="40%">
|
|
<el-form ref="saveForm" :model="projectInformationModalData" label-position="top" label-width="100px"
|
|
:rules="projectInformationModalData">
|
|
<el-row :gutter="25">
|
|
<el-col :span="6">
|
|
<el-form-item label="项目号">
|
|
<el-input readonly v-model="projectInformationModalData.projectId" disabled></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="项目名称" prop="projectName">
|
|
<el-input readonly v-model="projectInformationModalData.projectName"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-form-item prop="projectTypeDb" label="项目类型">
|
|
<dict-data-select disabled dict-type="project_info_type_db" v-if="projectInformationModalFlag"
|
|
v-model="projectInformationModalData.projectTypeDb"></dict-data-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-form-item prop="projectSource" :rules="projectInformationModalData.projectSourceDesc" label="项目来源">
|
|
<dict-data-select disabled dict-type="project_info_source" v-if="projectInformationModalFlag"
|
|
v-model="projectInformationModalData.projectSource"></dict-data-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-form-item prop="priority" label="优先级">
|
|
<dict-data-select disabled dict-type="project_info_priority" v-if="projectInformationModalFlag"
|
|
v-model="projectInformationModalData.priority"></dict-data-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-form-item label="要求日期:" prop="needDate">
|
|
<el-date-picker
|
|
style="width: 100%"
|
|
readonly
|
|
v-model="projectInformationModalData.needDate"
|
|
type="date"
|
|
value-format="yyyy-MM-dd"
|
|
placeholder="选择日期">
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-form-item prop="projectManagerName" :rules="projectInformationModalData.projectManagerName"
|
|
label="项目经理">
|
|
<el-input v-model="projectInformationModalData.projectManagerName" readonly></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-form-item prop="projectOwnerName" :rules="projectInformationModalData.projectOwnerName"
|
|
label="项目负责人">
|
|
<el-input v-model="projectInformationModalData.projectOwnerName" readonly></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-form-item label="直接客户">
|
|
<el-input v-model="projectInformationModalData.customerId" readonly></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item prop="customerName" label="直接客户名称:">
|
|
<el-input v-model="projectInformationModalData.customerName" readonly ></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-form-item label="终端客户:">
|
|
<el-input v-model="projectInformationModalData.finalCustomerId" readonly></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="终端客户名称:">
|
|
<el-input v-model="projectInformationModalData.finalCustomerName" readonly ></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-form-item label="项目描述" style="height: 70px">
|
|
<el-input type="textarea" readonly resize="none" :autosize="{minRows: 2, maxRows: 2}"
|
|
v-model="projectInformationModalData.projectDesc"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="客户应用/要求" style="height: 70px">
|
|
<el-input type="textarea" readonly resize="none" :autosize="{minRows: 2, maxRows: 2}"
|
|
v-model="projectInformationModalData.customerRemark"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="其他要求" style="height: 70px">
|
|
<el-input type="textarea" readonly resize="none" :autosize="{minRows: 2, maxRows: 2}"
|
|
v-model="projectInformationModalData.remark"></el-input>
|
|
</el-form-item>
|
|
<el-form-item prop="userRoleName" :rules="projectInformationRules.userRoleName" label="项目权限">
|
|
<el-input readonly v-model="projectInformationModalData.userRoleName"></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"
|
|
style="width: 100%; ">
|
|
<el-table-column
|
|
type="selection"
|
|
header-align="center"
|
|
align="center"
|
|
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">
|
|
<el-link style="cursor: pointer" @click="updateContactModal(scope.row)">编辑</el-link>
|
|
<el-link style="cursor: pointer" @click="detailContactModal(scope.row)">详情</el-link>
|
|
</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"
|
|
style="width: 100%;">
|
|
<el-table-column
|
|
type="selection"
|
|
header-align="center"
|
|
align="center"
|
|
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">
|
|
<el-link style="cursor: pointer" @click="updateAddressModal(scope.row)">编辑</el-link>
|
|
<el-link style="cursor: pointer" @click="detailAddressModal(scope.row)">详情</el-link>
|
|
</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"
|
|
style="width: 100%;">
|
|
<el-table-column
|
|
type="selection"
|
|
header-align="center"
|
|
align="center"
|
|
width="50">
|
|
</el-table-column>
|
|
<el-table-column
|
|
header-align="center"
|
|
align="left"
|
|
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">
|
|
<el-link style="cursor: pointer" @click="updateProjectInformationModal(scope.row)">编辑</el-link>
|
|
<el-link style="cursor: pointer" @click="detailProjectInformationModal(scope.row)">详情</el-link>
|
|
</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>
|
|
|
|
<add-or-update v-if="addOrUpdateVisible" v-model="addOrUpdate" ref="addOrUpdate" @refreshDataList="getDataList"
|
|
v-drag></add-or-update>
|
|
|
|
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
customerInformationSearch, // 客户信息列表查询
|
|
customerInformationSave, // 客户信息新增
|
|
customerInformationEdit, // 客户信息编辑
|
|
customerInformationDelete, // 客户信息删除
|
|
checkCustomerGroup, // 客户组ID输入校验
|
|
} 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 {verifyData} from "@/api/chooselist/chooselist.js"
|
|
import DictDataSelect from '../sys/dict-data-select.vue'
|
|
import saveOrUpdate from '../project/projectInfo/com_projectInfo-add-or-update.vue'
|
|
import partUploadFile from '../part/part_upload_file.vue'
|
|
import AddOrUpdate from "../project/projectInfo/com_projectInfo-add-or-update.vue";
|
|
|
|
export default {
|
|
components: {
|
|
AddOrUpdate,
|
|
DictDataSelect,
|
|
Chooselist,
|
|
saveOrUpdate
|
|
},
|
|
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()
|
|
this.modalData.customerGroupId1 = this.modalData.customerGroupId1.toUpperCase()
|
|
this.modalData.customerGroupId2 = this.modalData.customerGroupId2.toUpperCase()
|
|
if (this.modalData.customerGroupId1 == null || this.modalData.customerGroupId1 === '') {
|
|
this.modalData.customerGroupName1 = ''
|
|
}
|
|
if (this.modalData.customerGroupId2 == null || this.modalData.customerGroupId2 === '') {
|
|
this.modalData.customerGroupName2 = ''
|
|
}
|
|
}
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
// 新增 项目
|
|
addOrUpdateVisible: false,
|
|
// addOrUpdate
|
|
addOrUpdate: '0',
|
|
components: {
|
|
DictDataSelect,
|
|
Chooselist
|
|
},
|
|
// 导出
|
|
exportData: [],
|
|
exportName: '客户信息' + this.dayjs().format('YYYYMMDDHHmmss'),
|
|
exportHeader: ['客户信息'],
|
|
exportFooter: [],
|
|
resultList: [],
|
|
// ======== 行高 ========
|
|
height: 200,
|
|
secondHeight: 200,
|
|
// ======== 分页 ========
|
|
pageIndex: 1,
|
|
pageSize: 20,
|
|
totalPage: 0,
|
|
// 条件查询
|
|
searchData: {
|
|
site: this.$store.state.user.site,
|
|
customerNo: '',
|
|
customerDesc: '',
|
|
customerStatus: '',
|
|
active: 'Y',
|
|
page: 1,
|
|
limit: 10
|
|
},
|
|
// 初始页签
|
|
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: '',
|
|
type: ''
|
|
},
|
|
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: '101001Table1CustomerDesc',
|
|
tableId: '101001Table1',
|
|
tableName: '客户信息表',
|
|
columnProp: 'customerDesc',
|
|
headerAlign: 'center',
|
|
align: 'left',
|
|
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: 'left',
|
|
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: 'left',
|
|
columnLabel: '客户组2',
|
|
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: 100
|
|
},
|
|
{
|
|
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: 100
|
|
},
|
|
{
|
|
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: 100
|
|
},
|
|
{
|
|
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: 100
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table1CustomerStatus',
|
|
tableId: '101001Table1',
|
|
tableName: '客户信息表',
|
|
columnProp: 'customerStatusDesc',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '客户状态',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 100
|
|
},
|
|
{
|
|
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: 100
|
|
},
|
|
{
|
|
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: 170
|
|
},
|
|
{
|
|
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: 100
|
|
},
|
|
{
|
|
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: 170
|
|
},
|
|
{
|
|
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: 100
|
|
}
|
|
],
|
|
customerContactArray: [
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table2ContactName',
|
|
tableId: '101001Table2',
|
|
tableName: '客户联系人表',
|
|
columnProp: 'contactName',
|
|
headerAlign: 'center',
|
|
align: 'left',
|
|
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: 'left',
|
|
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: 'left',
|
|
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: 'left',
|
|
columnLabel: '公司职务',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 100
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table2DepartmentName',
|
|
tableId: '101001Table2',
|
|
tableName: '客户联系人表',
|
|
columnProp: 'departmentName',
|
|
headerAlign: 'center',
|
|
align: 'left',
|
|
columnLabel: '部门',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 100
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table2Mailbox',
|
|
tableId: '101001Table2',
|
|
tableName: '客户联系人表',
|
|
columnProp: 'mailbox',
|
|
headerAlign: 'center',
|
|
align: 'left',
|
|
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: 100
|
|
},
|
|
{
|
|
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: 100
|
|
},
|
|
{
|
|
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: 170
|
|
},
|
|
{
|
|
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: 100
|
|
},
|
|
{
|
|
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: 170
|
|
},
|
|
{
|
|
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: 100
|
|
}
|
|
],
|
|
customerAddressArray: [
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table3AddressType',
|
|
tableId: '101001Table3',
|
|
tableName: '客户联系地址表',
|
|
columnProp: 'addressTypeName',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '地址类型',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 100
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table3CompanyName',
|
|
tableId: '101001Table3',
|
|
tableName: '客户联系地址表',
|
|
columnProp: 'companyName',
|
|
headerAlign: 'center',
|
|
align: 'left',
|
|
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: 'left',
|
|
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: 100
|
|
},
|
|
{
|
|
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: 100
|
|
},
|
|
{
|
|
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: 170
|
|
},
|
|
{
|
|
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: 100
|
|
},
|
|
{
|
|
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: 170
|
|
},
|
|
{
|
|
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: 100
|
|
}
|
|
],
|
|
projectInformationArray: [
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table4ProjectName',
|
|
tableId: '101001Table4',
|
|
tableName: '客户项目信息表',
|
|
columnProp: 'projectName',
|
|
headerAlign: 'center',
|
|
align: 'left',
|
|
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: 100
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table4ProjectDesc',
|
|
tableId: '101001Table4',
|
|
tableName: '客户项目信息表',
|
|
columnProp: 'projectDesc',
|
|
headerAlign: 'center',
|
|
align: 'left',
|
|
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: 100
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 101001,
|
|
serialNumber: '101001Table4ProjectOwnerName',
|
|
tableId: '101001Table4',
|
|
tableName: '客户项目信息表',
|
|
columnProp: 'projectOwnerName',
|
|
headerAlign: 'center',
|
|
align: 'left',
|
|
columnLabel: '项目负责人',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 130
|
|
},
|
|
{
|
|
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: 170
|
|
},
|
|
{
|
|
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: 100
|
|
},
|
|
{
|
|
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: 170
|
|
},
|
|
{
|
|
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: 100
|
|
}
|
|
],
|
|
// ======== 必填规则 ========
|
|
rules: {
|
|
customerNo: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
customerDesc: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
customerCurrency: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
contactName: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
contactPhoneNumber1: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
importantCustomer: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
customerStatus: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
customerType: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
},
|
|
contactRules: {
|
|
contactName: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
position: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
primaryContact: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
contactStatus: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
contactPhoneNumber1: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
]
|
|
},
|
|
addressRules: {
|
|
addressName: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
defaultAddress: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
addressStatus: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
addressType: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
]
|
|
},
|
|
projectInformationRules: {
|
|
projectType: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
projectName: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
projectSourceDesc: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
priorityDesc: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
needDate: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
projectManagerName: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
projectOwnerName: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', 'change']
|
|
}
|
|
],
|
|
userRoleName: [
|
|
{
|
|
required: true,
|
|
message: ' ',
|
|
trigger: ['blur', '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()
|
|
},
|
|
|
|
// ======== 页签切换相关方法 ========
|
|
/**
|
|
* 列表表格选择替换
|
|
* @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])
|
|
// 加载当前的页签的table
|
|
this.refreshCurrentTabTable()
|
|
}
|
|
}
|
|
})
|
|
},
|
|
/**
|
|
* 刷新客户联系人的列表
|
|
*/
|
|
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,
|
|
type: ''
|
|
}
|
|
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,
|
|
}
|
|
if (this.contactList.length === 0) {
|
|
this.contactModalData.primaryContact = 'Y'
|
|
}
|
|
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: 'N',
|
|
addressStatus: '启用',
|
|
addressType: '',
|
|
remark: '',
|
|
createDate: '',
|
|
createBy: this.$store.state.user.name,
|
|
}
|
|
if (this.addressList.length === 0) {
|
|
this.addressModalData.defaultAddress = 'Y'
|
|
}
|
|
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
|
|
this.addOrUpdateVisible = true;
|
|
this.addOrUpdate = "save";
|
|
this.$nextTick(() => {
|
|
this.$refs.addOrUpdate.initCustomer(this.projectInformationModalData);
|
|
this.$refs.addOrUpdate.init();
|
|
})
|
|
},
|
|
|
|
// ======== 编辑模态框 ========
|
|
/**
|
|
* 客户信息编辑模态框
|
|
* @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,
|
|
type: ''
|
|
}
|
|
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
|
|
this.addOrUpdateVisible = true
|
|
this.addOrUpdate = "update";
|
|
this.$nextTick(() => {
|
|
this.$refs.addOrUpdate.init(row.id)
|
|
})
|
|
},
|
|
|
|
// ======== 详情模态框 ========
|
|
/**
|
|
* 客户信息详情模态框
|
|
* @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,
|
|
type: ''
|
|
}
|
|
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,
|
|
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,
|
|
buNo: row.buNo,
|
|
buDesc: row.buDesc
|
|
}
|
|
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.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.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
|
|
},
|
|
|
|
// 客户组1输入校验
|
|
customerGroupBlur(tagNo) {
|
|
if (this.modalData.customerGroupId1 != null && this.modalData.customerGroupId1 !== '') {
|
|
let tempData = {
|
|
tagno: tagNo,
|
|
conditionSql: " and customer_group_id = '" + this.modalData.customerGroupId1 + "'" + " and site = '" + this.modalData.site + "'"
|
|
}
|
|
verifyData(tempData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
if (data.baseListData.length > 0) {
|
|
this.modalData.customerGroupId1 = data.baseListData[0].customer_group_id
|
|
this.modalData.customerGroupName1 = data.baseListData[0].customer_group_name
|
|
return
|
|
}
|
|
}
|
|
})
|
|
}
|
|
this.modalData.customerGroupName1 = ''
|
|
},
|
|
|
|
// 客户组2输入校验
|
|
customerGroupBlur2(tagNo) {
|
|
if (this.modalData.customerGroupId2 != null && this.modalData.customerGroupId2 !== '') {
|
|
let tempData = {
|
|
tagno: tagNo,
|
|
conditionSql: " and customer_group_id = '" + this.modalData.customerGroupId2 + "'" + " and site = '" + this.modalData.site + "'"
|
|
}
|
|
verifyData(tempData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
if (data.baseListData.length > 0) {
|
|
this.modalData.customerGroupId2 = data.baseListData[0].customer_group_id
|
|
this.modalData.customerGroupName2 = data.baseListData[0].customer_group_name
|
|
return
|
|
}
|
|
}
|
|
})
|
|
}
|
|
this.modalData.customerGroupName2 = ''
|
|
},
|
|
|
|
// ======== 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 === 120) {
|
|
strVal = this.modalData.customerGroupId1
|
|
} else if (val === 121) {
|
|
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 === 120) {
|
|
this.modalData.customerGroupId1 = val.customer_group_id
|
|
this.modalData.customerGroupName1 = val.customer_group_name
|
|
} else if (this.tagNo === 121) {
|
|
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},})
|
|
}
|
|
},
|
|
rowStyle({row}) {
|
|
if (this.customerCurrentRow.customerNo === row.customerNo) {
|
|
return {'background-color': '#E8F7F6', cursor: 'pointer'};
|
|
}
|
|
},
|
|
}
|
|
}
|
|
</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;
|
|
}
|
|
|
|
.numInput /deep/ .el-input__inner {
|
|
text-align: right;
|
|
}
|
|
|
|
/deep/ .inlineNumber input::-webkit-outer-spin-button,
|
|
/deep/ .inlineNumber input::-webkit-inner-spin-button {
|
|
-webkit-appearance: none;
|
|
|
|
}
|
|
|
|
/deep/ .inlineNumber input[type="number"] {
|
|
-moz-appearance: textfield;
|
|
padding-right: 5px !important;
|
|
}
|
|
</style>
|
|
|