From 352e9e459e3c865a8509ccebfe6a3d580a65165c Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期二, 10 十月 2023 13:48:29 +0800
Subject: [PATCH] 搜索公共组件、新建选择客户名称等公共组件、新建弹窗及跟进记录页面批量删除改为单条删除
---
src/views/client/followupRecords/AddFollowupRecordsDialog.vue | 140 +++++++++++++++++++++++++++++-----------------
1 files changed, 89 insertions(+), 51 deletions(-)
diff --git a/src/views/client/followupRecords/AddFollowupRecordsDialog.vue b/src/views/client/followupRecords/AddFollowupRecordsDialog.vue
index a50d001..2dd0b08 100644
--- a/src/views/client/followupRecords/AddFollowupRecordsDialog.vue
+++ b/src/views/client/followupRecords/AddFollowupRecordsDialog.vue
@@ -13,7 +13,7 @@
:model="editConfig.infomation"
:rules="rules"
label-position="right"
- label-width="308px"
+ label-width="168px"
size="mini"
>
<!-- 淇℃伅 -->
@@ -34,19 +34,24 @@
"
value-key="name"
@select="handleSelectClient('client', $event)"
+ style="width: 100%"
></el-autocomplete>
<div class="common-select-btn" @click="selClientClick('client')">
<i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
</div>
- <div class="common-select-btn" @click="clearupClient('client')">
- <i class="el-icon-edit-outline" title="娓呴櫎"></i>
+ <div
+ v-if="editConfig.infomation.client_name && editConfig.infomation.client_name.length > 0"
+ class="common-select-btn"
+ @click="clearupClient('client')"
+ >
+ <i class="el-icon-remove-outline" title="娓呴櫎"></i>
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="12" v-if="isUnflod">
<el-form-item label="璺熻繘璁板綍缂栧彿" prop="number">
- <el-input v-model="editConfig.infomation.number"></el-input>
+ <el-input v-model="editConfig.infomation.number" style="width: 100%"></el-input>
</el-form-item>
</el-col>
<el-col v-if="isUnflod" :span="12">
@@ -57,6 +62,7 @@
placeholder="璇烽�夋嫨"
class="common-select-sel"
size="mini"
+ style="width: 100%"
>
<el-option v-for="item in clientStatusOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
@@ -77,19 +83,29 @@
"
value-key="name"
@select="handleSelectClient('contact', $event)"
+ style="width: 100%"
></el-autocomplete>
<div class="common-select-btn" @click="selClientClick('contact')">
<i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
</div>
- <div class="common-select-btn" @click="clearupClient('contact')">
- <i class="el-icon-edit-outline" title="娓呴櫎"></i>
+ <div
+ v-if="editConfig.infomation.contact_name && editConfig.infomation.contact_name.length > 0"
+ class="common-select-btn"
+ @click="clearupClient('contact')"
+ >
+ <i class="el-icon-remove-outline" title="娓呴櫎"></i>
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="isUnflod" label="璐熻矗浜�" prop="member_id">
- <el-select v-model="editConfig.infomation.member_id" placeholder="璇烽�夋嫨" size="mini">
+ <el-select
+ v-model="editConfig.infomation.member_id"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 100%"
+ >
<el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
</el-option>
</el-select>
@@ -100,30 +116,21 @@
<el-input v-model="editConfig.infomation.topic"></el-input>
</el-form-item>
</el-col>
- <el-col :span="isUnflod ? 24 : 12">
- <el-form-item label="璺熻繘璁板綍" prop="record">
- <el-input
- type="textarea"
- :autosize="{ minRows: 2, maxRows: 4 }"
- v-model="editConfig.infomation.record"
- ></el-input>
- </el-form-item>
- </el-col>
<el-col :span="12">
- <el-form-item label="鑱旂郴鏂瑰紡" prop="contactInfo">
+ <el-form-item label="鑱旂郴鏂瑰紡" prop="contact_information_id">
<!-- <el-input
v-model="editConfig.infomation.phoneNumber"
maxlength="11"
show-word-limit
oninput="value=value.replace(/[^\d]/g,'')"
></el-input> -->
- <el-select v-model="editConfig.infomation.contactInfo" placeholder="璇烽�夋嫨" size="mini">
- <el-option
- v-for="item in contactInfoOptions"
- :key="item.id"
- :label="item.username"
- :value="item.id"
- >
+ <el-select
+ v-model="editConfig.infomation.contact_information_id"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 100%"
+ >
+ <el-option v-for="item in contactInfoOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
@@ -140,12 +147,17 @@
"
value-key="name"
@select="handleSelectClient('chance', $event)"
+ style="width: 100%"
></el-autocomplete>
<div class="common-select-btn" @click="selClientClick('chance')">
<i class="el-icon-circle-plus-outline"></i>
</div>
- <div class="common-select-btn" @click="clearupClient('chance')">
- <i class="el-icon-edit-outline"></i>
+ <div
+ v-if="editConfig.infomation.sale_chance_name && editConfig.infomation.sale_chance_name.length > 0"
+ class="common-select-btn"
+ @click="clearupClient('chance')"
+ >
+ <i class="el-icon-remove-outline"></i>
</div>
</div>
</el-form-item>
@@ -163,12 +175,17 @@
"
value-key="name"
@select="handleSelectClient('lead', $event)"
+ style="width: 100%"
></el-autocomplete>
<div class="common-select-btn" @click="selClientClick('lead')">
<i class="el-icon-circle-plus-outline"></i>
</div>
- <div class="common-select-btn" @click="clearupClient('lead')">
- <i class="el-icon-edit-outline"></i>
+ <div
+ v-if="editConfig.infomation.sales_leads_name && editConfig.infomation.sales_leads_name.length > 0"
+ class="common-select-btn"
+ @click="clearupClient('lead')"
+ >
+ <i class="el-icon-remove-outline"></i>
</div>
</div>
</el-form-item>
@@ -180,6 +197,8 @@
value-format="yyyy-MM-dd"
type="date"
placeholder="閫夋嫨鏃ユ湡"
+ :picker-options="pickerOptions"
+ style="width: 100%"
>
</el-date-picker>
</el-form-item>
@@ -191,8 +210,18 @@
value-format="yyyy-MM-dd"
type="date"
placeholder="閫夋嫨鏃ユ湡"
+ style="width: 100%"
>
</el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :span="isUnflod ? 24 : 12">
+ <el-form-item label="璺熻繘璁板綍" prop="record">
+ <el-input
+ type="textarea"
+ :autosize="{ minRows: 2, maxRows: 4 }"
+ v-model="editConfig.infomation.record"
+ ></el-input>
</el-form-item>
</el-col>
</el-row>
@@ -290,7 +319,7 @@
<script>
import { getAllData } from "@/api/client/client"
-import { getAddFollowRecord, getUpdateFollowRecord } from "@/api/client/followupRecords"
+import { getAddFollowRecord, getUpdateFollowRecord, getContactInfoList } from "@/api/client/followupRecords"
import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog"
import SelectContactDialog from "@/views/other/commonDialog/SelectContactDialog"
import SelectChanceDialog from "@/views/other/commonDialog/SelectChanceDialog"
@@ -329,7 +358,7 @@
},
data() {
return {
- dialogWidth: "80%",
+ dialogWidth: "50%",
editConfig: this.editContactsConfig,
rules: {
number: [{ required: true, message: "璇疯緭鍏ヨ窡杩涜褰曠紪鍙�", trigger: "blur" }],
@@ -345,6 +374,11 @@
trigger: "blur"
}
]
+ },
+ pickerOptions: {
+ disabledDate: (time) => {
+ return time.getTime() > Date.now()
+ }
},
clientStatusOptions: [], // 瀹㈡埛鐘舵��
contactInfoOptions: [], // 鑱旂郴鏂瑰紡
@@ -383,19 +417,23 @@
this.$store.dispatch("geChance")
this.$store.dispatch("geLead")
this.getCommonData()
+ this.getContactInfoList()
},
methods: {
getCommonData() {
- getAllData()
- .then((res) => {
- console.log(res)
- this.clientStatusOptions = res.data.client_status
- this.memberOptions = res.data.member
- this.dataProcess()
- })
- .catch((err) => {
- console.log(err)
- })
+ getAllData().then((res) => {
+ console.log(res)
+ this.clientStatusOptions = res.data.client_status
+ this.memberOptions = res.data.member
+ this.dataProcess()
+ })
+ },
+ async getContactInfoList() {
+ await getContactInfoList().then((res) => {
+ if (res.code === 200) {
+ this.contactInfoOptions = res.data.list
+ }
+ })
},
dataProcess() {
this.saleChancelist.map((item) => {
@@ -426,17 +464,13 @@
}
})
} else {
- getUpdateFollowRecord(params)
- .then((res) => {
- this.editConfig.visible = false
- if (res.code === 200) {
- this.$message.success("缂栬緫鎴愬姛")
- this.$parent.getData()
- }
- })
- .catch((err) => {
- console.log(err)
- })
+ getUpdateFollowRecord(params).then((res) => {
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message.success("缂栬緫鎴愬姛")
+ this.$parent.getData()
+ }
+ })
}
} else {
console.log("error submit")
@@ -495,12 +529,16 @@
handleSelectClient(value, item) {
if (value === "client") {
this.clientId = item.id
+ this.editConfig.infomation.client_name = item.name
} else if (value === "contact") {
this.contactId = item.id
+ this.editConfig.infomation.contact_name = item.name
} else if (value === "chance") {
this.saleChanceId = item.id
+ this.editConfig.infomation.sale_chance_name = item.name
} else {
this.saleLeadId = item.id
+ this.editConfig.infomation.sales_leads_name = item.name
}
},
selClientClick(value) {
--
Gitblit v1.8.0