|
@@ -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%">
|
|
|
+ <el-radio-group v-model="formData.orderType" size="mini" style="width: 100%" @change="initTradeData">
|
|
|
<el-radio
|
|
|
v-for="item in [
|
|
|
{ label: '工装', value: 'WORK' },
|
|
@@ -25,7 +25,7 @@
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="['add'].includes(module) ? 12 :24" :lg="['add'].includes(module) ? 12 :24" class="item">
|
|
|
+ <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 />
|
|
@@ -35,7 +35,12 @@
|
|
|
<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="请填写"
|
|
|
+ size="mini"
|
|
|
+ clearable
|
|
|
+ />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :lg="8" class="item">
|
|
@@ -54,7 +59,13 @@
|
|
|
<el-col :xs="24" :sm="12" :lg="12" class="item">
|
|
|
<div class="label">{{ ['cross'].includes(pageType) ? '业务所在区域' : '项目所在区域' }}*:</div>
|
|
|
<div class="value">
|
|
|
- <el-select v-model="formData.projectArea" placeholder="请选择" clearable filterable @change="handleProjectArea">
|
|
|
+ <el-select
|
|
|
+ v-model="formData.projectArea"
|
|
|
+ placeholder="请选择"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ @change="handleProjectArea"
|
|
|
+ >
|
|
|
<el-option
|
|
|
v-for="item in commonData.dict['TRADE_PROJECT_AREA']"
|
|
|
:key="item.value"
|
|
@@ -77,7 +88,13 @@
|
|
|
</el-select>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
- <el-col v-if="['frock', 'cross'].includes(pageType) && formData.orderType === 'WORK'" :xs="24" :sm="module === 'detail'?24: 12" :lg="module === 'detail'?24: 12" class="item">
|
|
|
+ <el-col
|
|
|
+ v-if="['frock', 'cross'].includes(pageType) && formData.orderType === 'WORK'"
|
|
|
+ :xs="24"
|
|
|
+ :sm="module === 'detail' ? 24 : 12"
|
|
|
+ :lg="module === 'detail' ? 24 : 12"
|
|
|
+ class="item"
|
|
|
+ >
|
|
|
<div class="label">甲方名称*:</div>
|
|
|
<div class="value">
|
|
|
<el-select v-model="formData.partyAId" placeholder="请选择" clearable filterable @change="handlePartyA">
|
|
@@ -90,16 +107,37 @@
|
|
|
</el-select>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
- <el-col v-else :xs="24" :sm="12" :lg="12" class="item">
|
|
|
+ <el-col v-if="['home'].includes(pageType)" :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">
|
|
|
+ <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 && !isTradeExaminer" v-model="formData.customerName" disabled placeholder="请填写" size="mini" clearable />
|
|
|
- <el-select v-if="isTradeExaminer" v-model="formData.customerId" placeholder="请选择" clearable filterable @change="handleCustomer">
|
|
|
+ <el-input
|
|
|
+ v-if="isCustomer"
|
|
|
+ v-model="formData.customerName"
|
|
|
+ disabled
|
|
|
+ placeholder="请填写"
|
|
|
+ size="mini"
|
|
|
+ clearable
|
|
|
+ />
|
|
|
+ <el-input
|
|
|
+ v-if="!isCustomer && !isTradeExaminer"
|
|
|
+ v-model="formData.customerName"
|
|
|
+ disabled
|
|
|
+ placeholder="请填写"
|
|
|
+ size="mini"
|
|
|
+ clearable
|
|
|
+ />
|
|
|
+ <el-select
|
|
|
+ v-if="isTradeExaminer"
|
|
|
+ v-model="formData.customerId"
|
|
|
+ placeholder="请选择"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ @change="handleCustomer"
|
|
|
+ >
|
|
|
<el-option
|
|
|
v-for="item in commonData.customerList"
|
|
|
:key="item.value"
|
|
@@ -255,9 +293,18 @@
|
|
|
<div class="label">详细地址*:</div>
|
|
|
<div class="value">
|
|
|
<!-- <el-input v-model="formData.positionAddress" placeholder="定位地址" size="mini" clearable disabled /> -->
|
|
|
- <geographicalPosi style="margin: 0 20px 0 0;" v-if="module !== 'detail' && !['cross'].includes(pageType)" :form-data="formData" @selectPosi="handleSelectPosi" />
|
|
|
+ <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 />
|
|
|
- <i v-if="formData.positionAddress && !['cross'].includes(pageType)" class="el-icon-s-promotion" style="color: #409EFF;font-size: 16px;" />
|
|
|
+ <i
|
|
|
+ v-if="formData.positionAddress && !['cross'].includes(pageType)"
|
|
|
+ class="el-icon-s-promotion"
|
|
|
+ style="color: #409eff; font-size: 16px"
|
|
|
+ />
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<template>
|
|
@@ -296,9 +343,16 @@
|
|
|
</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" />
|
|
|
- <el-link v-if="module =='detail' && 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>
|
|
|
+ <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" />
|
|
|
+ <el-link
|
|
|
+ v-if="module == 'detail' && 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
|
|
|
+ >
|
|
|
<!-- <el-input v-model="formData.drawUpload" size="mini" clearable /> -->
|
|
|
</div>
|
|
|
</el-col>
|
|
@@ -332,6 +386,7 @@
|
|
|
placeholder="请选择"
|
|
|
clearable
|
|
|
filterable
|
|
|
+ :disabled="pageType === 'home' || formData.orderType === 'HOME'"
|
|
|
@change="handleTradeParent"
|
|
|
>
|
|
|
<el-option v-for="item in tradeParentList" :key="item.id" :label="item.name" :value="item.id" />
|
|
@@ -341,7 +396,14 @@
|
|
|
<el-col :xs="24" :sm="12" :lg="12" class="item">
|
|
|
<div class="label">行业细分*:</div>
|
|
|
<div class="value">
|
|
|
- <el-select v-model="formData.tradeId" placeholder="请选择" clearable filterable @change="handleTrade">
|
|
|
+ <el-select
|
|
|
+ v-model="formData.tradeId"
|
|
|
+ :disabled="pageType === 'home' || formData.orderType === 'HOME'"
|
|
|
+ placeholder="请选择"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ @change="handleTrade"
|
|
|
+ >
|
|
|
<el-option v-for="item in tradeList" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
</el-select>
|
|
|
</div>
|
|
@@ -349,7 +411,7 @@
|
|
|
<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' ? '工程': '家装' }}
|
|
|
+ {{ pageType === 'frock' ? '工程' : '家装' }}
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="24" :lg="24" class="item">
|
|
@@ -423,7 +485,9 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="24" :lg="24" class="item">
|
|
|
- <div class="label" style="height: auto">工程概况及此工程相关的社会关系以及其他相关信息{{ ['cross'].includes(pageType)?'*':'' }}:</div>
|
|
|
+ <div class="label" style="height: auto">
|
|
|
+ 工程概况及此工程相关的社会关系以及其他相关信息{{ ['cross'].includes(pageType) ? '*' : '' }}:
|
|
|
+ </div>
|
|
|
<div class="value" style="height: 100%">
|
|
|
<el-input
|
|
|
v-model="formData.otherInfo"
|
|
@@ -496,12 +560,16 @@ export default {
|
|
|
tradeParentList: [],
|
|
|
tradeList: [],
|
|
|
orderTypeEume: {
|
|
|
- SAVE: '保存', WAIT: '待审核', OK: '登录成功', FAIL: '登录不成功', RETURN: '返回'
|
|
|
+ SAVE: '保存',
|
|
|
+ WAIT: '待审核',
|
|
|
+ OK: '登录成功',
|
|
|
+ FAIL: '登录不成功',
|
|
|
+ RETURN: '返回'
|
|
|
},
|
|
|
region: {
|
|
|
- G: ['广州市', '清远市', '韶关市'],
|
|
|
- F: ['佛山市','肇庆市','云浮市']
|
|
|
- }
|
|
|
+ G: ['广州市', '清远市', '韶关市'],
|
|
|
+ F: ['佛山市', '肇庆市', '云浮市']
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
@@ -557,8 +625,7 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- created() {
|
|
|
- this.getTradeConfigList()
|
|
|
+ mounted() {
|
|
|
if (this.module === 'add') {
|
|
|
this.getAutonaviRegion()
|
|
|
if (this.isCustomer) {
|
|
@@ -575,8 +642,24 @@ export default {
|
|
|
this.getHistory(this.formData.customerId)
|
|
|
}
|
|
|
}
|
|
|
+ if (this.pageType === 'home' || this.formData.orderType === 'HOME') {
|
|
|
+ this.initTradeData('HOME')
|
|
|
+ }else{
|
|
|
+ this.getTradeConfigList()
|
|
|
+ }
|
|
|
},
|
|
|
methods: {
|
|
|
+ initTradeData(e){
|
|
|
+ if ( e === 'HOME') {
|
|
|
+ this.getTradeConfigList()
|
|
|
+ this.formData.tradeParentId = '1689529426267607042'
|
|
|
+ this.formData.tradeId = '1689529478943870978'
|
|
|
+ }else{
|
|
|
+ this.formData.tradeParentId = ''
|
|
|
+ this.formData.tradeId = ''
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
// 获取省市区街道
|
|
|
getAutonaviRegion(level = 0, id = null) {
|
|
|
getAutonaviRegion({ parentLbsId: id }).then(res => {
|
|
@@ -591,16 +674,15 @@ export default {
|
|
|
}
|
|
|
} else if (level === 1) {
|
|
|
if (this.formData.province === '广东省') {
|
|
|
- this.cityList = res.data.filter(k=>{
|
|
|
- if(this.formData.projectArea){
|
|
|
+ this.cityList = res.data.filter(k => {
|
|
|
+ if (this.formData.projectArea) {
|
|
|
return this.region[this.formData.projectArea].includes(k.name)
|
|
|
}
|
|
|
- return k
|
|
|
+ return k
|
|
|
})
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
this.cityList = res.data
|
|
|
}
|
|
|
-
|
|
|
} else if (level === 2) {
|
|
|
this.areaList = res.data
|
|
|
} else if (level === 3) {
|
|
@@ -608,7 +690,7 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- handleProjectArea(e){
|
|
|
+ handleProjectArea(e) {
|
|
|
if (this.formData.provinceId && this.formData.province === '广东省') {
|
|
|
this.getAutonaviRegion(1, this.formData.provinceId)
|
|
|
}
|
|
@@ -739,13 +821,10 @@ export default {
|
|
|
return
|
|
|
}
|
|
|
this.tradeParentList = res.data
|
|
|
- if (this.formData.id) {
|
|
|
- console.log(this.formData.tradeParentId)
|
|
|
const item = this.tradeParentList.find(k => k.id === this.formData.tradeParentId)
|
|
|
- if (item.childList && item.childList.length) {
|
|
|
+ if (item && item.childList) {
|
|
|
this.tradeList = item.childList
|
|
|
}
|
|
|
- }
|
|
|
})
|
|
|
},
|
|
|
handleService(e) {
|
|
@@ -836,7 +915,7 @@ export default {
|
|
|
.diy-table-1 {
|
|
|
border: 1px solid #cccc;
|
|
|
border-right: none;
|
|
|
- border-bottom: none;
|
|
|
+ border-bottom: none;
|
|
|
}
|
|
|
.diy-table-1 .item {
|
|
|
border-bottom: 1px solid #ccc;
|
|
@@ -846,7 +925,7 @@ export default {
|
|
|
padding: 10px;
|
|
|
border-right: 1px solid #ccc;
|
|
|
}
|
|
|
-.diy-table-1 .item .value{
|
|
|
+.diy-table-1 .item .value {
|
|
|
border-right: 1px solid #ccc;
|
|
|
}
|
|
|
::v-deep .el-select {
|
|
@@ -880,12 +959,12 @@ export default {
|
|
|
font-weight: 300;
|
|
|
}
|
|
|
}
|
|
|
-::v-deep .my-center{
|
|
|
- input{
|
|
|
+::v-deep .my-center {
|
|
|
+ input {
|
|
|
text-align: center !important;
|
|
|
}
|
|
|
}
|
|
|
-::v-deep .el-upload-list__item-name{
|
|
|
+::v-deep .el-upload-list__item-name {
|
|
|
width: 200px !important;
|
|
|
}
|
|
|
.IP_font {
|
|
@@ -901,13 +980,13 @@ export default {
|
|
|
padding: 6px 0 6px 6px;
|
|
|
}
|
|
|
::v-deep .el-radio__inner {
|
|
|
- border: 2px solid #ccc;
|
|
|
- border-radius: 100%;
|
|
|
- width: 14px;
|
|
|
- height: 14px;
|
|
|
- background-color: #FFF;
|
|
|
- cursor: pointer;
|
|
|
- -webkit-box-sizing: border-box;
|
|
|
- box-sizing: border-box;
|
|
|
+ border: 2px solid #ccc;
|
|
|
+ border-radius: 100%;
|
|
|
+ width: 14px;
|
|
|
+ height: 14px;
|
|
|
+ background-color: #fff;
|
|
|
+ cursor: pointer;
|
|
|
+ -webkit-box-sizing: border-box;
|
|
|
+ box-sizing: border-box;
|
|
|
}
|
|
|
</style>
|