|
@@ -11,7 +11,7 @@
|
|
|
<el-col v-if="['cross'].includes(pageType)" :xs="24" :sm="24" :lg="24" class="item">
|
|
|
<div class="label">项目性质*:</div>
|
|
|
<div class="value">
|
|
|
- <el-radio-group v-model="formData.orderType" size="mini" style="width: 100%" @change="initTradeData">
|
|
|
+ <el-radio-group v-model="formData.orderType" style="width: 100%" @change="initTradeData">
|
|
|
<el-radio
|
|
|
v-for="item in [
|
|
|
{ label: '工装', value: 'WORK' },
|
|
@@ -28,31 +28,30 @@
|
|
|
<el-col :xs="24" :sm="['add'].includes(module) ? 12 : 24" :lg="['add'].includes(module) ? 12 : 24" class="item">
|
|
|
<div class="label">销售公司名称:</div>
|
|
|
<div class="value">
|
|
|
- <el-input v-model="formData.salesCompanyName" disabled placeholder="请填写" size="mini" clearable />
|
|
|
+ <el-input v-model="formData.salesCompanyName" disabled placeholder="请填写" clearable />
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.salesCompanyName" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<template v-if="!['add'].includes(module)">
|
|
|
<el-col :xs="24" :sm="12" :lg="8" class="item">
|
|
|
<div class="label">工程登录类型:</div>
|
|
|
<div class="value">
|
|
|
- <el-input
|
|
|
- :value="formData.orderType === 'WORK' ? '工装' : '家装'"
|
|
|
- placeholder="请填写"
|
|
|
- size="mini"
|
|
|
- clearable
|
|
|
- />
|
|
|
+ <el-input :value="formData.orderType === 'WORK' ? '工装' : '家装'" placeholder="请填写" clearable />
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.orderType" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :lg="8" class="item">
|
|
|
<div class="label">项目编号:</div>
|
|
|
<div class="value">
|
|
|
- <el-input v-model="formData.projectNo" placeholder="请填写" size="mini" clearable />
|
|
|
+ <el-input v-model="formData.projectNo" placeholder="请填写" clearable />
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.projectNo" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :lg="8" class="item">
|
|
|
<div class="label">登录时间:</div>
|
|
|
<div class="value">
|
|
|
- <el-input v-model="formData.createTime" placeholder="请填写" size="mini" clearable />
|
|
|
+ <el-input v-model="formData.createTime" placeholder="请填写" clearable />
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.createTime" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</template>
|
|
@@ -73,6 +72,10 @@
|
|
|
:value="item.value"
|
|
|
/>
|
|
|
</el-select>
|
|
|
+ <CopyButton
|
|
|
+ v-if="module !== 'add'"
|
|
|
+ :copyText="getCopyText(commonData.dict['TRADE_PROJECT_AREA'], formData.projectArea)"
|
|
|
+ />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :lg="12" class="item">
|
|
@@ -86,48 +89,53 @@
|
|
|
:value="item.value"
|
|
|
/>
|
|
|
</el-select>
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="getCopyText(commonData.salesmanList, formData.serviceId)" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col
|
|
|
- v-if="['frock', 'cross'].includes(pageType) && formData.orderType === 'WORK'"
|
|
|
+ v-if="pageType === 'frock' || (pageType === 'cross' && formData.orderType === 'WORK')"
|
|
|
:xs="24"
|
|
|
- :sm="module === 'detail' ? 24 : 12"
|
|
|
- :lg="module === 'detail' ? 24 : 12"
|
|
|
+ :sm="!['add', 'edit'].includes(module) ? 24 : 12"
|
|
|
+ :lg="!['add', 'edit'].includes(module) ? 24 : 12"
|
|
|
class="item"
|
|
|
>
|
|
|
<div class="label">甲方名称*:</div>
|
|
|
<div class="value">
|
|
|
- <el-select v-model="formData.partyAId" placeholder="请选择" clearable filterable @change="handlePartyA">
|
|
|
+ <div style="flex: 1; cursor: pointer" @click="dialogVisible = true" v-if="formData.partyA">
|
|
|
+ {{ formData.partyA }}
|
|
|
+ </div>
|
|
|
+ <div style="flex: 1; cursor: pointer; opacity: 0.6" @click="dialogVisible = true" v-else>请选择</div>
|
|
|
+ <!-- <el-select v-model="formData.partyAId" placeholder="请选择" clearable filterable @change="handlePartyA">
|
|
|
<el-option
|
|
|
v-for="item in commonData.PartyAList"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value"
|
|
|
/>
|
|
|
- </el-select>
|
|
|
+ </el-select> -->
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.partyA" />
|
|
|
+ <!-- dialogVisible -->
|
|
|
</div>
|
|
|
</el-col>
|
|
|
- <el-col v-if="['home'].includes(pageType)" :xs="24" :sm="12" :lg="12" class="item">
|
|
|
+ <el-col
|
|
|
+ v-if="['add', 'edit'].includes(module) && (pageType === 'home' || formData.orderType === 'HOME')"
|
|
|
+ :xs="24"
|
|
|
+ :sm="12"
|
|
|
+ :lg="12"
|
|
|
+ class="item"
|
|
|
+ >
|
|
|
<div class="label" />
|
|
|
<div class="value" />
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :lg="module === 'edit' ? 12 : 8" class="item">
|
|
|
<div class="label">经销商*:</div>
|
|
|
<div class="value">
|
|
|
- <el-input
|
|
|
- v-if="isCustomer"
|
|
|
- v-model="formData.customerName"
|
|
|
- disabled
|
|
|
- placeholder="请填写"
|
|
|
- size="mini"
|
|
|
- clearable
|
|
|
- />
|
|
|
+ <el-input v-if="isCustomer" v-model="formData.customerName" disabled placeholder="请填写" clearable />
|
|
|
<el-input
|
|
|
v-if="!isCustomer && !isTradeExaminer"
|
|
|
v-model="formData.customerName"
|
|
|
disabled
|
|
|
placeholder="请填写"
|
|
|
- size="mini"
|
|
|
clearable
|
|
|
/>
|
|
|
<el-select
|
|
@@ -136,6 +144,10 @@
|
|
|
placeholder="请选择"
|
|
|
clearable
|
|
|
filterable
|
|
|
+ remote
|
|
|
+ reserve-keyword
|
|
|
+ :remote-method="remoteMethod"
|
|
|
+ :loading="loading"
|
|
|
@change="handleCustomer"
|
|
|
>
|
|
|
<el-option
|
|
@@ -145,36 +157,46 @@
|
|
|
:value="item.value"
|
|
|
/>
|
|
|
</el-select>
|
|
|
+ <CopyButton
|
|
|
+ v-if="module !== 'add' && isTradeExaminer"
|
|
|
+ :copyText="getCopyText(commonData.customerList, formData.customerId)"
|
|
|
+ />
|
|
|
+ <CopyButton v-if="module !== 'add' && !isTradeExaminer" :copyText="formData.customerName" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :lg="8" class="item">
|
|
|
<div class="label">经销商联系人*:</div>
|
|
|
<div class="value">
|
|
|
- <el-input v-model="formData.customerLinkName" placeholder="请填写" size="mini" clearable />
|
|
|
+ <el-input v-model="formData.customerLinkName" placeholder="请填写" clearable />
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.customerLinkName" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :lg="8" class="item">
|
|
|
<div class="label">经销商联系电话*:</div>
|
|
|
<div class="value">
|
|
|
- <el-input v-model="formData.customerLinkMobile" maxlength="11" placeholder="请填写" size="mini" clearable />
|
|
|
+ <el-input v-model="formData.customerLinkMobile" maxlength="11" placeholder="请填写" clearable />
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.customerLinkMobile" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :lg="8" class="item">
|
|
|
<div class="label">经销商办公地址*:</div>
|
|
|
<div class="value">
|
|
|
- <el-input v-model="formData.customerAddress" placeholder="请填写" size="mini" clearable />
|
|
|
+ <el-input v-model="formData.customerAddress" placeholder="请填写" clearable />
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.customerAddress" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :lg="8" class="item">
|
|
|
<div class="label">跟进经销商*:</div>
|
|
|
<div class="value">
|
|
|
- <el-input v-model="formData.followCustomer" placeholder="请填写" size="mini" clearable />
|
|
|
+ <el-input v-model="formData.followCustomer" placeholder="请填写" clearable />
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.followCustomer" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :lg="8" class="item">
|
|
|
<div class="label">跟进经销商电话*:</div>
|
|
|
<div class="value">
|
|
|
- <el-input v-model="formData.followCustomerMobile" placeholder="请填写" size="mini" clearable />
|
|
|
+ <el-input v-model="formData.followCustomerMobile" placeholder="请填写" clearable />
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.followCustomerMobile" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col
|
|
@@ -186,7 +208,8 @@
|
|
|
>
|
|
|
<div class="label">工程项目名称*:</div>
|
|
|
<div class="value">
|
|
|
- <el-input v-model="formData.projectName" placeholder="请填写" size="mini" clearable />
|
|
|
+ <el-input v-model="formData.projectName" placeholder="请填写" clearable />
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.projectName" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col
|
|
@@ -197,7 +220,8 @@
|
|
|
>
|
|
|
<div class="label">工程联系人*:</div>
|
|
|
<div class="value">
|
|
|
- <el-input v-model="formData.enginLinkName" placeholder="请填写" size="mini" clearable />
|
|
|
+ <el-input v-model="formData.enginLinkName" placeholder="请填写" clearable />
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.enginLinkName" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col
|
|
@@ -208,7 +232,8 @@
|
|
|
>
|
|
|
<div class="label">电话*:</div>
|
|
|
<div class="value">
|
|
|
- <el-input v-model="formData.enginLinkMobile" placeholder="请填写" size="mini" clearable />
|
|
|
+ <el-input v-model="formData.enginLinkMobile" placeholder="请填写" clearable />
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.enginLinkMobile" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col
|
|
@@ -220,70 +245,80 @@
|
|
|
>
|
|
|
<div class="label" style="height: auto">工程项目名称*:</div>
|
|
|
<div class="value my-center" style="height: 100%">
|
|
|
- <el-radio-group v-model="formData.homeProjectNameRadio" size="mini">
|
|
|
+ <el-radio-group v-model="formData.homeProjectNameRadio">
|
|
|
<el-radio label="AREA">
|
|
|
- <el-input
|
|
|
- v-model="formData.homeProjectNameArea"
|
|
|
- class="my-width"
|
|
|
- placeholder="请填写"
|
|
|
- size="mini"
|
|
|
- clearable
|
|
|
- />小区
|
|
|
- <el-input
|
|
|
- v-model="formData.homeProjectNameSeat"
|
|
|
- class="my-width"
|
|
|
- placeholder="请填写"
|
|
|
- size="mini"
|
|
|
- clearable
|
|
|
- />座
|
|
|
- <el-input
|
|
|
- v-model="formData.homeProjectNameNumber"
|
|
|
- class="my-width"
|
|
|
- placeholder="请填写"
|
|
|
- size="mini"
|
|
|
- clearable
|
|
|
- />号
|
|
|
+ <el-input v-model="formData.homeProjectNameArea" class="my-width" placeholder="请填写" clearable />小区
|
|
|
+ <el-input v-model="formData.homeProjectNameSeat" class="my-width" placeholder="请填写" clearable />座
|
|
|
+ <el-input v-model="formData.homeProjectNameNumber" class="my-width" placeholder="请填写" clearable />号
|
|
|
+ <CopyButton
|
|
|
+ v-if="module !== 'add'"
|
|
|
+ :copyText="
|
|
|
+ formData.homeProjectNameArea +
|
|
|
+ '小区' +
|
|
|
+ formData.homeProjectNameSeat +
|
|
|
+ '座' +
|
|
|
+ formData.homeProjectNameNumber +
|
|
|
+ '号'
|
|
|
+ "
|
|
|
+ />
|
|
|
</el-radio>
|
|
|
<el-radio label="SELF">
|
|
|
<el-input
|
|
|
v-model="formData.homeProjectNameArea2"
|
|
|
class="my-width"
|
|
|
placeholder="请填写"
|
|
|
- size="mini"
|
|
|
clearable
|
|
|
/>(业主名称)自建房
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.homeProjectNameArea2 + '(业主名称)自建房'" />
|
|
|
</el-radio>
|
|
|
<el-radio label="VILLA">
|
|
|
- <el-input
|
|
|
- v-model="formData.homeProjectNameArea3"
|
|
|
- class="my-width"
|
|
|
- placeholder="请填写"
|
|
|
- size="mini"
|
|
|
- clearable
|
|
|
- />小区
|
|
|
+ <el-input v-model="formData.homeProjectNameArea3" class="my-width" placeholder="请填写" clearable />小区
|
|
|
<el-input
|
|
|
v-model="formData.homeProjectNameNumber3"
|
|
|
class="my-width"
|
|
|
placeholder="请填写"
|
|
|
- size="mini"
|
|
|
clearable
|
|
|
/>号别墅
|
|
|
+ <CopyButton
|
|
|
+ v-if="module !== 'add'"
|
|
|
+ :copyText="formData.homeProjectNameArea3 + '小区' + formData.homeProjectNameNumber3 + '号'"
|
|
|
+ />
|
|
|
</el-radio>
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
+ <el-col
|
|
|
+ v-if="
|
|
|
+ (['home'].includes(pageType) || formData.orderType === 'HOME') &&
|
|
|
+ !['add', 'edit'].includes(module) &&
|
|
|
+ formData.isOld == true
|
|
|
+ "
|
|
|
+ :xs="24"
|
|
|
+ :sm="24"
|
|
|
+ :lg="24"
|
|
|
+ class="item"
|
|
|
+ >
|
|
|
+ <div class="label" style="height: auto">旧单工程项目名称*:</div>
|
|
|
+ <div class="value" style="height: 100%">
|
|
|
+ <el-input v-model="formData.projectName" placeholder="请填写" clearable />
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.projectName" />
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
<el-col :xs="24" :sm="24" :lg="24" class="item">
|
|
|
<div class="label">工程(建筑)地址*:</div>
|
|
|
<div class="value">
|
|
|
<el-select v-model="formData.provinceId" placeholder="请选择省" class="my-width" @change="changeProvince">
|
|
|
<el-option v-for="item in provinceList" :key="item.lbsId" :label="item.name" :value="item.lbsId" />
|
|
|
</el-select>
|
|
|
+
|
|
|
<el-select v-model="formData.cityId" placeholder="请选择市" class="my-width" @change="changeCity">
|
|
|
<el-option v-for="item in cityList" :key="item.lbsId" :label="item.name" :value="item.lbsId" />
|
|
|
</el-select>
|
|
|
+
|
|
|
<el-select v-model="formData.areaId" placeholder="请选择区" class="my-width" @change="changeArea">
|
|
|
<el-option v-for="item in areaList" :key="item.lbsId" :label="item.name" :value="item.lbsId" />
|
|
|
</el-select>
|
|
|
+
|
|
|
<el-select v-model="formData.streetId" placeholder="请选择街道" class="my-width" @change="changeStreet">
|
|
|
<el-option v-for="item in streetList" :key="item.lbsId" :label="item.name" :value="item.lbsId" />
|
|
|
</el-select>
|
|
@@ -292,14 +327,16 @@
|
|
|
<el-col :xs="24" :sm="24" :lg="24" class="item">
|
|
|
<div class="label">详细地址*:</div>
|
|
|
<div class="value">
|
|
|
- <!-- <el-input v-model="formData.positionAddress" placeholder="定位地址" size="mini" clearable disabled /> -->
|
|
|
- <geographicalPosi
|
|
|
+ <!-- <el-input v-model="formData.positionAddress" placeholder="定位地址" clearable disabled /> -->
|
|
|
+ <!-- <geographicalPosi
|
|
|
style="margin: 0 20px 0 0"
|
|
|
v-if="module !== 'detail' && !['cross'].includes(pageType)"
|
|
|
:form-data="formData"
|
|
|
@selectPosi="handleSelectPosi"
|
|
|
- />
|
|
|
- <el-input v-model="formData.address" placeholder="请填写详细地址" size="mini" clearable />
|
|
|
+ /> -->
|
|
|
+ <el-input v-model="formData.address" placeholder="请填写详细地址" clearable />
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.address" />
|
|
|
+
|
|
|
<i
|
|
|
v-if="formData.positionAddress && !['cross'].includes(pageType)"
|
|
|
class="el-icon-s-promotion"
|
|
@@ -307,7 +344,7 @@
|
|
|
/>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
- <template>
|
|
|
+ <!-- <template>
|
|
|
<el-col v-if="module !== 'add'" :xs="24" :sm="24" :lg="24" class="item" style="height: 400px">
|
|
|
<div class="label" style="height: auto">地图位置</div>
|
|
|
<div class="value" style="height: auto; padding: 0">
|
|
@@ -315,6 +352,7 @@
|
|
|
eid="bMap"
|
|
|
:zoom="zoom"
|
|
|
:center="center"
|
|
|
+ :isWheel="true"
|
|
|
:markers="markers"
|
|
|
:electronic-fence="electronicFence"
|
|
|
@getPolygons="getPolygons"
|
|
@@ -330,11 +368,11 @@
|
|
|
</zj-amap-polygon>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
- </template>
|
|
|
+ </template> -->
|
|
|
<el-col :xs="24" :sm="24" :lg="24" class="item">
|
|
|
<div class="label">项目类别*:</div>
|
|
|
<div class="value">
|
|
|
- <el-radio-group v-model="formData.projectCategory" size="mini">
|
|
|
+ <el-radio-group v-model="formData.projectCategory">
|
|
|
<el-radio v-for="item in commonData.dict['TRADE_LOGIN_CATEGORY']" :key="item.value" :label="item.value">
|
|
|
{{ item.label }}
|
|
|
</el-radio>
|
|
@@ -343,23 +381,28 @@
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :lg="12" class="item">
|
|
|
<div class="label">图纸上传:</div>
|
|
|
- <div class="value" style="justify-content: flex-end; position: relative">
|
|
|
- <FileUpload v-if="module !== 'detail'" :file-list="formData.fileList" size="mini" :limit="1" class="file" />
|
|
|
+ <div class="value" style="justify-content: flex-end; position: relative; overflow: hidden">
|
|
|
+ <FileUpload
|
|
|
+ v-if="module !== 'detail' && module !== 'examine'"
|
|
|
+ :file-list="formData.fileList"
|
|
|
+ :limit="2"
|
|
|
+ class="file"
|
|
|
+ />
|
|
|
<el-link
|
|
|
- v-if="module == 'detail' && formData.fileList && formData.fileList.length"
|
|
|
+ v-if="(module == 'detail' || module == 'examine') && formData.fileList && formData.fileList.length"
|
|
|
style="position: absolute; left: 5px"
|
|
|
type="primary"
|
|
|
:underline="false"
|
|
|
@click="openPdf(formData.fileList[0])"
|
|
|
- >{{ formData.fileList[0].name }}下载</el-link
|
|
|
+ >{{ formData.fileList[0].fileName }}</el-link
|
|
|
>
|
|
|
- <!-- <el-input v-model="formData.drawUpload" size="mini" clearable /> -->
|
|
|
+ <!-- <el-input v-model="formData.drawUpload" clearable /> -->
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :lg="12" class="item">
|
|
|
<div class="label">类型</div>
|
|
|
<div class="value">
|
|
|
- <el-radio-group v-model="formData.type" size="mini">
|
|
|
+ <el-radio-group v-model="formData.type">
|
|
|
<el-radio v-for="item in commonData.dict['TRADE_LOGIN_TYPE']" :key="item.value" :label="item.value">
|
|
|
{{ item.label }}
|
|
|
</el-radio>
|
|
@@ -369,13 +412,15 @@
|
|
|
<el-col :xs="24" :sm="12" :lg="12" class="item">
|
|
|
<div class="label">建筑面积㎡*:</div>
|
|
|
<div class="value">
|
|
|
- <el-input v-model="formData.extent" placeholder="请填写" size="mini" clearable />
|
|
|
+ <el-input v-model="formData.extent" placeholder="请填写" clearable />
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.extent" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :lg="12" class="item">
|
|
|
<div class="label">空调使用面积㎡*:</div>
|
|
|
<div class="value">
|
|
|
- <el-input v-model="formData.useExtent" placeholder="请填写" size="mini" clearable />
|
|
|
+ <el-input v-model="formData.useExtent" placeholder="请填写" clearable />
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.useExtent" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :lg="12" class="item">
|
|
@@ -391,6 +436,7 @@
|
|
|
>
|
|
|
<el-option v-for="item in tradeParentList" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
</el-select>
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.tradeParentName" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :lg="12" class="item">
|
|
@@ -406,12 +452,14 @@
|
|
|
>
|
|
|
<el-option v-for="item in tradeList" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
</el-select>
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.tradeName" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col v-if="['frock', 'home'].includes(pageType)" :xs="24" :sm="24" :lg="24" class="item">
|
|
|
<div class="label">项目性质*:</div>
|
|
|
<div class="value">
|
|
|
{{ pageType === 'frock' ? '工程' : '家装' }}
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="pageType === 'frock' ? '工程' : '家装'" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="24" :lg="24" class="item">
|
|
@@ -425,12 +473,16 @@
|
|
|
:value="item.value"
|
|
|
/>
|
|
|
</el-select>
|
|
|
+ <CopyButton
|
|
|
+ v-if="module !== 'add'"
|
|
|
+ :copyText="getCopyText(commonData.dict['LOGIN_MACHINE_TYPE'], formData.machineType)"
|
|
|
+ />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="24" :lg="24" class="item">
|
|
|
<div class="label">成功机率*:</div>
|
|
|
<div class="value">
|
|
|
- <el-radio-group v-model="formData.successRate" size="mini">
|
|
|
+ <el-radio-group v-model="formData.successRate">
|
|
|
<el-radio v-for="item in commonData.dict['SUCCESS_RATE']" :key="item.value" :label="item.value">
|
|
|
{{ item.label }}
|
|
|
</el-radio>
|
|
@@ -448,18 +500,19 @@
|
|
|
style="width: 100%"
|
|
|
placeholder="选择日期"
|
|
|
/>
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.preSignDate" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :lg="12" class="item">
|
|
|
<div class="label">预计设备金额*:</div>
|
|
|
<div class="value">
|
|
|
- <el-input v-model="formData.preDeviceAmount" placeholder="请填写" size="mini" clearable />万
|
|
|
+ <el-input type="number" v-model.number="formData.preDeviceAmount" placeholder="请填写" clearable />万
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="24" :lg="24" class="item">
|
|
|
<div class="label">工程跟进状态*:</div>
|
|
|
<div class="value">
|
|
|
- <el-radio-group v-model="formData.status" size="mini">
|
|
|
+ <el-radio-group v-model="formData.status">
|
|
|
<el-radio v-for="item in commonData.dict['FOLLOW_STATUS']" :key="item.value" :label="item.value">
|
|
|
{{ item.label }}
|
|
|
</el-radio>
|
|
@@ -469,7 +522,8 @@
|
|
|
<el-col v-if="['detail', 'examine'].includes(module)" :xs="24" :sm="24" :lg="24" class="item">
|
|
|
<div class="label">订单状态:</div>
|
|
|
<div class="value">
|
|
|
- <el-input :value="orderTypeEume[formData.orderStatus]" placeholder="请填写" size="mini" clearable />
|
|
|
+ <el-input :value="orderTypeEume[formData.orderStatus]" placeholder="请填写" clearable />
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="orderTypeEume[formData.orderStatus]" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="24" :lg="24" class="item">
|
|
@@ -482,6 +536,7 @@
|
|
|
:rows="4"
|
|
|
placeholder="请输入备注"
|
|
|
/>
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.remark" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="24" :lg="24" class="item">
|
|
@@ -496,9 +551,23 @@
|
|
|
:rows="3"
|
|
|
placeholder="请输入内容"
|
|
|
/>
|
|
|
+ <CopyButton v-if="module !== 'add'" :copyText="formData.otherInfo" />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
+
|
|
|
+ <el-dialog
|
|
|
+ title="选择甲方"
|
|
|
+ :visible.sync="dialogVisible"
|
|
|
+ width="1000px"
|
|
|
+ :before-close="handleClose"
|
|
|
+ v-if="dialogVisible"
|
|
|
+ :append-to-body="true"
|
|
|
+ >
|
|
|
+ <div style="height: 600px">
|
|
|
+ <template-page ref="pageRef__" :get-list="getList" :operation="operation()"> </template-page>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -511,11 +580,14 @@ import GeographicalPosi from './geographicalPosi.vue'
|
|
|
import FileUpload from '@/components/Common/file-upload.vue'
|
|
|
import { mapGetters } from 'vuex'
|
|
|
import { getPositionProject, getHistory } from '@/api/frock'
|
|
|
-
|
|
|
+import { getDealerListV3 } from '@/api/basic_data/dealer'
|
|
|
+import TemplatePage from '@/components/template/template-page-1.vue'
|
|
|
+import { getFirstPartyCustomerManagementList } from '@/api/basic_data/partya'
|
|
|
export default {
|
|
|
components: {
|
|
|
FileUpload,
|
|
|
- GeographicalPosi
|
|
|
+ GeographicalPosi,
|
|
|
+ TemplatePage
|
|
|
},
|
|
|
props: {
|
|
|
// 标题
|
|
@@ -569,17 +641,35 @@ export default {
|
|
|
region: {
|
|
|
G: ['广州市', '清远市', '韶关市'],
|
|
|
F: ['佛山市', '肇庆市', '云浮市']
|
|
|
- }
|
|
|
+ },
|
|
|
+ // 特殊处理市区
|
|
|
+ specialCity: {
|
|
|
+ '1608754035946549250': '东莞市',
|
|
|
+ '1608754032574328834': '中山市',
|
|
|
+ '1608756901402767362': '儋州市',
|
|
|
+ '1608756898412228610': '三沙市',
|
|
|
+ '1608757977963163649': '嘉峪关市'
|
|
|
+ },
|
|
|
+ loading: false,
|
|
|
+ dialogVisible: false
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
- ...mapGetters(['isTradeExaminer', 'isCustomer', 'customerNumber', 'customerId', 'customerName'])
|
|
|
+ ...mapGetters(['isTradeExaminer', 'isCustomer', 'customerNumber', 'customerId', 'customerName']),
|
|
|
+ getCopyText() {
|
|
|
+ return (arr = [], id = '') => {
|
|
|
+ if (id && arr.length) {
|
|
|
+ return String(arr.find(k => k.value === id)?.label || id)
|
|
|
+ }
|
|
|
+ return String(id)
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
watch: {
|
|
|
async 'formData.id'(newValue, oldValue) {
|
|
|
if (newValue) {
|
|
|
if (this.isTradeExaminer) {
|
|
|
- this.getPositionProject()
|
|
|
+ // this.getPositionProject()
|
|
|
} else {
|
|
|
this.markers = [
|
|
|
{
|
|
@@ -617,11 +707,16 @@ export default {
|
|
|
this.formData.homeProjectNameSeat = ''
|
|
|
this.formData.homeProjectNameNumber = ''
|
|
|
}
|
|
|
-
|
|
|
await this.getCallbackPosition(null, this.formData.provinceId, 'province', 'lbsId')
|
|
|
await this.getCallbackPosition(this.formData.provinceId, this.formData.cityId, 'city', 'lbsId')
|
|
|
await this.getCallbackPosition(this.formData.cityId, this.formData.areaId, 'area', 'lbsId')
|
|
|
- await this.getCallbackPosition(this.formData.areaId, this.formData.streetId, 'street', 'lbsId')
|
|
|
+ const temp = this.areaList.find(k => this.formData.cityId == k.value)
|
|
|
+ if (!temp && !temp?.parentLbsId && !Object.keys(this.specialCity).includes(temp?.parentLbsId)) {
|
|
|
+ await this.getCallbackPosition(this.formData.areaId, this.formData.streetId, 'street', 'lbsId')
|
|
|
+ }
|
|
|
+ if (this.module !== 'add' && this.isTradeExaminer && this.formData.customerId && this.formData.customerName) {
|
|
|
+ this.getDealerListV3(this.formData.customerName)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -644,21 +739,43 @@ export default {
|
|
|
}
|
|
|
if (this.pageType === 'home' || this.formData.orderType === 'HOME') {
|
|
|
this.initTradeData('HOME')
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
this.getTradeConfigList()
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
- initTradeData(e){
|
|
|
- if ( e === 'HOME') {
|
|
|
+ getList: getFirstPartyCustomerManagementList,
|
|
|
+ handleClose() {
|
|
|
+ this.dialogVisible = false
|
|
|
+ },
|
|
|
+ operation() {
|
|
|
+ return (h, { row, index, column }) => {
|
|
|
+ return (
|
|
|
+ <div class="operation-btns">
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ onClick={() => {
|
|
|
+ this.formData.partyA = row.name
|
|
|
+ this.formData.partyAId = row.id
|
|
|
+ this.dialogVisible = false
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 确定选中
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ },
|
|
|
+ initTradeData(e) {
|
|
|
+ if (e === 'HOME') {
|
|
|
this.getTradeConfigList()
|
|
|
this.formData.tradeParentId = '1689529426267607042'
|
|
|
- this.formData.tradeId = '1689529478943870978'
|
|
|
- }else{
|
|
|
+ this.formData.tradeId = '1689529478943870978'
|
|
|
+ } else {
|
|
|
this.formData.tradeParentId = ''
|
|
|
- this.formData.tradeId = ''
|
|
|
+ this.formData.tradeId = ''
|
|
|
}
|
|
|
-
|
|
|
},
|
|
|
// 获取省市区街道
|
|
|
getAutonaviRegion(level = 0, id = null) {
|
|
@@ -673,7 +790,7 @@ export default {
|
|
|
this.provinceList = res.data
|
|
|
}
|
|
|
} else if (level === 1) {
|
|
|
- if (this.formData.province === '广东省') {
|
|
|
+ if (this.formData.province === '广东省' && ['frock', 'home'].includes(this.pageType)) {
|
|
|
this.cityList = res.data.filter(k => {
|
|
|
if (this.formData.projectArea) {
|
|
|
return this.region[this.formData.projectArea].includes(k.name)
|
|
@@ -691,7 +808,11 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
handleProjectArea(e) {
|
|
|
- if (this.formData.provinceId && this.formData.province === '广东省') {
|
|
|
+ if (
|
|
|
+ ['frock', 'home'].includes(this.pageType) &&
|
|
|
+ this.formData.provinceId &&
|
|
|
+ this.formData.province === '广东省'
|
|
|
+ ) {
|
|
|
this.getAutonaviRegion(1, this.formData.provinceId)
|
|
|
}
|
|
|
},
|
|
@@ -736,6 +857,9 @@ export default {
|
|
|
this.formData.cityId = ''
|
|
|
this.formData.areaId = ''
|
|
|
this.formData.streetId = ''
|
|
|
+ this.formData.city = ''
|
|
|
+ this.formData.area = ''
|
|
|
+ this.formData.street = ''
|
|
|
this.cityList = []
|
|
|
this.areaList = []
|
|
|
this.streetList = []
|
|
@@ -747,6 +871,8 @@ export default {
|
|
|
changeCity(value) {
|
|
|
this.formData.areaId = ''
|
|
|
this.formData.streetId = ''
|
|
|
+ this.formData.area = ''
|
|
|
+ this.formData.street = ''
|
|
|
this.areaList = []
|
|
|
this.streetList = []
|
|
|
this.getAutonaviRegion(2, value)
|
|
@@ -757,7 +883,24 @@ export default {
|
|
|
changeArea(value) {
|
|
|
this.areaValue = value
|
|
|
this.formData.streetId = ''
|
|
|
+ this.formData.street = ''
|
|
|
this.streetList = []
|
|
|
+ // 特殊处理市
|
|
|
+ const temps = this.areaList.filter(k => {
|
|
|
+ return k.lbsId === value
|
|
|
+ })
|
|
|
+ if (
|
|
|
+ value &&
|
|
|
+ this.areaList.length &&
|
|
|
+ temps.length &&
|
|
|
+ temps[0]?.parentLbsId &&
|
|
|
+ Object.keys(this.specialCity).includes(temps[0]?.parentLbsId)
|
|
|
+ ) {
|
|
|
+ this.streetList = temps
|
|
|
+ this.formData.streetId = value
|
|
|
+ this.handleArea(value, 'street')
|
|
|
+ return
|
|
|
+ }
|
|
|
this.getAutonaviRegion(3, value)
|
|
|
this.handleArea(value, 'area')
|
|
|
},
|
|
@@ -821,10 +964,10 @@ export default {
|
|
|
return
|
|
|
}
|
|
|
this.tradeParentList = res.data
|
|
|
- const item = this.tradeParentList.find(k => k.id === this.formData.tradeParentId)
|
|
|
- if (item && item.childList) {
|
|
|
- this.tradeList = item.childList
|
|
|
- }
|
|
|
+ const item = this.tradeParentList.find(k => k.id === this.formData.tradeParentId)
|
|
|
+ if (item && item.childList) {
|
|
|
+ this.tradeList = item.childList
|
|
|
+ }
|
|
|
})
|
|
|
},
|
|
|
handleService(e) {
|
|
@@ -875,7 +1018,10 @@ export default {
|
|
|
await this.getCallbackPosition(null, province, 'province')
|
|
|
await this.getCallbackPosition(this.formData.provinceId, city, 'city')
|
|
|
await this.getCallbackPosition(this.formData.cityId, area, 'area')
|
|
|
- await this.getCallbackPosition(this.formData.areaId, street, 'street')
|
|
|
+ const temp = this.areaList.find(k => this.formData.cityId == k.value)
|
|
|
+ if (!temp && !temp?.parentLbsId && !Object.keys(this.specialCity).includes(temp?.parentLbsId)) {
|
|
|
+ await this.getCallbackPosition(this.formData.areaId, street, 'street')
|
|
|
+ }
|
|
|
},
|
|
|
|
|
|
/**
|
|
@@ -888,6 +1034,13 @@ export default {
|
|
|
const { data } = await getAutonaviRegion({ parentLbsId: id })
|
|
|
this[name + 'List'] = data
|
|
|
const temp = data.find(k => k[way] == value)
|
|
|
+ // 特殊处理市
|
|
|
+ if (name === 'area' && Object.keys(this.specialCity).includes(temp.parentLbsId)) {
|
|
|
+ this.streetList = [temp]
|
|
|
+ this.formData.streetId = temp.lbsId
|
|
|
+ this.handleArea(temp.lbsId, 'street')
|
|
|
+ return
|
|
|
+ }
|
|
|
this.formData[name] = temp && temp.name
|
|
|
this.formData[name + 'Id'] = temp && temp.lbsId
|
|
|
},
|
|
@@ -906,6 +1059,35 @@ export default {
|
|
|
this.formData.customerLinkMobile = res.data.linkMobile || ''
|
|
|
this.formData.customerAddress = res.data.address || ''
|
|
|
})
|
|
|
+ },
|
|
|
+ remoteMethod(e) {
|
|
|
+ this.loading = false
|
|
|
+ this.getDealerListV3(e)
|
|
|
+ },
|
|
|
+ getDealerListV3(e) {
|
|
|
+ getDealerListV3({
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 100,
|
|
|
+ params: [
|
|
|
+ {
|
|
|
+ param: 'a.name',
|
|
|
+ compare: 'like',
|
|
|
+ value: e
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ this.commonData.customerList = res.data.records.map(k => {
|
|
|
+ return {
|
|
|
+ number: k.number,
|
|
|
+ label: k.name,
|
|
|
+ value: k.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ this.loading = false
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -927,6 +1109,7 @@ export default {
|
|
|
}
|
|
|
.diy-table-1 .item .value {
|
|
|
border-right: 1px solid #ccc;
|
|
|
+ justify-content: space-between;
|
|
|
}
|
|
|
::v-deep .el-select {
|
|
|
width: 100% !important;
|