From 6857572e3d303daaf3c28e639aad91c0bdf2fc42 Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期二, 15 八月 2023 14:30:10 +0800
Subject: [PATCH] bug修复及对应参数联调
---
src/views/client/contacts/AddContactsDialog.vue | 52 +++
src/views/sales/subOrder/index.vue | 39 ++
src/views/service/serviceContract/DetailServiceContract.vue | 9
src/views/service/clientServiceOrder/DetailClientServiceOrder.vue | 10
src/views/client/client/DetailClientManage.vue | 47 +--
src/views/sales/masterOrder/DetailMasterOrder.vue | 52 ++--
src/views/sales/masterOrder/index.vue | 38 ++
src/views/sales/masterOrder/AddMasterOrderDialog.vue | 14 +
src/views/client/client/AddClientManageDialog.vue | 10
src/views/service/serviceFollowup/DetailServiceFollowup.vue | 6
src/views/client/contacts/index.vue | 20 +
src/views/client/salesLead/DetailSalesLead.vue | 10
src/views/sales/salesOpportunity/DetailOpportunity.vue | 38 +-
src/views/client/salesLead/index.vue | 8
src/views/sales/quotation/AddQuotationDialog.vue | 70 +++++
src/views/client/followupRecords/index.vue | 4
src/views/sales/quotation/DetailQuotation.vue | 191 ++-------------
src/views/sales/salesOpportunity/index.vue | 21 +
src/views/sales/subOrder/AddSubOrderDialog.vue | 4
src/views/client/contacts/DetailContacts.vue | 18 -
src/views/sales/quotation/index.vue | 36 ++
src/views/sales/salesDetails/index.vue | 15 +
22 files changed, 381 insertions(+), 331 deletions(-)
diff --git a/src/views/client/client/AddClientManageDialog.vue b/src/views/client/client/AddClientManageDialog.vue
index 25552c5..628f4c3 100644
--- a/src/views/client/client/AddClientManageDialog.vue
+++ b/src/views/client/client/AddClientManageDialog.vue
@@ -27,7 +27,7 @@
<el-form-item label="瀹㈡埛鍚嶇О" prop="name">
<div class="custom-name">
<el-input v-model="editConfig.infomation.name"></el-input>
- <div class="common-select-btn"><i class="el-icon-house" title="宸ュ晢鏌ヨ"></i></div>
+ <!-- <div class="common-select-btn"><i class="el-icon-house" title="宸ュ晢鏌ヨ"></i></div> -->
<div class="common-select-btn"><i class="el-icon-search" title="鏌ラ噸"></i></div>
</div>
</el-form-item>
@@ -530,6 +530,14 @@
message: "璇疯緭鍏ユ纭殑鎵嬫満鍙�",
trigger: "blur"
}
+ ],
+ contact_email: [
+ { required: false, message: "", trigger: "blur" },
+ {
+ pattern: /^[a-zA-Z0-9_\\.]+@[a-zA-Z0-9-]+[\\.a-zA-Z]+$/,
+ message: "璇疯緭鍏ユ纭殑閭鏍煎紡",
+ trigger: "blur"
+ }
]
},
memberOptions: [],
diff --git a/src/views/client/client/DetailClientManage.vue b/src/views/client/client/DetailClientManage.vue
index 6ff1c1a..7d9a0fb 100644
--- a/src/views/client/client/DetailClientManage.vue
+++ b/src/views/client/client/DetailClientManage.vue
@@ -28,7 +28,7 @@
<el-tab-pane label="閿�鍞�诲崟" name="master"></el-tab-pane>
<el-tab-pane label="閿�鍞瓙鍗�" name="sub"></el-tab-pane>
<el-tab-pane label="閿�鍞槑缁嗗崟" name="detail"></el-tab-pane>
- <el-tab-pane label="鏀舵鍗�" name="plan"></el-tab-pane>
+ <el-tab-pane label="鏀舵鍗�" name="receipt"></el-tab-pane>
</el-tabs>
</div>
<div v-if="activeName === 'first'" class="detail">
@@ -47,7 +47,7 @@
<div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
<div v-if="item.rightStr" class="right">
- <div class="content-title">{{ item.rightStr }}</div>
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
<div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
@@ -69,7 +69,7 @@
<div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
<div v-if="item.rightStr" class="right">
- <div class="content-title">{{ item.rightStr }}</div>
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
<div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
@@ -91,7 +91,7 @@
<div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
<div v-if="item.rightStr" class="right">
- <div class="content-title">{{ item.rightStr }}</div>
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
<div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
@@ -113,7 +113,7 @@
<div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
<div v-if="item.rightStr" class="right">
- <div class="content-title">{{ item.rightStr }}</div>
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
<div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
@@ -135,7 +135,7 @@
<div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
<div v-if="item.rightStr" class="right">
- <div class="content-title">{{ item.rightStr }}</div>
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
<div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
@@ -161,7 +161,7 @@
</div>
</div>
<!-- 闄勪欢淇℃伅 -->
- <div class="basic-info">
+ <!-- <div class="basic-info">
<div class="basic-info-label" @click="expandClick('annex')">
<i v-if="isAnnexExpand" class="el-icon-arrow-down"></i>
<i v-else class="el-icon-arrow-up"></i>
@@ -177,32 +177,28 @@
</li>
</ul>
</div>
- </div>
+ </div> -->
</div>
<div v-if="activeName === 'contact'" class="second">
- <Contacts :isDetail="true" />
+ <Contacts :isDetail="true" :add-config="addContactsConfig" />
</div>
<div v-if="activeName === 'second'" class="second">
- <FollowupRecords
- :isDetail="true"
- :follow-record="detailConfig.infomation.follow_record"
- :add-config="addConfig"
- />
+ <FollowupRecords :isDetail="true" :add-config="addConfig" />
</div>
<div v-if="activeName === 'salesOpportunity'" class="second">
- <SalesOpportunity :isDetail="true" />
+ <SalesOpportunity :isDetail="true" :add-config="addContactsConfig" />
</div>
<div v-if="activeName === 'quotation'" class="second">
- <Quotation :isDetail="true" />
+ <Quotation :isDetail="true" :add-config="addContactsConfig" />
</div>
<div v-if="activeName === 'master'" class="second">
- <MasterOrder :isDetail="true" />
+ <MasterOrder :isDetail="true" :add-config="addContactsConfig" />
</div>
<div v-if="activeName === 'sub'" class="second">
- <SubOrder :isDetail="true" />
+ <SubOrder :isDetail="true" :add-config="addContactsConfig" />
</div>
<div v-if="activeName === 'detail'" class="second">
- <SalesDetails :isDetail="true" />
+ <SalesDetails :isDetail="true" :add-config="addContactsConfig" />
</div>
</div>
</el-drawer>
@@ -248,7 +244,10 @@
addressInfoList: [],
isRemarkExpand: true, // 澶囨敞淇℃伅
isAnnexExpand: true, // 闄勪欢淇℃伅
- addConfig: {}
+ addConfig: {},
+ addContactsConfig: {
+ client_name: this.clientManageDetail.infomation.name
+ }
}
},
created() {
@@ -277,7 +276,7 @@
leftStr: "瀹㈡埛鐘舵��",
leftValue: item.client_status,
rightStr: "閿�鍞礋璐d汉",
- rightValue: item.member_id
+ rightValue: item.member.username
},
{
leftStr: "瀹㈡埛绫诲瀷",
@@ -379,15 +378,15 @@
this.addressInfoList = [
{
leftStr: "鍥藉",
- leftValue: item.Country.name,
+ leftValue: "涓浗",
rightStr: "鐪佷唤",
rightValue: item.Province.name
},
{
leftStr: "鍩庡競",
leftValue: item.City.name,
- rightStr: "鍖哄煙",
- rightValue: item.Region.name
+ rightStr: "",
+ rightValue: ""
},
{
leftStr: "璇︾粏鍦板潃",
diff --git a/src/views/client/contacts/AddContactsDialog.vue b/src/views/client/contacts/AddContactsDialog.vue
index f0f79e6..134b98d 100644
--- a/src/views/client/contacts/AddContactsDialog.vue
+++ b/src/views/client/contacts/AddContactsDialog.vue
@@ -114,7 +114,7 @@
<el-option v-for="item in countryOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
- <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ <!-- <div class="common-select-btn"><i class="el-icon-setting"></i></div> -->
</div>
</el-form-item>
</el-col>
@@ -126,11 +126,12 @@
placeholder="璇烽�夋嫨"
class="common-select-sel"
size="mini"
+ @change="selProvinceChange"
>
<el-option v-for="item in provinceOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
- <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ <!-- <div class="common-select-btn"><i class="el-icon-setting"></i></div> -->
</div>
</el-form-item>
</el-col>
@@ -142,15 +143,16 @@
placeholder="璇烽�夋嫨"
class="common-select-sel"
size="mini"
+ :disabled="cityOptions.length <= 0 ? true : false"
>
<el-option v-for="item in cityOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
- <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ <!-- <div class="common-select-btn"><i class="el-icon-setting"></i></div> -->
</div>
</el-form-item>
</el-col>
- <el-col :span="12">
+ <!-- <el-col :span="12">
<el-form-item label="鍖哄煙" prop="region_id">
<div class="common-select">
<el-select
@@ -165,7 +167,7 @@
<div class="common-select-btn"><i class="el-icon-setting"></i></div>
</div>
</el-form-item>
- </el-col>
+ </el-col> -->
<!-- <el-col :span="12">
<el-form-item label="閭紪" prop="postalCode">
<el-input v-model="editConfig.infomation.postalCode"></el-input>
@@ -242,6 +244,7 @@
import { getAddContact, getUpdateContact } from "@/api/client/contacts"
import { getAllData } from "@/api/client/client"
import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog"
+import { getCityList } from "@/api/common/address"
export default {
name: "AddContactsDialog",
props: {
@@ -278,6 +281,14 @@
message: "璇疯緭鍏ユ纭殑鎵嬫満鍙�",
trigger: "blur"
}
+ ],
+ email: [
+ { required: false, message: "", trigger: "blur" },
+ {
+ pattern: /^[a-zA-Z0-9_\\.]+@[a-zA-Z0-9-]+[\\.a-zA-Z]+$/,
+ message: "璇疯緭鍏ユ纭殑閭鏍煎紡",
+ trigger: "blur"
+ }
]
},
businessSourceOptions: [
@@ -291,7 +302,7 @@
{ value: "8", label: "鍏徃鐢佃瘽" }
],
memberOptions: [],
- countryOptions: [], // 鍥藉
+ countryOptions: [{ id: 1, name: "涓浗" }], // 鍥藉
provinceOptions: [], // 鐪佷唤
cityOptions: [], // 鍩庡競
regionOptions: [], // 鍖哄煙
@@ -306,18 +317,26 @@
},
created() {
this.$store.dispatch("geClient")
+ if (this.editConfig.title !== "鏂板缓" && this.editConfig.infomation.province_id !== 0) {
+ this.getCityList(this.editConfig.infomation.province_id, "edit")
+ }
this.getCommonData()
},
methods: {
getCommonData() {
+ this.editConfig.infomation.country_id = 1
+ this.editConfig.infomation.province_id =
+ this.editConfig.infomation.province_id === 0 ? "" : this.editConfig.infomation.province_id
+ this.editConfig.infomation.city_id =
+ this.editConfig.infomation.city_id === 0 ? "" : this.editConfig.infomation.city_id
getAllData()
.then((res) => {
console.log(res)
this.memberOptions = res.data.member
- this.countryOptions = res.data.country
+ // this.countryOptions = res.data.country
this.provinceOptions = res.data.province
- this.cityOptions = res.data.city
- this.regionOptions = res.data.region
+ // this.cityOptions = res.data.city
+ // this.regionOptions = res.data.region
})
.catch((err) => {
console.log(err)
@@ -434,6 +453,21 @@
this.unflodCollapseStr = "鏀惰捣"
this.isUnflod = true
}
+ },
+ // 閫夋嫨鐪佷唤
+ selProvinceChange(val) {
+ this.getCityList(val, "sel")
+ },
+ async getCityList(val, value) {
+ await getCityList({ province_id: val }).then((res) => {
+ console.log(res)
+ if (res.data.code === 200) {
+ this.cityOptions = res.data.data.list
+ if (value === "sel") {
+ this.editConfig.infomation.city_id = ""
+ }
+ }
+ })
}
}
}
diff --git a/src/views/client/contacts/DetailContacts.vue b/src/views/client/contacts/DetailContacts.vue
index 99ee946..b886609 100644
--- a/src/views/client/contacts/DetailContacts.vue
+++ b/src/views/client/contacts/DetailContacts.vue
@@ -42,7 +42,7 @@
<div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
<div v-if="item.rightStr" class="right">
- <div class="content-title">{{ item.rightStr }}</div>
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
<div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
@@ -64,7 +64,7 @@
<div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
<div v-if="item.rightStr" class="right">
- <div class="content-title">{{ item.rightStr }}</div>
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
<div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
@@ -90,7 +90,7 @@
</div>
</div>
<!-- 闄勪欢淇℃伅 -->
- <div class="basic-info">
+ <!-- <div class="basic-info">
<div class="basic-info-label" @click="expandClick('annex')">
<i v-if="isAnnexExpand" class="el-icon-arrow-down"></i>
<i v-else class="el-icon-arrow-up"></i>
@@ -106,7 +106,7 @@
</li>
</ul>
</div>
- </div>
+ </div> -->
</div>
<div v-if="activeName === 'second'" class="second">
<FollowupRecords :isDetail="true" :add-config="addConfig" />
@@ -186,7 +186,7 @@
leftStr: "鑱屽姟",
leftValue: item.position,
rightStr: "閿�鍞礋璐d汉",
- rightValue: item.member_id
+ rightValue: item.member.username
},
{
leftStr: "棣栬鑱旂郴浜�",
@@ -216,19 +216,13 @@
this.addressInfoList = [
{
leftStr: "鍥藉",
- leftValue: item.Country.name,
+ leftValue: "涓浗",
rightStr: "鐪佷唤",
rightValue: item.Province.name
},
{
leftStr: "鍩庡競",
leftValue: item.City.name,
- rightStr: "鍖哄煙",
- rightValue: item.Region.name
- },
- {
- leftStr: "閭紪",
- leftValue: "",
rightStr: "",
rightValue: ""
}
diff --git a/src/views/client/contacts/index.vue b/src/views/client/contacts/index.vue
index 303b3d4..279ab6b 100644
--- a/src/views/client/contacts/index.vue
+++ b/src/views/client/contacts/index.vue
@@ -57,6 +57,12 @@
isDetail: {
type: Boolean,
default: false
+ },
+ addConfig: {
+ type: Object,
+ default: () => {
+ return {}
+ }
}
},
mixins: [pageMixin],
@@ -113,7 +119,12 @@
},
created() {
this.setTable()
- this.getData()
+ if (!this.isDetail) {
+ this.search_map = {}
+ } else {
+ this.search_map = { ...this.addConfig }
+ }
+ this.getData(this.search_map)
},
methods: {
setTable() {
@@ -125,7 +136,7 @@
{ label: "鑱旂郴浜虹紪鍙�", prop: "number", min: 100 }, // 鑱旂郴浜虹紪鍙�
{ label: "鑱屽姟", prop: "position", min: 120 }, // 鑱屽姟
{ label: "鎵嬫満", prop: "phone", min: 100 }, // 鎵嬫満鍙风爜
- { label: "閿�鍞礋璐d汉", prop: "member_id", min: 120 }, // 閿�鍞礋璐d汉
+ { label: "閿�鍞礋璐d汉", prop: "member_name", min: 120 }, // 閿�鍞礋璐d汉
{ label: "棣栬鑱旂郴浜�", prop: "is_first", min: 90 } // 棣栬鑱旂郴浜�
]
}
@@ -153,7 +164,8 @@
...item,
client_name: item.Client.name,
is_first: item.is_first ? "鏄�" : "鍚�",
- client_id: item.Client.id
+ client_id: item.Client.id,
+ member_name: item.member.username
}
})
this.tableList.tableInfomation = list || []
@@ -188,7 +200,7 @@
addBtnClick() {
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
- this.editConfig.infomation = {}
+ this.editConfig.infomation = { ...this.addConfig }
},
// 缂栬緫
handleClick(row) {
diff --git a/src/views/client/followupRecords/index.vue b/src/views/client/followupRecords/index.vue
index 060adca..7b0ea5b 100644
--- a/src/views/client/followupRecords/index.vue
+++ b/src/views/client/followupRecords/index.vue
@@ -57,10 +57,6 @@
type: Boolean,
default: false
},
- followRecord: {
- type: Array,
- default: () => []
- },
addConfig: {
type: Object,
default: () => {
diff --git a/src/views/client/salesLead/DetailSalesLead.vue b/src/views/client/salesLead/DetailSalesLead.vue
index 2e3988c..22e0c18 100644
--- a/src/views/client/salesLead/DetailSalesLead.vue
+++ b/src/views/client/salesLead/DetailSalesLead.vue
@@ -34,7 +34,7 @@
<div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
<div v-if="item.rightStr && item.rightStr.length > 0" class="right">
- <div class="content-title">{{ item.rightStr }}</div>
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
<div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
@@ -56,7 +56,7 @@
<div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
<div v-if="item.rightStr && item.rightStr.length > 0" class="right">
- <div class="content-title">{{ item.rightStr }}</div>
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
<div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
@@ -97,7 +97,7 @@
<li>
<div class="left remark">
<div class="content-title">{{ "澶囨敞锛�" }}</div>
- <div class="content-data">{{ detailConfig.desc }}</div>
+ <div class="content-data">{{ detailConfig.infomation.desc }}</div>
</div>
</li>
</ul>
@@ -181,9 +181,9 @@
},
{
leftStr: "鍟嗘満鏉ユ簮",
- leftValue: this.detailConfig.infomation.sales_sources_id,
+ leftValue: this.detailConfig.infomation.sales_resources,
rightStr: "璐熻矗浜�",
- rightValue: this.detailConfig.infomation.member_id
+ rightValue: this.detailConfig.infomation.member_name
},
{
leftStr: "鍒嗛厤鏃ユ湡",
diff --git a/src/views/client/salesLead/index.vue b/src/views/client/salesLead/index.vue
index 78a2656..ee03fb4 100644
--- a/src/views/client/salesLead/index.vue
+++ b/src/views/client/salesLead/index.vue
@@ -136,10 +136,10 @@
{ label: "閿�鍞嚎绱㈢紪鍙�", prop: "number", min: 130 }, // 閿�鍞嚎绱㈢紪鍙�
{ label: "鑱旂郴浜哄鍚�", prop: "contact_name", min: 130 }, // 鑱旂郴浜哄鍚�
{ label: "鎵嬫満鍙风爜", prop: "contact_phone", min: 130 }, // 鎵嬫満鍙风爜
- { label: "鍟嗘満鏉ユ簮", prop: "sales_sources_id", min: 130 }, // 鍟嗘満鏉ユ簮
+ { label: "鍟嗘満鏉ユ簮", prop: "sales_resources", min: 130 }, // 鍟嗘満鏉ユ簮
{ label: "鐪佷唤", prop: "province", min: 130 }, // 鐪佷唤
{ label: "鍩庡競", prop: "city", min: 130 }, // 鍩庡競
- { label: "璐熻矗浜�", prop: "member_id", min: 130 } // 璐熻矗浜�
+ { label: "璐熻矗浜�", prop: "member_name", min: 130 } // 璐熻矗浜�
]
}
this.searchOptions = []
@@ -161,7 +161,9 @@
return {
...item,
province: item.Province.name,
- city: item.City.name
+ city: item.City.name,
+ sales_resources: item.sales_sources.name,
+ member_name: item.member.username
}
})
this.tableList.tableInfomation = list || []
diff --git a/src/views/sales/masterOrder/AddMasterOrderDialog.vue b/src/views/sales/masterOrder/AddMasterOrderDialog.vue
index 45434a1..6a4213d 100644
--- a/src/views/sales/masterOrder/AddMasterOrderDialog.vue
+++ b/src/views/sales/masterOrder/AddMasterOrderDialog.vue
@@ -60,13 +60,23 @@
</el-col>
<el-col :span="12">
<el-form-item label="鏈嶅姟寮�濮嬫椂闂�" prop="start_time">
- <el-date-picker v-model="editConfig.infomation.start_time" type="date" placeholder="閫夋嫨鏃ユ湡">
+ <el-date-picker
+ v-model="editConfig.infomation.start_time"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ type="datetime"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鏈嶅姟鎴鏃堕棿" prop="end_time">
- <el-date-picker v-model="editConfig.infomation.end_time" type="date" placeholder="閫夋嫨鏃ユ湡">
+ <el-date-picker
+ v-model="editConfig.infomation.end_time"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ type="datetime"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
</el-date-picker>
</el-form-item>
</el-col>
diff --git a/src/views/sales/masterOrder/DetailMasterOrder.vue b/src/views/sales/masterOrder/DetailMasterOrder.vue
index e09653c..9f11216 100644
--- a/src/views/sales/masterOrder/DetailMasterOrder.vue
+++ b/src/views/sales/masterOrder/DetailMasterOrder.vue
@@ -37,18 +37,18 @@
<li v-for="(item, i) in basicInfoList" :key="i">
<div class="left">
<div class="content-title">{{ item.leftStr + "锛�" }}</div>
- <div class="content-data">{{ item.leftValue }}</div>
+ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
<div class="right">
- <div class="content-title">{{ item.rightStr }}</div>
- <div class="content-data">{{ item.rightValue }}</div>
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
+ <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
</ul>
</div>
</div>
<!-- 闄勪欢淇℃伅 -->
- <div class="basic-info">
+ <!-- <div class="basic-info">
<div class="basic-info-label" @click="expandClick('annex')">
<i v-if="isAnnexExpand" class="el-icon-arrow-down"></i>
<i v-else class="el-icon-arrow-up"></i>
@@ -64,7 +64,7 @@
</li>
</ul>
</div>
- </div>
+ </div> -->
</div>
<div v-if="activeName === 'sub'" class="second">
<SubOrder :isDetail="true" />
@@ -101,21 +101,21 @@
}
},
created() {
- this.setData()
+ this.setData(this.detailConfig.infomation)
},
mounted() {},
methods: {
- setData() {
+ setData(item) {
this.basicInfoList = [
{
leftStr: "瀹㈡埛鍚嶇О",
- leftValue: "",
+ leftValue: item.client_name,
rightStr: "鍗曟嵁缂栧彿",
- rightValue: ""
+ rightValue: item.number
},
{
leftStr: "璐熻矗浜�",
- leftValue: "",
+ leftValue: item.member_name,
rightStr: "鍒涘缓浜�",
rightValue: ""
},
@@ -128,26 +128,26 @@
{
leftStr: "鏇存柊鏃堕棿",
leftValue: "",
- rightStr: "瀹℃壒鐘舵��",
- rightValue: ""
- },
- {
- leftStr: "鏈�鏂板鎵规椂闂�",
- leftValue: "",
- rightStr: "涓婁竴姝ュ鎵逛汉",
- rightValue: ""
- },
- {
- leftStr: "褰撳墠瀹℃壒浜�",
- leftValue: "",
rightStr: "鏈嶅姟寮�濮嬫椂闂�",
- rightValue: ""
+ rightValue: item.start_time
},
+ // {
+ // leftStr: "瀹℃壒鐘舵��",
+ // leftValue: "",
+ // rightStr: "鏈�鏂板鎵规椂闂�",
+ // rightValue: ""
+ // },
+ // {
+ // leftStr: "涓婁竴姝ュ鎵逛汉",
+ // leftValue: "",
+ // rightStr: "褰撳墠瀹℃壒浜�",
+ // rightValue: ""
+ // },
{
leftStr: "鏈嶅姟鎴鏃堕棿",
- leftValue: "",
- rightStr: "",
- rightValue: ""
+ leftValue: item.end_time,
+ rightStr: "鍚堝悓閲戦",
+ rightValue: item.money
}
]
},
diff --git a/src/views/sales/masterOrder/index.vue b/src/views/sales/masterOrder/index.vue
index d279298..a6159f7 100644
--- a/src/views/sales/masterOrder/index.vue
+++ b/src/views/sales/masterOrder/index.vue
@@ -11,6 +11,7 @@
:search-options="searchOptions"
@searchClick="searchClick"
@resetClick="resetClick"
+ :search-sel="searchSel"
/>
<div class="btn-pager">
<PublicFunctionBtnView :operates-list="operatesList" @batchDelete="delClick" />
@@ -56,6 +57,12 @@
isDetail: {
type: Boolean,
default: false
+ },
+ addConfig: {
+ type: Object,
+ default: () => {
+ return {}
+ }
}
},
mixins: [pageMixin],
@@ -106,12 +113,21 @@
infomation: {}
},
selValueList: [],
- search_map: {}
+ search_map: {},
+ searchSel: {
+ value: "number",
+ label: "鍗曟嵁缂栧彿"
+ }
}
},
created() {
this.setTable()
- this.getData()
+ if (!this.isDetail) {
+ this.search_map = {}
+ } else {
+ this.search_map = { ...this.addConfig }
+ }
+ this.getData(this.search_map)
},
methods: {
setTable() {
@@ -123,14 +139,15 @@
{ label: "鏈嶅姟寮�濮嬫椂闂�", prop: "start_time", isTime: true }, // 鏈嶅姟寮�濮嬫椂闂�
{ label: "鏈嶅姟鎴鏃堕棿", prop: "end_time", isTime: true }, // 鏈嶅姟鎴鏃堕棿
{ label: "鍚堝悓閲戦", prop: "money" }, // 鍚堝悓閲戦
- { label: "璐熻矗浜�", prop: "member_id" } // 璐熻矗浜�
+ { label: "璐熻矗浜�", prop: "member_name" } // 璐熻矗浜�
// { label: "瀹℃壒鐘舵��", prop: "approvalStatus" } // 瀹℃壒鐘舵��
]
}
this.searchOptions = []
for (let i = 0; i < this.tableList.tableColumn.length; i++) {
const label = this.tableList.tableColumn[i].label
- this.searchOptions.push({ value: (i + 1).toString(), label: label })
+ const value = this.tableList.tableColumn[i].prop
+ this.searchOptions.push({ value: value, label: label })
}
},
// 璇锋眰鏁版嵁
@@ -148,7 +165,8 @@
const list = res.data.list.map((item) => {
return {
...item,
- client_name: item.client.name
+ client_name: item.client.name,
+ member_name: item.member.username
}
})
this.tableList.tableInfomation = list || []
@@ -183,7 +201,7 @@
addBtnClick() {
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
- this.editConfig.infomation = {}
+ this.editConfig.infomation = { ...this.addConfig }
},
// 缂栬緫
handleClick(row) {
@@ -227,7 +245,13 @@
selClientClick(row) {
console.log(row)
this.clientDeail.visible = true
- this.clientDeail.infomation = { ...row }
+ this.clientDeail.infomation = {
+ ...row.client,
+ client_name: row.client.name,
+ client_level: row.client.client_level.name,
+ client_status: row.client.client_status.name,
+ contact_name: row.name
+ }
},
// 鏈轰細鍚嶇О璇︽儏
selCommonClick(row) {
diff --git a/src/views/sales/quotation/AddQuotationDialog.vue b/src/views/sales/quotation/AddQuotationDialog.vue
index 17e48af..fe4a0a6 100644
--- a/src/views/sales/quotation/AddQuotationDialog.vue
+++ b/src/views/sales/quotation/AddQuotationDialog.vue
@@ -68,7 +68,7 @@
</el-option>
</el-select>
<!-- @click="editDropdownBox" -->
- <div class="common-select-btn"><i class="el-icon-setting"></i></div>
+ <!-- <div class="common-select-btn"><i class="el-icon-setting"></i></div> -->
</div>
</el-form-item>
</el-col>
@@ -119,11 +119,24 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閿�鍞満浼�" prop="sale_chance_id">
+ <el-form-item label="閿�鍞満浼�" prop="sale_chance_name">
<div class="custom-name">
- <el-input v-model="editConfig.infomation.sale_chance_id"></el-input>
- <div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="閫夋嫨"></i></div>
- <div class="common-select-btn"><i class="el-icon-edit" title="缂栬緫"></i></div>
+ <el-autocomplete
+ v-model="editConfig.infomation.sale_chance_name"
+ :fetch-suggestions="
+ (queryString, callback) => {
+ querySearchAsync(queryString, callback, 'chance')
+ }
+ "
+ value-key="name"
+ @select="handleSelectClient('chance', $event)"
+ ></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>
</div>
</el-form-item>
</el-col>
@@ -243,6 +256,12 @@
:edit-common-config="editSelectContactConfig"
@selClient="selClient"
/>
+ <!-- 閫夋嫨閿�鍞満浼� -->
+ <SelectChanceDialog
+ v-if="editSelectChanceConfig.editVisible"
+ :edit-common-config="editSelectChanceConfig"
+ @selClient="selClient"
+ />
</el-dialog>
</div>
</template>
@@ -253,6 +272,7 @@
import { getAddQuotation, getUpdateQuotation } from "@/api/sales/quotation"
import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog"
import SelectContactDialog from "@/views/other/commonDialog/SelectContactDialog"
+import SelectChanceDialog from "@/views/other/commonDialog/SelectChanceDialog"
export default {
name: "QuotationDialog",
props: {
@@ -267,7 +287,7 @@
}
}
},
- components: { SelectClientDialog, SelectContactDialog },
+ components: { SelectClientDialog, SelectContactDialog, SelectChanceDialog },
computed: {
searchCommonHeight() {
return this.$refs.searchCommonView.offsetHeight
@@ -277,6 +297,9 @@
},
contactNamelist() {
return this.$store.state.getClientName.contactNamelist
+ },
+ saleChancelist() {
+ return this.$store.state.getClientName.saleChancelist
}
},
data() {
@@ -310,13 +333,20 @@
title: "",
infomation: {}
},
+ editSelectChanceConfig: {
+ editVisible: false,
+ title: "",
+ infomation: {}
+ },
clientId: this.editCommonConfig.infomation.client_id,
- contactId: this.editCommonConfig.infomation.contact_id
+ contactId: this.editCommonConfig.infomation.contact_id,
+ saleChanceId: this.editCommonConfig.infomation.sale_chance_id
}
},
created() {
this.$store.dispatch("geClient")
this.$store.dispatch("geContact")
+ this.$store.dispatch("geChance")
this.setTableForm()
this.getCommonData()
},
@@ -326,10 +356,18 @@
.then((res) => {
this.memberOptions = res.data.member
this.quotationStatusOptions = res.data.quotationStatus
+ this.dataProcess()
})
.catch((err) => {
console.log(err)
})
+ },
+ dataProcess() {
+ this.saleChancelist.map((item) => {
+ if (this.saleChanceId === item.id) {
+ this.editConfig.infomation.sale_chance_name = item.name
+ }
+ })
},
// 淇濆瓨
saveClick(formName) {
@@ -381,14 +419,14 @@
let data = this.editConfig.infomation
let params = {
id: this.editConfig.title === "鏂板缓" ? 0 : data.id,
- client_id: parseInt(this.clientId) || 0,
+ client_id: this.clientId || 0,
conditions: data.conditions || "",
- contact_id: parseInt(this.contactId) || 0,
+ contact_id: this.contactId || 0,
file: data.file || "",
member_id: data.member_id || 0,
number: data.number || "",
quotation_status_id: data.quotation_status_id || 0,
- sale_chance_id: data.sale_chance_id || 0,
+ sale_chance_id: this.saleChanceId || 0,
validity_date: data.validity_date || ""
}
return params
@@ -403,6 +441,8 @@
restaurants = this.clientList
} else if (value === "contact") {
restaurants = this.contactNamelist
+ } else if (value === "chance") {
+ restaurants = this.saleChancelist
}
var results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants
cb(results)
@@ -416,6 +456,8 @@
console.log(value)
if (value === "client") {
this.clientId = item.id
+ } else if (value === "chance") {
+ this.saleChanceId = item.id
} else {
this.contactId = item.id
}
@@ -425,6 +467,8 @@
this.editSelectClientConfig.editVisible = true
} else if (value === "contact") {
this.editSelectContactConfig.editVisible = true
+ } else if (value === "chance") {
+ this.editSelectChanceConfig.editVisible = true
}
},
selClient(row, value) {
@@ -432,6 +476,9 @@
if (value === "contact") {
this.editConfig.infomation.contact_name = row.name
this.contactId = row.id
+ } else if (value === "chance") {
+ this.editConfig.infomation.sale_chance_name = row.name
+ this.saleChanceId = row.id
} else {
this.editConfig.infomation.client_name = row.name
this.clientId = row.id
@@ -442,6 +489,9 @@
if (value === "client") {
this.editConfig.infomation.client_name = ""
this.clientId = 0
+ } else if (value === "chance") {
+ this.editConfig.infomation.sale_chance_name = ""
+ this.saleChanceId = 0
} else {
this.editConfig.infomation.contact_name = ""
this.contactId = 0
diff --git a/src/views/sales/quotation/DetailQuotation.vue b/src/views/sales/quotation/DetailQuotation.vue
index 1cd4f7c..9ff8004 100644
--- a/src/views/sales/quotation/DetailQuotation.vue
+++ b/src/views/sales/quotation/DetailQuotation.vue
@@ -29,14 +29,14 @@
</div>
<div v-if="activeName === 'first'" class="detail">
<!-- 鏍囩 -->
- <div class="basic-info">
+ <!-- <div class="basic-info">
<div class="basic-info-label" @click="expandClick('label')">
<i v-if="isLabelExpand" class="el-icon-arrow-down"></i>
<i v-else class="el-icon-arrow-up"></i>
<span style="margin-left: 10px">鏍囩</span>
</div>
<div v-show="isLabelExpand" class="basic-info-content"></div>
- </div>
+ </div> -->
<!-- 鍩烘湰淇℃伅 -->
<div class="basic-info">
<div class="basic-info-label" @click="expandClick('basic')">
@@ -49,11 +49,11 @@
<li v-for="(item, i) in basicInfoList" :key="i">
<div class="left">
<div class="content-title">{{ item.leftStr + "锛�" }}</div>
- <div class="content-data">{{ item.leftValue }}</div>
+ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
<div class="right">
- <div class="content-title">{{ item.rightStr }}</div>
- <div class="content-data">{{ item.rightValue }}</div>
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
+ <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
</ul>
@@ -70,15 +70,16 @@
<div class="termsConditions">
<div class="content-title">{{ "鏉′欢涓庢潯娆�" + "锛�" }}</div>
<div class="content-termsConditions">
- <ul>
+ {{ "\n" + detailConfig.infomation.conditions }}
+ <!-- <ul>
<li v-for="(item, index) in Status.termsConditions" :key="index">{{ item }}</li>
- </ul>
+ </ul> -->
</div>
</div>
</div>
</div>
<!-- 闄勪欢淇℃伅 -->
- <div class="basic-info">
+ <!-- <div class="basic-info">
<div class="basic-info-label" @click="expandClick('annex')">
<i v-if="isAnnexExpand" class="el-icon-arrow-down"></i>
<i v-else class="el-icon-arrow-up"></i>
@@ -94,7 +95,7 @@
</li>
</ul>
</div>
- </div>
+ </div> -->
<!-- 浜у搧绠$悊 -->
<div class="basic-info">
<div class="basic-info-label" @click="expandClick('product')">
@@ -177,170 +178,36 @@
}
},
created() {
- this.setData()
+ this.setData(this.detailConfig.infomation)
this.setTableForm()
},
mounted() {},
methods: {
- setData() {
+ setData(item) {
this.basicInfoList = [
{
leftStr: "瀹㈡埛鍚嶇О",
- leftValue: "",
- rightStr: "閿�鍞満浼氱紪鍙�",
- rightValue: ""
+ leftValue: item.client_name,
+ rightStr: "鎶ヤ环缂栧彿",
+ rightValue: item.number
},
{
- leftStr: "鏈轰細鍚嶇О",
- leftValue: "",
+ leftStr: "鎶ヤ环鍗曠姸鎬�",
+ leftValue: item.quotation_status_id,
rightStr: "鑱旂郴浜哄鍚�",
- rightValue: ""
+ rightValue: item.contact_name
},
{
- leftStr: "鍟嗘満鏉ユ簮",
- leftValue: "",
- rightStr: "鍟嗘満绫诲瀷",
- rightValue: ""
- },
- {
- leftStr: "閿�鍞樁娈�",
- leftValue: "",
+ leftStr: "鏈夋晥鏈熻嚦",
+ leftValue: item.validity_date,
rightStr: "閿�鍞礋璐d汉",
- rightValue: ""
+ rightValue: item.member_id
},
{
- leftStr: "鑰佸鎴疯惀閿�",
- leftValue: "",
- rightStr: "绛惧埌",
- rightValue: ""
- },
- {
- leftStr: "瀹℃壒鐘舵��",
- leftValue: "",
- rightStr: "绔炰簤瀵规墜",
- rightValue: ""
- },
- {
- leftStr: "鍒涘缓浜�",
- leftValue: "",
+ leftStr: "閿�鍞満浼�",
+ leftValue: item.sale_chance.name,
rightStr: "鍒涘缓鏃堕棿",
rightValue: ""
- }
- ]
- this.forecastList = [
- {
- leftStr: "鍙兘鎬�(%)",
- leftValue: "",
- rightStr: "甯佺",
- rightValue: ""
- },
- {
- leftStr: "棰勭畻缁濆鍊�",
- leftValue: "",
- rightStr: "棰勮鎴愪氦鏃ユ湡",
- rightValue: ""
- },
- {
- leftStr: "棰勮鍚堝悓閲戦",
- leftValue: "",
- rightStr: "褰撳墠鐘舵��",
- rightValue: ""
- }
- ]
- this.dynamicInfoList = [
- {
- leftStr: "鏈仈绯诲ぉ鏁�",
- leftValue: "",
- rightStr: "鏈�鏂拌仈绯绘棩鏈�",
- rightValue: ""
- },
- {
- leftStr: "鏈帹鑽愬ぉ鏁�",
- leftValue: "",
- rightStr: "鏈�鏂版帹杩涙椂闂�",
- rightValue: ""
- },
- {
- leftStr: "鏈�鏂拌仈绯讳汉",
- leftValue: "",
- rightStr: "鏈�鏂版洿鏂版椂闂�",
- rightValue: ""
- }
- ]
- this.businessInfoList = [
- {
- leftStr: "瀹㈡埛闇�姹傛垨鐥涚偣锛坵hy锛�",
- leftValue: ""
- },
- {
- leftStr: "鏄惁宸茬粡绔嬮」锛坧lan锛�",
- leftValue: ""
- },
- {
- leftStr: "璧勯噾棰勭畻鏄灏戯紙plan锛�",
- leftValue: ""
- },
- {
- leftStr: "鍏抽敭鍐崇瓥浜烘槸璋侊紙who锛�",
- leftValue: ""
- },
- {
- leftStr: "鍏抽敭鍐崇瓥鍥犵礌鏈夊摢浜涳紙what锛�",
- leftValue: ""
- },
- {
- leftStr: "鍐崇瓥娴佺▼鏄�庢牱鐨勶紙what锛�",
- leftValue: ""
- },
- {
- leftStr: "绔炰簤瀵规墜鎻愪緵鐨勬柟妗堬紙what锛�",
- leftValue: ""
- }
- ]
- this.swotInfoList = [
- {
- leftStr: "浼樺娍(S)",
- leftValue: "",
- rightStr: "鍔e娍(W)",
- rightValue: ""
- },
- {
- leftStr: "鏈轰細(O)",
- leftValue: "",
- rightStr: "濞佽儊(T)",
- rightValue: ""
- }
- ]
- this.addressInfoList = [
- {
- leftStr: "鍥藉",
- leftValue: "",
- rightStr: "鐪佷唤",
- rightValue: ""
- },
- {
- leftStr: "鍩庡競",
- leftValue: "",
- rightStr: "鍖哄煙",
- rightValue: ""
- },
- {
- leftStr: "璇︾粏鍦板潃",
- leftValue: "",
- rightStr: "",
- rightValue: ""
- }
- ]
- this.historyList = [
- {
- date: "2023-08-04 13:22:36",
- stage: "鎴愬姛缁撴",
- modify: "绯荤粺绠$悊鍛�"
- },
- {
- date: "2023-08-04 13:22:36",
- stage: "鎴愬姛缁撴",
- modify: "绯荤粺绠$悊鍛�"
}
]
},
@@ -559,6 +426,7 @@
align-items: center;
font-size: 14px;
font-family: PingFangSC;
+ min-height: 40px;
// padding: 5px 0;
.content-title {
width: 320px;
@@ -566,13 +434,14 @@
color: #555;
}
.content-termsConditions {
- margin-left: 25px;
+ margin: 0px 25px 15px;
font-size: 13px;
color: #333;
- li {
- margin: 5px 0;
- border-bottom: 0px solid #f9f9fb;
- }
+ white-space: pre-wrap;
+ // li {
+ // margin: 5px 0;
+ // border-bottom: 0px solid #f9f9fb;
+ // }
}
}
}
diff --git a/src/views/sales/quotation/index.vue b/src/views/sales/quotation/index.vue
index b75379a..2d5df54 100644
--- a/src/views/sales/quotation/index.vue
+++ b/src/views/sales/quotation/index.vue
@@ -12,6 +12,7 @@
:search-options="searchOptions"
@searchClick="searchClick"
@resetClick="resetClick"
+ :search-sel="searchSel"
/>
<div class="btn-pager">
<PublicFunctionBtnView :submit-approval="true" :operates-list="operatesList" @batchDelete="delClick" />
@@ -59,6 +60,12 @@
isDetail: {
type: Boolean,
default: false
+ },
+ addConfig: {
+ type: Object,
+ default: () => {
+ return {}
+ }
}
},
mixins: [pageMixin],
@@ -68,11 +75,7 @@
DetailContacts: () => import("@/views/client/contacts/DetailContacts"),
DetailClientManage: () => import("@/views/client/client/DetailClientManage")
},
- computed: {
- searchCommonHeight() {
- return this.$refs.searchCommonView.offsetHeight
- }
- },
+ computed: {},
data() {
return {
tableList: {},
@@ -111,12 +114,21 @@
infomation: {}
},
selValueList: [],
- search_map: {}
+ search_map: {},
+ searchSel: {
+ value: "number",
+ label: "鎶ヤ环鍗曞彿"
+ }
}
},
created() {
this.setTable()
- this.getData()
+ if (!this.isDetail) {
+ this.search_map = {}
+ } else {
+ this.search_map = { ...this.addConfig }
+ }
+ this.getData(this.search_map)
},
methods: {
setTable() {
@@ -126,19 +138,20 @@
{ label: "鎶ヤ环鍗曞彿", prop: "number", min: 90, isCommonClick: true }, // 鎶ヤ环鍗曞彿
{ label: "瀹㈡埛鍚嶇О", prop: "client_name", min: 120, isClientClick: true }, // 瀹㈡埛鍚嶇О
{ label: "鑱旂郴浜哄鍚�", prop: "contact_name", min: 90, isContactClick: true }, // 鑱旂郴浜哄鍚�
- { label: "閿�鍞礋璐d汉", prop: "member_id" }, // 閿�鍞礋璐d汉
+ { label: "閿�鍞礋璐d汉", prop: "member_name" }, // 閿�鍞礋璐d汉
{ label: "鏈夋晥鏈�", prop: "validity_date", min: 100 }, // 淇敼鏃堕棿
{ label: "灏忚", prop: "subTotal" }, // 灏忚
{ label: "鍚堣", prop: "total" }, // 鍚堣
{ label: "浜у搧鍚嶇О", prop: "productName" }, // 浜у搧鍚嶇О
- { label: "鏁伴噺", prop: "number" }, // 鏁伴噺
+ { label: "鏁伴噺", prop: "number1" }, // 鏁伴噺
{ label: "浠风◣鍚堣", prop: "priceTax" } // 浠风◣鍚堣
]
}
this.searchOptions = []
for (let i = 0; i < this.tableList.tableColumn.length; i++) {
const label = this.tableList.tableColumn[i].label
- this.searchOptions.push({ value: (i + 1).toString(), label: label })
+ const value = this.tableList.tableColumn[i].prop
+ this.searchOptions.push({ value: value, label: label })
}
},
// 璇锋眰鏁版嵁
@@ -158,6 +171,7 @@
...item,
client_name: item.client.name,
contact_name: item.contact.name
+ // member_name: item.member.username
}
})
this.tableList.tableInfomation = list || []
@@ -192,7 +206,7 @@
addBtnClick() {
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
- this.editConfig.infomation = {}
+ this.editConfig.infomation = { ...this.addConfig }
},
// 缂栬緫
handleClick(row) {
diff --git a/src/views/sales/salesDetails/index.vue b/src/views/sales/salesDetails/index.vue
index 61f25db..cc02192 100644
--- a/src/views/sales/salesDetails/index.vue
+++ b/src/views/sales/salesDetails/index.vue
@@ -56,6 +56,12 @@
isDetail: {
type: Boolean,
default: false
+ },
+ addConfig: {
+ type: Object,
+ default: () => {
+ return {}
+ }
}
},
mixins: [pageMixin],
@@ -123,7 +129,12 @@
},
created() {
this.setTable()
- this.getData()
+ if (!this.isDetail) {
+ this.search_map = {}
+ } else {
+ this.search_map = { ...this.addConfig }
+ }
+ this.getData(this.search_map)
},
methods: {
setTable() {
@@ -203,7 +214,7 @@
addBtnClick() {
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
- this.editConfig.infomation = {}
+ this.editConfig.infomation = { ...this.addConfig }
},
// 缂栬緫
handleClick(row) {
diff --git a/src/views/sales/salesOpportunity/DetailOpportunity.vue b/src/views/sales/salesOpportunity/DetailOpportunity.vue
index 5d2257f..52c94cd 100644
--- a/src/views/sales/salesOpportunity/DetailOpportunity.vue
+++ b/src/views/sales/salesOpportunity/DetailOpportunity.vue
@@ -67,11 +67,11 @@
<li v-for="(item, i) in basicInfoList" :key="i">
<div class="left">
<div class="content-title">{{ item.leftStr + "锛�" }}</div>
- <div class="content-data">{{ item.leftValue }}</div>
+ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
- <div class="right">
- <div class="content-title">{{ item.rightStr }}</div>
- <div class="content-data">{{ item.rightValue }}</div>
+ <div v-if="item.rightStr" class="right">
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
+ <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
</ul>
@@ -89,11 +89,11 @@
<li v-for="(item, i) in forecastList" :key="i">
<div class="left">
<div class="content-title">{{ item.leftStr + "锛�" }}</div>
- <div class="content-data">{{ item.leftValue }}</div>
+ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
- <div class="right">
- <div class="content-title">{{ item.rightStr }}</div>
- <div class="content-data">{{ item.rightValue }}</div>
+ <div v-if="item.rightStr" class="right">
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
+ <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
</ul>
@@ -111,11 +111,11 @@
<li v-for="(item, i) in dynamicInfoList" :key="i">
<div class="left">
<div class="content-title">{{ item.leftStr + "锛�" }}</div>
- <div class="content-data">{{ item.leftValue }}</div>
+ <div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
- <div class="right">
- <div class="content-title">{{ item.rightStr }}</div>
- <div class="content-data">{{ item.rightValue }}</div>
+ <div v-if="item.rightStr" class="right">
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
+ <div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
</ul>
@@ -153,8 +153,8 @@
<div class="content-title">{{ item.leftStr + "锛�" }}</div>
<div class="content-data">{{ item.leftValue }}</div>
</div>
- <div class="right">
- <div class="content-title">{{ item.rightStr }}</div>
+ <div v-if="item.rightStr" class="right">
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
<div class="content-data">{{ item.rightValue }}</div>
</div>
</li>
@@ -175,8 +175,8 @@
<div class="content-title">{{ item.leftStr + "锛�" }}</div>
<div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
- <div class="right">
- <div class="content-title">{{ item.rightStr }}</div>
+ <div v-if="item.rightStr" class="right">
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
<div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
@@ -195,14 +195,14 @@
<li>
<div class="left remark">
<div class="content-title">{{ "澶囨敞锛�" }}</div>
- <div class="content-data">{{ "澶囨敞鍐呭" }}</div>
+ <div class="content-data">{{ detailConfig.infomation.remark }}</div>
</div>
</li>
</ul>
</div>
</div>
<!-- 闄勪欢淇℃伅 -->
- <div class="basic-info">
+ <!-- <div class="basic-info">
<div class="basic-info-label" @click="expandClick('annex')">
<i v-if="isAnnexExpand" class="el-icon-arrow-down"></i>
<i v-else class="el-icon-arrow-up"></i>
@@ -218,7 +218,7 @@
</li>
</ul>
</div>
- </div>
+ </div> -->
<!-- 閿�鍞満浼氶樁娈垫帹杩涘巻鍙� -->
<!-- <div class="basic-info">
<div class="basic-info-label" @click="expandClick('history')">
diff --git a/src/views/sales/salesOpportunity/index.vue b/src/views/sales/salesOpportunity/index.vue
index 277db73..69511cd 100644
--- a/src/views/sales/salesOpportunity/index.vue
+++ b/src/views/sales/salesOpportunity/index.vue
@@ -64,6 +64,12 @@
isDetail: {
type: Boolean,
default: false
+ },
+ addConfig: {
+ type: Object,
+ default: () => {
+ return {}
+ }
}
},
mixins: [pageMixin],
@@ -73,11 +79,7 @@
DetailContacts: () => import("@/views/client/contacts/DetailContacts"),
DetailClientManage: () => import("@/views/client/client/DetailClientManage")
},
- computed: {
- searchCommonHeight() {
- return this.$refs.searchCommonView.offsetHeight
- }
- },
+ computed: {},
data() {
return {
tableList: {},
@@ -130,7 +132,12 @@
},
created() {
this.setTable()
- this.getData()
+ if (!this.isDetail) {
+ this.search_map = {}
+ } else {
+ this.search_map = { ...this.addConfig }
+ }
+ this.getData(this.search_map)
},
methods: {
setTable() {
@@ -208,7 +215,7 @@
addBtnClick() {
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
- this.editConfig.infomation = { city_id: 0 }
+ this.editConfig.infomation = { city_id: 0, ...this.addConfig }
},
// 缂栬緫
handleClick(row) {
diff --git a/src/views/sales/subOrder/AddSubOrderDialog.vue b/src/views/sales/subOrder/AddSubOrderDialog.vue
index e5e664c..3439df7 100644
--- a/src/views/sales/subOrder/AddSubOrderDialog.vue
+++ b/src/views/sales/subOrder/AddSubOrderDialog.vue
@@ -87,7 +87,7 @@
</el-row>
</div>
<!-- 闄勪欢淇℃伅 -->
- <div class="basic-info-title">闄勪欢淇℃伅</div>
+ <!-- <div class="basic-info-title">闄勪欢淇℃伅</div>
<div class="basic-info-view">
<el-row>
<el-col :span="12">
@@ -112,7 +112,7 @@
</el-form-item>
</el-col>
</el-row>
- </div>
+ </div> -->
<!-- 浜у搧绠$悊 -->
<div class="basic-info-title" style="display: flex">
浜у搧绠$悊
diff --git a/src/views/sales/subOrder/index.vue b/src/views/sales/subOrder/index.vue
index 6e647bd..726f005 100644
--- a/src/views/sales/subOrder/index.vue
+++ b/src/views/sales/subOrder/index.vue
@@ -11,6 +11,7 @@
:search-options="searchOptions"
@searchClick="searchClick"
@resetClick="resetClick"
+ :search-sel="searchSel"
/>
<div class="btn-pager">
<PublicFunctionBtnView :operates-list="operatesList" @batchDelete="delClick" />
@@ -59,6 +60,12 @@
isDetail: {
type: Boolean,
default: false
+ },
+ addConfig: {
+ type: Object,
+ default: () => {
+ return {}
+ }
}
},
mixins: [pageMixin],
@@ -102,8 +109,8 @@
},
showSummary: {
show: true,
- sumProp: ["number"],
- mergeNumber: 7
+ sumProp: ["number1"],
+ mergeNumber: 6
},
subOrderDeail: {
visible: false,
@@ -118,12 +125,21 @@
infomation: {}
},
selValueList: [],
- search_map: {}
+ search_map: {},
+ searchSel: {
+ value: "number",
+ label: "鍗曟嵁缂栧彿"
+ }
}
},
created() {
this.setTable()
- this.getData()
+ if (!this.isDetail) {
+ this.search_map = {}
+ } else {
+ this.search_map = { ...this.addConfig }
+ }
+ this.getData(this.search_map)
},
methods: {
setTable() {
@@ -132,9 +148,9 @@
tableColumn: [
{ label: "鍗曟嵁缂栧彿", prop: "number", min: 120, isCommonClick: true }, // 鍗曟嵁缂栧彿
{ label: "瀹㈡埛鍚嶇О", prop: "client_name", min: 120, isClientClick: true }, // 瀹㈡埛鍚嶇О
- { label: "閿�鍞�诲崟", prop: "masterOrderId", min: 90, isMasterClick: true }, // 閿�鍞�诲崟
- { label: "璐熻矗浜�", prop: "memberId" }, // 璐熻矗浜�
- { label: "瀹℃壒鐘舵��", prop: "approvalStatus" }, // 瀹℃壒鐘舵��
+ { label: "閿�鍞�诲崟", prop: "master_order_number", min: 90, isMasterClick: true }, // 閿�鍞�诲崟
+ { label: "璐熻矗浜�", prop: "member_name" }, // 璐熻矗浜�
+ // { label: "瀹℃壒鐘舵��", prop: "approvalStatus" }, // 瀹℃壒鐘舵��
{ label: "浜у搧鍚嶇О", prop: "productName" }, // 浜у搧鍚嶇О
{ label: "鏁伴噺", prop: "number1", min: 100 } // 鏁伴噺
]
@@ -142,7 +158,8 @@
this.searchOptions = []
for (let i = 0; i < this.tableList.tableColumn.length; i++) {
const label = this.tableList.tableColumn[i].label
- this.searchOptions.push({ value: (i + 1).toString(), label: label })
+ const value = this.tableList.tableColumn[i].prop
+ this.searchOptions.push({ value: value, label: label })
}
},
// 璇锋眰鏁版嵁
@@ -160,7 +177,9 @@
const list = res.data.list.map((item) => {
return {
...item,
- client_name: item.client.name
+ client_name: item.client.name,
+ master_order_number: item.masterOrder.number,
+ member_name: item.member.username
}
})
this.tableList.tableInfomation = list || []
@@ -195,7 +214,7 @@
addBtnClick() {
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
- this.editConfig.infomation = {}
+ this.editConfig.infomation = { ...this.addConfig }
},
// 缂栬緫
handleClick(row) {
diff --git a/src/views/service/clientServiceOrder/DetailClientServiceOrder.vue b/src/views/service/clientServiceOrder/DetailClientServiceOrder.vue
index cf0fb8b..f11ef4d 100644
--- a/src/views/service/clientServiceOrder/DetailClientServiceOrder.vue
+++ b/src/views/service/clientServiceOrder/DetailClientServiceOrder.vue
@@ -41,7 +41,7 @@
<div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
<div v-if="item.rightStr" class="right">
- <div class="content-title">{{ item.rightStr }}</div>
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
<div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
@@ -63,7 +63,7 @@
<div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
<div v-if="item.rightStr" class="right">
- <div class="content-title">{{ item.rightStr }}</div>
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
<div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
@@ -85,7 +85,7 @@
<div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
<div v-if="item.rightStr" class="right">
- <div class="content-title">{{ item.rightStr }}</div>
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
<div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
@@ -183,7 +183,7 @@
</div>
</div>
<!-- 闄勪欢淇℃伅 -->
- <div class="basic-info">
+ <!-- <div class="basic-info">
<div class="basic-info-label" @click="expandClick('annex')">
<i v-if="isAnnexExpand" class="el-icon-arrow-down"></i>
<i v-else class="el-icon-arrow-up"></i>
@@ -199,7 +199,7 @@
</li>
</ul>
</div>
- </div>
+ </div> -->
<!-- 绛惧瓧纭 -->
<div class="basic-info">
<div class="basic-info-label" @click="expandClick('signConfim')">
diff --git a/src/views/service/serviceContract/DetailServiceContract.vue b/src/views/service/serviceContract/DetailServiceContract.vue
index 02dbc24..b417634 100644
--- a/src/views/service/serviceContract/DetailServiceContract.vue
+++ b/src/views/service/serviceContract/DetailServiceContract.vue
@@ -43,7 +43,7 @@
<div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
<div v-if="item.rightStr" class="right">
- <div class="content-title">{{ item.rightStr }}</div>
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
<div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
@@ -65,7 +65,7 @@
<div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
<div v-if="item.rightStr" class="right">
- <div class="content-title">{{ item.rightStr }}</div>
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
<div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
@@ -110,7 +110,7 @@
</div>
</div>
<!-- 闄勪欢淇℃伅 -->
- <div class="basic-info">
+ <!-- <div class="basic-info">
<div class="basic-info-label" @click="expandClick('annex')">
<i v-if="isAnnexExpand" class="el-icon-arrow-down"></i>
<i v-else class="el-icon-arrow-up"></i>
@@ -126,7 +126,7 @@
</li>
</ul>
</div>
- </div>
+ </div> -->
<!-- 浜у搧绠$悊 -->
<div class="basic-info">
<div class="basic-info-label" @click="expandClick('product')">
@@ -495,6 +495,7 @@
align-items: center;
font-size: 14px;
font-family: PingFangSC;
+ min-height: 40px;
// padding: 5px 0;
.content-title {
width: 320px;
diff --git a/src/views/service/serviceFollowup/DetailServiceFollowup.vue b/src/views/service/serviceFollowup/DetailServiceFollowup.vue
index 9b53e73..84c8410 100644
--- a/src/views/service/serviceFollowup/DetailServiceFollowup.vue
+++ b/src/views/service/serviceFollowup/DetailServiceFollowup.vue
@@ -40,7 +40,7 @@
<div class="content-data">{{ item.leftValue ? item.leftValue : "--" }}</div>
</div>
<div v-if="item.rightStr" class="right">
- <div class="content-title">{{ item.rightStr }}</div>
+ <div class="content-title">{{ item.rightStr + "锛�" }}</div>
<div class="content-data">{{ item.rightValue ? item.rightValue : "--" }}</div>
</div>
</li>
@@ -66,7 +66,7 @@
</div>
</div>
<!-- 闄勪欢淇℃伅 -->
- <div class="basic-info">
+ <!-- <div class="basic-info">
<div class="basic-info-label" @click="expandClick('annex')">
<i v-if="isAnnexExpand" class="el-icon-arrow-down"></i>
<i v-else class="el-icon-arrow-up"></i>
@@ -82,7 +82,7 @@
</li>
</ul>
</div>
- </div>
+ </div> -->
</div>
<div v-if="activeName === 'annex'" class="second">
<!-- <SubOrder :isDetail="true" /> -->
--
Gitblit v1.8.0