From 5e39c16fa7ebf060d20b8e23da7e5ee60ea6f2c4 Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期二, 10 十月 2023 16:40:20 +0800
Subject: [PATCH] feat: 合同管理、服务合同、客户服务单、服务回访单 列表和新建弹窗样式调整
---
src/views/service/serviceContract/AddServiceContractDialog.vue | 20 +
src/views/other/commonDialog/SelectContactDialog.vue | 7
src/views/other/commonDialog/SelectChanceDialog.vue | 49 +++-
src/views/service/serviceFollowup/AddServiceFollowupDialog.vue | 17 +
src/views/service/clientServiceOrder/index.vue | 108 +++++----
src/views/other/commonDialog/SelectCommonDialog.vue | 42 ++-
src/views/sales/contractManage/AddContractManageDialog.vue | 19 +
src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue | 65 +++--
src/views/service/serviceContract/index.vue | 119 ++++++----
src/views/service/serviceFollowup/index.vue | 90 ++++----
src/views/sales/contractManage/index.vue | 99 ++++----
11 files changed, 372 insertions(+), 263 deletions(-)
diff --git a/src/views/other/commonDialog/SelectChanceDialog.vue b/src/views/other/commonDialog/SelectChanceDialog.vue
index 9c4f799..b0b114a 100644
--- a/src/views/other/commonDialog/SelectChanceDialog.vue
+++ b/src/views/other/commonDialog/SelectChanceDialog.vue
@@ -27,10 +27,14 @@
:table-list="tableList"
:select-box="false"
@selCommonClick="selNameClick"
+ @selTableCol="selTableCol"
>
</TableCommonView>
<div slot="footer" class="dialog-footer">
- <div class="remark">璇存槑锛氭敮鎸佸瀛楁妯$硦鏌ヨ锛屼粎鏄剧ず绗﹀悎鏉′欢鐨勫墠5鏉℃暟鎹�</div>
+ <!-- <div class="remark">璇存槑锛氭敮鎸佸瀛楁妯$硦鏌ヨ锛屼粎鏄剧ず绗﹀悎鏉′欢鐨勫墠5鏉℃暟鎹�</div> -->
+ <div class="btn-pager">
+ <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
+ </div>
</div>
</div>
</el-dialog>
@@ -39,8 +43,10 @@
<script>
import { getSaleChanceList } from "@/api/sales/salesOpportunity"
+import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
export default {
name: "EditSelChanceDialog",
+ mixins: [pageMixin],
props: {
editCommonConfig: {
type: Object,
@@ -64,7 +70,15 @@
tableList: [],
searchSelOptions: [],
loading: false,
- search_map: {}
+ search_map: {},
+ tableColumn: [
+ { label: "閿�鍞満浼氱紪鍙�", prop: "number" }, // 閿�鍞満浼氱紪鍙�
+ { label: "鏈轰細鍚嶇О", prop: "name", isCommonClick: true, default: true }, // 鏈轰細鍚嶇О
+ { label: "閿�鍞樁娈�", prop: "sale_stage_name" }, // 閿�鍞樁娈�
+ { label: "閿�鍞礋璐d汉", prop: "member_name" }, // 閿�鍞礋璐d汉
+ { label: "棰勮鎴愪氦鏃ユ湡", prop: "expected_time" } // 棰勮鎴愪氦鏃ユ湡
+ ],
+ showCol: ["閿�鍞満浼氱紪鍙�", "鏈轰細鍚嶇О", "閿�鍞樁娈�", "閿�鍞礋璐d汉", "棰勮鎴愪氦鏃ユ湡"]
}
},
created() {
@@ -74,21 +88,31 @@
methods: {
setTable() {
this.tableList = {
+ selectIndex: true,
tableInfomation: [],
- tableColumn: [
- { label: "閿�鍞満浼氱紪鍙�", prop: "number" }, // 閿�鍞満浼氱紪鍙�
- { label: "鏈轰細鍚嶇О", prop: "name", isCommonClick: true }, // 鏈轰細鍚嶇О
- { label: "閿�鍞樁娈�", prop: "sale_stage_name" }, // 閿�鍞樁娈�
- { label: "閿�鍞礋璐d汉", prop: "member_name" }, // 閿�鍞礋璐d汉
- { label: "棰勮鎴愪氦鏃ユ湡", prop: "expected_time" } // 棰勮鎴愪氦鏃ユ湡
- ]
+ allcol: [],
+ showcol: this.showCol,
+ tableColumn: this.setColumnVisible(this.showCol)
}
+ this.tableList.allcol = this.tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label)
this.searchOptions = []
for (let i = 0; i < this.tableList.tableColumn.length; i++) {
const label = this.tableList.tableColumn[i].label
const value = this.tableList.tableColumn[i].prop
this.searchOptions.push({ value: value, label: label })
}
+ },
+ setColumnVisible(showCol) {
+ return this.tableColumn.map((ele) => {
+ return {
+ ...ele,
+ isShowColumn: showCol.includes(ele.label)
+ }
+ })
+ },
+ selTableCol(val) {
+ this.showcol = val
+ this.tableList.tableColumn = this.setColumnVisible(val)
},
handleClose() {
this.editConfig.editVisible = false
@@ -98,8 +122,8 @@
this.loading = true
await getSaleChanceList({
search_map: this.search_map,
- page: 0,
- pageSize: 0
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
})
.then((res) => {
console.log(res)
@@ -112,7 +136,8 @@
sale_stage_name: item.sale_stage.name
}
})
- this.tableList.tableInfomation = list.slice(0, 5) || []
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.data.count
} else {
this.tableList.tableInfomation = []
}
diff --git a/src/views/other/commonDialog/SelectCommonDialog.vue b/src/views/other/commonDialog/SelectCommonDialog.vue
index 024bfe4..0f44348 100644
--- a/src/views/other/commonDialog/SelectCommonDialog.vue
+++ b/src/views/other/commonDialog/SelectCommonDialog.vue
@@ -279,8 +279,8 @@
await getServiceContractList({
keyword: this.keyword,
keywordType: this.keywordType,
- page: 0,
- pageSize: 0
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
}).then((res) => {
if (res.code === 200) {
if (res.data.list && res.data.list.length > 0) {
@@ -292,7 +292,8 @@
serviceContractStatus: item.serviceContractStatus.name
}
})
- this.tableList.tableInfomation = list.slice(0, 5) || []
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.data.count
} else {
this.tableList.tableInfomation = []
}
@@ -304,8 +305,8 @@
async getQuotationList() {
await getQuotationList({
search_map: this.search_map,
- page: 0,
- pageSize: 0
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
}).then((res) => {
if (res.code === 200) {
if (res.data.list && res.data.list.length > 0) {
@@ -315,7 +316,8 @@
member_name: item.member.username
}
})
- this.tableList.tableInfomation = list.slice(0, 5) || []
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.data.count
} else {
this.tableList.tableInfomation = []
}
@@ -328,8 +330,8 @@
await getSalesDetailsList({
keyword: this.keyword,
keywordType: this.keywordType,
- page: 0,
- pageSize: 0
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
}).then((res) => {
if (res.code === 200) {
if (res.data.list && res.data.list.length > 0) {
@@ -340,7 +342,8 @@
member_name: item.Member.username
}
})
- this.tableList.tableInfomation = list.slice(0, 5) || []
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.data.count
} else {
this.tableList.tableInfomation = []
}
@@ -353,8 +356,8 @@
await getServiceOrderList({
keyword: this.keyword,
keywordType: this.keywordType,
- page: 0,
- pageSize: 0
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
}).then((res) => {
if (res.code === 200) {
if (res.data.data && res.data.data.length > 0) {
@@ -370,7 +373,8 @@
serviceOrderStatus_name: item.ServiceOrderStatus_name
}
})
- this.tableList.tableInfomation = list.slice(0, 5) || []
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.data.count
} else {
this.tableList.tableInfomation = []
}
@@ -383,8 +387,8 @@
await getProductList({
productName: this.keywordType === "浜у搧鍚嶇О" ? this.keyword : "",
productNumber: this.keywordType === "浜у搧缂栧彿" ? this.keyword : "",
- page: 1,
- pageSize: 5
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
}).then((res) => {
console.log(res.data)
if (res.data.code === 200) {
@@ -394,7 +398,8 @@
...item
}
})
- this.tableList.tableInfomation = list.slice(0, 5) || []
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.data.data.count
} else {
this.tableList.tableInfomation = []
}
@@ -406,8 +411,8 @@
await getSalesReturnList({
keyword: this.keyword,
keywordType: this.keywordType,
- page: 0,
- pageSize: 0
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
}).then((res) => {
if (res.code === 200) {
if (res.data.list && res.data.list.length > 0) {
@@ -417,7 +422,8 @@
salesReturnStatus_name: item.SalesReturnStatus.name
}
})
- this.tableList.tableInfomation = list.slice(0, 5) || []
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.data.count
} else {
this.tableList.tableInfomation = []
}
diff --git a/src/views/other/commonDialog/SelectContactDialog.vue b/src/views/other/commonDialog/SelectContactDialog.vue
index 5e3010e..7e578d5 100644
--- a/src/views/other/commonDialog/SelectContactDialog.vue
+++ b/src/views/other/commonDialog/SelectContactDialog.vue
@@ -121,8 +121,8 @@
this.loading = true
await getContactList({
search_map: this.search_map,
- page: 0,
- pageSize: 0
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
})
.then((res) => {
console.log(res)
@@ -134,7 +134,8 @@
client_name: item.Client.name
}
})
- this.tableList.tableInfomation = list.slice(0, 5) || []
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.data.count
} else {
this.tableList.tableInfomation = []
}
diff --git a/src/views/sales/contractManage/AddContractManageDialog.vue b/src/views/sales/contractManage/AddContractManageDialog.vue
index 7f5c91d..d0a9d4f 100644
--- a/src/views/sales/contractManage/AddContractManageDialog.vue
+++ b/src/views/sales/contractManage/AddContractManageDialog.vue
@@ -11,7 +11,7 @@
:model="editConfig.infomation"
:rules="rules"
label-position="right"
- label-width="308px"
+ label-width="168px"
size="mini"
>
<!-- 淇℃伅 -->
@@ -32,6 +32,7 @@
"
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>
@@ -48,7 +49,7 @@
</el-col>
<el-col :span="12">
<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 :span="12">
@@ -57,7 +58,7 @@
v-model="editConfig.infomation.memberId"
placeholder="璇烽�夋嫨"
size="mini"
- style="width: 63%"
+ style="width: 100%"
>
<el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
</el-option>
@@ -72,6 +73,7 @@
placeholder="璇烽�夋嫨"
class="common-select-sel"
size="mini"
+ style="width: 100%"
>
<el-option v-for="item in statusOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
@@ -92,6 +94,7 @@
"
value-key="number"
@select="handleSelectClient('quotation', $event)"
+ style="width: 100%"
></el-autocomplete>
<div class="common-select-btn" @click="selClientClick('quotation')">
<i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
@@ -233,7 +236,7 @@
},
data() {
return {
- dialogWidth: "80%",
+ dialogWidth: "50%",
editConfig: this.editCommonConfig,
rules: {
number: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
@@ -343,14 +346,17 @@
}
},
handleSelectClient(value, item) {
- console.log(value)
+ console.log(item)
if (value === "client") {
+ this.editConfig.infomation.client_name = item.name
this.clientId = item.id
} else if (value === "quotation") {
+ this.editConfig.infomation.quotation_number = item.number
this.quotationId = item.id
}
},
selClientClick(value) {
+ console.log("aaaa")
if (value === "client") {
this.editSelectClientConfig.editVisible = true
} else if (value === "quotation") {
@@ -360,6 +366,7 @@
}
},
selClient(row, value) {
+ console.log("bbbb")
console.log(value)
if (value === "client") {
this.editConfig.infomation.client_name = row.name
@@ -371,7 +378,9 @@
},
// 娓呴櫎宸查�夋嫨鐢ㄦ埛
clearupClient(value) {
+ console.log(value)
if (value === "client") {
+ console.log("ss88888")
this.editConfig.infomation.client_name = ""
this.clientId = 0
} else if (value === "quotation") {
diff --git a/src/views/sales/contractManage/index.vue b/src/views/sales/contractManage/index.vue
index 3be819d..64821f8 100644
--- a/src/views/sales/contractManage/index.vue
+++ b/src/views/sales/contractManage/index.vue
@@ -3,16 +3,16 @@
<div class="filter">
<div class="filter-card">
<CommonSearch
- :show-add="false"
- :show-download="false"
- :amount-view="false"
- :show-action-btn="false"
- placeholder="璇疯緭鍏ュ崟鎹紪鍙�"
- @searchClick="onFilterSearch"
+ :show-add="false"
+ :show-download="false"
+ :amount-view="false"
+ :show-action-btn="false"
+ placeholder="璇疯緭鍏ュ崟鎹紪鍙�"
+ @searchClick="onFilterSearch"
>
<template slot="leftButton">
- <el-button size="small" type="primary" @click="addBtnClick">鏂板缓</el-button>
- <el-button size="small" @click="delClick">鍒犻櫎</el-button>
+ <el-button size="small" type="primary" @click="addBtnClick">鏂板缓</el-button>
+ <!-- <el-button size="small" @click="delClick">鍒犻櫎</el-button> -->
</template>
</CommonSearch>
</div>
@@ -22,17 +22,17 @@
<div class="body-card">
<div class="list-view">
<TableCommonView
- ref="tableListRef"
- :table-list="tableList"
- @selCommonClick="selCommonClick"
- @getSelectArray="getSelectArray"
- @selTableCol="selTableCol"
+ ref="tableListRef"
+ :table-list="tableList"
+ @selCommonClick="selCommonClick"
+ @getSelectArray="getSelectArray"
+ @selTableCol="selTableCol"
>
<template slot="tableButton">
<el-table-column label="鎿嶄綔" width="100">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small">缂栬緫</el-button>
- <!-- <el-button @click="delClick(scope.row.id)" type="text" size="small">鍒犻櫎</el-button> -->
+ <el-button @click="delClick(scope.row.id)" type="text" size="small">鍒犻櫎</el-button>
</template>
</el-table-column>
</template>
@@ -113,7 +113,7 @@
{ label: "鍚堝悓鐘舵��", prop: "serviceContractStatus_name", min: 100 },
{ label: "鍒涘缓鏃堕棿", prop: "created_at" }
],
- showCol:["鍗曟嵁缂栧彿", "璐熻矗浜�", "瀹㈡埛鍚嶇О", "鍚堝悓鐘舵��", "鍒涘缓鏃堕棿"]
+ showCol: ["鍗曟嵁缂栧彿", "璐熻矗浜�", "瀹㈡埛鍚嶇О", "鍚堝悓鐘舵��", "鍒涘缓鏃堕棿"]
}
},
created() {
@@ -131,11 +131,12 @@
setTable() {
this.tableList = {
tableInfomation: [],
+ selectIndex: true,
allcol: [],
showcol: this.showCol,
- tableColumn:this.setColumnVisible(this.showCol)
+ tableColumn: this.setColumnVisible(this.showCol)
}
- this.tableList.allcol = this.tableList.tableColumn.filter(ele=>!ele.default).map(ele=>ele.label);
+ this.tableList.allcol = this.tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label)
this.searchOptions = []
for (let i = 0; i < this.tableList.tableColumn.length; i++) {
const label = this.tableList.tableColumn[i].label
@@ -143,17 +144,17 @@
this.searchOptions.push({ value: value, label: label })
}
},
- setColumnVisible(showCol){
- return this.tableColumn.map(ele=>{
+ setColumnVisible(showCol) {
+ return this.tableColumn.map((ele) => {
return {
...ele,
- isShowColumn:showCol.includes(ele.label)
+ isShowColumn: showCol.includes(ele.label)
}
})
},
selTableCol(val) {
- this.showcol = val;
- this.tableList.tableColumn = this.setColumnVisible(val);
+ this.showcol = val
+ this.tableList.tableColumn = this.setColumnVisible(val)
},
// 璇锋眰鏁版嵁
async getData() {
@@ -193,8 +194,8 @@
})
},
// 鎼滅储
- onFilterSearch(searchText){
- this.search_map.number = searchText ?? ''
+ onFilterSearch(searchText) {
+ this.search_map.number = searchText ?? ""
this.pagerOptions.currPage = 1
this.getData()
},
@@ -202,7 +203,7 @@
addBtnClick() {
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
- this.editConfig.infomation = {}
+ this.editConfig.infomation = { client_name: "", quotation_number: "" }
},
// 缂栬緫
handleClick(row) {
@@ -212,27 +213,27 @@
this.editConfig.infomation = { ...row }
},
// 鍒犻櫎
- delClick() {
- if (this.selValueList && this.selValueList.length > 0) {
- this.$confirm("鏄惁纭鍒犻櫎?", "璀﹀憡", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning"
- })
- .then(() => {
- getDelContract({ ids: this.selValueList }).then((response) => {
- if (response.code === 200) {
- this.$message.success("鍒犻櫎鎴愬姛")
- this.getData()
- } else {
- this.$message.warning("鍒犻櫎澶辫触")
- }
- })
+ delClick(id) {
+ // if (this.selValueList && this.selValueList.length > 0) {
+ this.$confirm("鏄惁纭鍒犻櫎?", "璀﹀憡", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ })
+ .then(() => {
+ getDelContract({ ids: [id] }).then((response) => {
+ if (response.code === 200) {
+ this.$message.success("鍒犻櫎鎴愬姛")
+ this.getData()
+ } else {
+ this.$message.warning("鍒犻櫎澶辫触")
+ }
})
- .catch(() => {})
- } else {
- this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉¤褰�")
- }
+ })
+ .catch(() => {})
+ // } else {
+ // this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉¤褰�")
+ // }
},
getSelectArray(val) {
console.log(val)
@@ -254,15 +255,15 @@
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style lang="scss" scoped>
-.contract-manage{
+.contract-manage {
height: 100%;
overflow: hidden;
- .filter{
+ .filter {
height: 80px;
display: flex;
align-items: center;
padding: 12px 20px 0 20px;
- &-card{
+ &-card {
height: 80px;
display: flex;
align-items: center;
@@ -273,7 +274,7 @@
background-color: #fff;
}
}
- .body{
+ .body {
box-sizing: border-box;
padding: 10px 20px;
border-radius: 12px;
diff --git a/src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue b/src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue
index 60a616d..65bf383 100644
--- a/src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue
+++ b/src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue
@@ -13,7 +13,7 @@
:model="editConfig.infomation"
:rules="rules"
label-position="right"
- label-width="308px"
+ label-width="168px"
size="mini"
style="height: 60vh; overflow-x: hidden"
>
@@ -35,6 +35,7 @@
"
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>
@@ -51,7 +52,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="鏈嶅姟鍗曠紪鍙�" prop="serviceNumber">
- <el-input v-model="editConfig.infomation.serviceNumber"></el-input>
+ <el-input v-model="editConfig.infomation.serviceNumber" style="width: 100%"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -66,6 +67,7 @@
"
value-key="number"
@select="handleSelectClient('serviceContract', $event)"
+ style="width: 100%"
></el-autocomplete>
<div class="common-select-btn" @click="selClientClick('serviceContract')">
<i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
@@ -91,6 +93,7 @@
placeholder="璇烽�夋嫨"
class="common-select-sel"
size="mini"
+ style="width: 100%"
>
<!-- @focus="getFaultTypeList" -->
<el-option v-for="item in faultTypeOptions" :key="item.id" :label="item.name" :value="item.id">
@@ -102,7 +105,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="涓婚" prop="subject">
- <el-input v-model="editConfig.infomation.subject"></el-input>
+ <el-input v-model="editConfig.infomation.subject" style="width: 100%"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -117,6 +120,7 @@
"
value-key="number"
@select="handleSelectClient('contract', $event)"
+ style="width: 100%"
></el-autocomplete>
<div class="common-select-btn" @click="selClientClick('contract')">
<i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
@@ -153,23 +157,24 @@
</el-form-item>
</el-col> -->
<el-col :span="12">
- <el-form-item label="浜у搧鍚嶇О" prop="product_name">
+ <el-form-item label="浜у搧鍚嶇О" prop="productName">
<div class="custom-name">
<el-autocomplete
- v-model="editConfig.infomation.product_name"
+ v-model="editConfig.infomation.productName"
:fetch-suggestions="
(queryString, callback) => {
querySearchAsync(queryString, callback, 'productName')
}
"
- value-key="Name"
+ value-key="name"
@select="handleSelectClient('productName', $event)"
+ style="width: 100%"
></el-autocomplete>
<div class="common-select-btn" @click="selClientClick('productName')">
<i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
</div>
<div
- v-if="editConfig.infomation.product_name && editConfig.infomation.product_name.length > 0"
+ v-if="editConfig.infomation.productName && editConfig.infomation.productName.length > 0"
class="common-select-btn"
@click="clearupClient('productName')"
>
@@ -186,6 +191,7 @@
placeholder="璇烽�夋嫨"
class="common-select-sel"
size="mini"
+ style="width: 100%"
>
<el-option v-for="item in serviceTypeOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
@@ -202,6 +208,7 @@
placeholder="璇烽�夋嫨"
class="common-select-sel"
size="mini"
+ style="width: 100%"
>
<el-option
v-for="item in serviceManOptions"
@@ -226,6 +233,7 @@
"
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>
@@ -248,22 +256,13 @@
placeholder="璇烽�夋嫨"
class="common-select-sel"
size="mini"
+ style="width: 100%"
>
<el-option v-for="item in severityOptions" :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>
- </el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item label="涓婇棬鍦板潃" prop="address">
- <el-input
- type="textarea"
- :autosize="{ minRows: 2, maxRows: 4 }"
- placeholder="璇疯緭鍏ュ唴瀹�"
- v-model="editConfig.infomation.address"
- ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -274,6 +273,7 @@
placeholder="璇烽�夋嫨"
class="common-select-sel"
size="mini"
+ style="width: 100%"
>
<el-option
v-for="item in priorityLevelOptions"
@@ -293,6 +293,7 @@
v-model="editConfig.infomation.appointmentTime"
type="datetime"
placeholder="閫夋嫨鏃ユ湡"
+ style="width: 100%"
>
</el-date-picker>
</el-form-item>
@@ -309,6 +310,7 @@
"
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>
@@ -321,6 +323,16 @@
<i class="el-icon-remove-outline"></i>
</div>
</div>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="涓婇棬鍦板潃" prop="address">
+ <el-input
+ type="textarea"
+ :autosize="{ minRows: 2, maxRows: 4 }"
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ v-model="editConfig.infomation.address"
+ ></el-input>
</el-form-item>
</el-col>
</el-row>
@@ -337,6 +349,7 @@
placeholder="璇烽�夋嫨"
class="common-select-sel"
size="mini"
+ style="width: 100%"
>
<el-option v-for="item in statusOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
@@ -358,6 +371,7 @@
value-format="yyyy-MM-dd HH:mm:ss"
type="datetime"
placeholder="閫夋嫨鏃堕棿"
+ style="width: 100%"
>
</el-date-picker>
</el-form-item>
@@ -369,6 +383,7 @@
value-format="yyyy-MM-dd HH:mm:ss"
type="datetime"
placeholder="閫夋嫨鏃堕棿"
+ style="width: 100%"
>
</el-date-picker>
</el-form-item>
@@ -380,7 +395,7 @@
placeholder="璇疯緭鍏�"
:min="0"
:controls="false"
- style="width: 100%; margin-right: 5px"
+ style="width: 100%"
></el-input-number>
</el-form-item>
</el-col>
@@ -391,7 +406,7 @@
placeholder="璇疯緭鍏�"
:min="0"
:controls="false"
- style="width: 100%; margin-right: 5px"
+ style="width: 100%"
></el-input-number>
</el-form-item>
</el-col>
@@ -403,6 +418,7 @@
placeholder="璇烽�夋嫨"
class="common-select-sel"
size="mini"
+ style="width: 100%"
>
<el-option v-for="item in timeSpentOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
@@ -441,6 +457,7 @@
placeholder="璇烽�夋嫨"
class="common-select-sel"
size="mini"
+ style="width: 100%"
>
<el-option v-for="item in faqOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
@@ -653,7 +670,7 @@
},
data() {
return {
- dialogWidth: "80%",
+ dialogWidth: "50%",
editConfig: this.editCommonConfig,
rules: {
serviceNumber: [{ required: true, message: "璇疯緭鍏ユ湇鍔″崟缂栧彿", trigger: "blur" }],
@@ -861,7 +878,7 @@
if (value === "serviceContract" || value === "contract") {
return state.number.toLowerCase().indexOf(queryString.toLowerCase()) === 0
} else if (value === "productName") {
- return state.Name.toLowerCase().indexOf(queryString.toLowerCase()) === 0
+ return state.name.toLowerCase().indexOf(queryString.toLowerCase()) === 0
} else {
return state.name.toLowerCase().indexOf(queryString.toLowerCase()) === 0
}
@@ -875,7 +892,7 @@
} else if (value === "contract") {
this.SalesDetailsId = item.id
} else if (value === "productName") {
- this.productName = item.Name
+ this.productName = item.name
} else if (value === "contact") {
this.contactId = item.id
} else if (value === "chance") {
@@ -916,7 +933,7 @@
this.editConfig.infomation.number = row.number
this.SalesDetailsId = row.id
} else if (value === "productName") {
- this.editConfig.infomation.product_name = row.Name
+ this.editConfig.infomation.productName = row.name
this.productName = row.Name
} else if (value === "chance") {
this.editConfig.infomation.sale_chance_name = row.name
@@ -935,7 +952,7 @@
this.editConfig.infomation.number = ""
this.SalesDetailsId = 0
} else if (value === "productName") {
- this.editConfig.infomation.product_name = ""
+ this.editConfig.infomation.productName = ""
this.productName = ""
} else if (value === "contact") {
this.editConfig.infomation.contact_name = ""
diff --git a/src/views/service/clientServiceOrder/index.vue b/src/views/service/clientServiceOrder/index.vue
index 40943a8..d1e9ff2 100644
--- a/src/views/service/clientServiceOrder/index.vue
+++ b/src/views/service/clientServiceOrder/index.vue
@@ -6,16 +6,16 @@
<div v-else class="filter">
<div class="filter-card">
<CommonSearch
- :show-add="false"
- :show-download="false"
- :amount-view="false"
- :show-action-btn="false"
- placeholder="璇疯緭鍏ユ湇鍔″崟缂栧彿"
- @searchClick="onFilterSearch"
+ :show-add="false"
+ :show-download="false"
+ :amount-view="false"
+ :show-action-btn="false"
+ placeholder="璇疯緭鍏ユ湇鍔″崟缂栧彿"
+ @searchClick="onFilterSearch"
>
<template slot="leftButton">
- <el-button size="small" type="primary" @click="addBtnClick">鏂板缓</el-button>
- <el-button size="small" @click="delClick">鍒犻櫎</el-button>
+ <el-button size="small" type="primary" @click="addBtnClick">鏂板缓</el-button>
+ <!-- <el-button size="small" @click="delClick">鍒犻櫎</el-button> -->
</template>
</CommonSearch>
</div>
@@ -26,17 +26,16 @@
<TableCommonView
ref="tableListRef"
:table-list="tableList"
- :select-box="!isDetail"
@selClientClick="selClientClick"
@selCommonClick="selCommonClick"
@getSelectArray="getSelectArray"
@selTableCol="selTableCol"
>
<template slot="tableButton">
- <el-table-column label="鎿嶄綔" width="60">
+ <el-table-column label="鎿嶄綔" width="100">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small">缂栬緫</el-button>
- <!-- <el-button @click="delClick(scope.row.id)" type="text" size="small">鍒犻櫎</el-button> -->
+ <el-button @click="delClick(scope.row.id)" type="text" size="small">鍒犻櫎</el-button>
</template>
</el-table-column>
</template>
@@ -45,7 +44,6 @@
<div class="btn-pager">
<PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
</div>
-
</div>
</div>
@@ -135,7 +133,7 @@
// { label: "浜у搧绫诲埆", prop: "reportSourceId" }, // 浜у搧绫诲埆
{ label: "鏁呴殰绫诲埆", prop: "faultType_name" } // 鏁呴殰绫诲埆
],
- showCol:["鏈嶅姟鍗曠紪鍙�", "涓婚", "瀹㈡埛鍚嶇О", "瀹為檯澶勭悊鏃堕棿", "鏈嶅姟浜哄憳", "鏈嶅姟鏂瑰紡", "鏁呴殰绫诲埆"]
+ showCol: ["鏈嶅姟鍗曠紪鍙�", "涓婚", "瀹㈡埛鍚嶇О", "瀹為檯澶勭悊鏃堕棿", "鏈嶅姟浜哄憳", "鏈嶅姟鏂瑰紡", "鏁呴殰绫诲埆"]
}
},
created() {
@@ -152,12 +150,13 @@
methods: {
setTable() {
this.tableList = {
+ selectIndex: true,
tableInfomation: [],
allcol: [],
showcol: this.showCol,
- tableColumn:this.setColumnVisible(this.showCol)
+ tableColumn: this.setColumnVisible(this.showCol)
}
- this.tableList.allcol = this.tableList.tableColumn.filter(ele=>!ele.default).map(ele=>ele.label);
+ this.tableList.allcol = this.tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label)
this.searchOptions = []
for (let i = 0; i < this.tableList.tableColumn.length; i++) {
const label = this.tableList.tableColumn[i].label
@@ -165,17 +164,17 @@
this.searchOptions.push({ value: value, label: label })
}
},
- setColumnVisible(showCol){
- return this.tableColumn.map(ele=>{
+ setColumnVisible(showCol) {
+ return this.tableColumn.map((ele) => {
return {
...ele,
- isShowColumn:showCol.includes(ele.label)
+ isShowColumn: showCol.includes(ele.label)
}
})
},
selTableCol(val) {
- this.showcol = val;
- this.tableList.tableColumn = this.setColumnVisible(val);
+ this.showcol = val
+ this.tableList.tableColumn = this.setColumnVisible(val)
},
// 璇锋眰鏁版嵁
async getData() {
@@ -223,9 +222,9 @@
console.log(tab, event)
},
// 鎼滅储
- onFilterSearch(searchText){
+ onFilterSearch(searchText) {
this.keyword = searchText ?? ""
- this.keywordType =searchText ? "鏈嶅姟鍗曠紪鍙�" : ''
+ this.keywordType = searchText ? "鏈嶅姟鍗曠紪鍙�" : ""
this.pagerOptions.currPage = 1
this.getData()
},
@@ -233,37 +232,50 @@
addBtnClick() {
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
- this.editConfig.infomation = {}
+ this.editConfig.infomation = {
+ client_name: "",
+ serviceContract_Number: "",
+ number: "",
+ productName: "",
+ contact_name: "",
+ sale_chance_name: ""
+ }
},
// 缂栬緫
handleClick(row) {
console.log(row)
this.editConfig.visible = true
this.editConfig.title = "缂栬緫"
- this.editConfig.infomation = { ...row, contact_name: row.Contact.name, service_number: row.serviceContractId }
+ this.editConfig.infomation = {
+ ...row,
+ contact_name: row.Contact.name,
+ service_number: row.serviceContractId,
+ number: row.SalesDetails.number,
+ sale_chance_name: row.SaleChance.name
+ }
},
// 鍒犻櫎
- delClick() {
- if (this.selValueList && this.selValueList.length > 0) {
- this.$confirm("鏄惁纭鍒犻櫎?", "璀﹀憡", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning"
- })
- .then(() => {
- getDelServiceOrder({ ids: this.selValueList }).then((response) => {
- if (response.code === 200) {
- this.$message.success("鍒犻櫎鎴愬姛")
- this.getData()
- } else {
- this.$message.warning("鍒犻櫎澶辫触")
- }
- })
+ delClick(id) {
+ // if (this.selValueList && this.selValueList.length > 0) {
+ this.$confirm("鏄惁纭鍒犻櫎?", "璀﹀憡", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ })
+ .then(() => {
+ getDelServiceOrder({ ids: [id] }).then((response) => {
+ if (response.code === 200) {
+ this.$message.success("鍒犻櫎鎴愬姛")
+ this.getData()
+ } else {
+ this.$message.warning("鍒犻櫎澶辫触")
+ }
})
- .catch(() => {})
- } else {
- this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉¤褰�")
- }
+ })
+ .catch(() => {})
+ // } else {
+ // this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉¤褰�")
+ // }
},
getSelectArray(val) {
console.log(val)
@@ -306,15 +318,15 @@
}
}
-.sales-lead{
+.sales-lead {
height: 100%;
overflow: hidden;
- .filter{
+ .filter {
height: 80px;
display: flex;
align-items: center;
padding: 12px 20px 0 20px;
- &-card{
+ &-card {
height: 80px;
display: flex;
align-items: center;
@@ -325,7 +337,7 @@
background-color: #fff;
}
}
- .body{
+ .body {
box-sizing: border-box;
padding: 10px 20px;
border-radius: 12px;
diff --git a/src/views/service/serviceContract/AddServiceContractDialog.vue b/src/views/service/serviceContract/AddServiceContractDialog.vue
index f6cf395..2719d49 100644
--- a/src/views/service/serviceContract/AddServiceContractDialog.vue
+++ b/src/views/service/serviceContract/AddServiceContractDialog.vue
@@ -13,7 +13,7 @@
:model="editConfig.infomation"
:rules="rules"
label-position="right"
- label-width="308px"
+ label-width="168px"
size="mini"
style="height: 60vh; overflow-x: hidden"
>
@@ -35,6 +35,7 @@
"
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>
@@ -51,7 +52,7 @@
</el-col>
<el-col :span="12">
<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 :span="12">
@@ -60,7 +61,7 @@
v-model="editConfig.infomation.memberId"
placeholder="璇烽�夋嫨"
size="mini"
- style="width: 63%"
+ style="width: 100%"
>
<el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
</el-option>
@@ -79,6 +80,7 @@
"
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>
@@ -105,6 +107,7 @@
"
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>
@@ -131,6 +134,7 @@
"
value-key="number"
@select="handleSelectClient('contract', $event)"
+ style="width: 100%"
></el-autocomplete>
<div class="common-select-btn" @click="selClientClick('contract')">
<i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
@@ -157,6 +161,7 @@
"
value-key="number"
@select="handleSelectClient('quotation', $event)"
+ style="width: 100%"
></el-autocomplete>
<div class="common-select-btn" @click="selClientClick('quotation')">
<i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
@@ -179,6 +184,7 @@
placeholder="璇烽�夋嫨"
class="common-select-sel"
size="mini"
+ style="width: 100%"
>
<el-option v-for="item in contractTypeOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
@@ -194,6 +200,7 @@
value-format="yyyy-MM-dd"
type="date"
placeholder="閫夋嫨鏃ユ湡"
+ style="width: 100%"
>
</el-date-picker>
</el-form-item>
@@ -205,6 +212,7 @@
value-format="yyyy-MM-dd"
type="date"
placeholder="閫夋嫨鏃ユ湡"
+ style="width: 100%"
>
</el-date-picker>
</el-form-item>
@@ -216,6 +224,7 @@
value-format="yyyy-MM-dd"
type="date"
placeholder="閫夋嫨鏃ユ湡"
+ style="width: 100%"
>
</el-date-picker>
</el-form-item>
@@ -234,6 +243,7 @@
placeholder="璇烽�夋嫨"
class="common-select-sel"
size="mini"
+ style="width: 100%"
>
<el-option
v-for="item in contractStatusOptions"
@@ -255,7 +265,7 @@
:min="0"
:precision="2"
:controls="false"
- style="width: 100%; margin-right: 5px"
+ style="width: 100%"
></el-input-number>
</el-form-item>
</el-col>
@@ -463,7 +473,7 @@
},
data() {
return {
- dialogWidth: "80%",
+ dialogWidth: "50%",
editConfig: this.editCommonConfig,
rules: {
number: [{ required: true, message: "璇疯緭鍏ユ湇鍔″悎鍚岀紪鍙�", trigger: "blur" }],
diff --git a/src/views/service/serviceContract/index.vue b/src/views/service/serviceContract/index.vue
index 1cdb09c..633af84 100644
--- a/src/views/service/serviceContract/index.vue
+++ b/src/views/service/serviceContract/index.vue
@@ -14,8 +14,8 @@
@searchClick="onFilterSearch"
>
<template slot="leftButton">
- <el-button size="small" type="primary" @click="addBtnClick">鏂板缓</el-button>
- <el-button size="small" @click="delClick">鍒犻櫎</el-button>
+ <el-button size="small" type="primary" @click="addBtnClick">鏂板缓</el-button>
+ <!-- <el-button size="small" @click="delClick">鍒犻櫎</el-button> -->
</template>
</CommonSearch>
</div>
@@ -25,27 +25,26 @@
<div class="body-card">
<div class="list-view">
<TableCommonView
- ref="tableListRef"
- :table-list="tableList"
- :select-box="!isDetail"
- @selClientClick="selClientClick"
- @selCommonClick="selCommonClick"
- @getSelectArray="getSelectArray"
- @selTableCol="selTableCol"
+ ref="tableListRef"
+ :table-list="tableList"
+ @selClientClick="selClientClick"
+ @selCommonClick="selCommonClick"
+ @getSelectArray="getSelectArray"
+ @selTableCol="selTableCol"
>
<template slot="tableButton">
- <el-table-column label="鎿嶄綔" width="60">
+ <el-table-column label="鎿嶄綔" width="100">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small">缂栬緫</el-button>
- <!-- <el-button @click="delClick(scope.row.id)" type="text" size="small">鍒犻櫎</el-button> -->
+ <el-button @click="delClick(scope.row.id)" type="text" size="small">鍒犻櫎</el-button>
</template>
</el-table-column>
</template>
</TableCommonView>
</div>
- <div class="btn-pager">
- <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
- </div>
+ <div class="btn-pager">
+ <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
+ </div>
</div>
</div>
<!-- 鏂板缓/缂栬緫 -->
@@ -142,7 +141,18 @@
{ label: "鏈嶅姟鍒版湡鏃�", prop: "endTime" }, // 鏈嶅姟鍒版湡鏃�
{ label: "浠风◣鍚堣", prop: "amountTotal" } // 浠风◣鍚堣
],
- showCol:["鏈嶅姟鍚堝悓缂栧彿", "瀹㈡埛鍚嶇О", "绛剧害鏃ユ湡", "鍚堝悓绫诲瀷", "鍚堝悓鐘舵��", "璐熻矗浜�", "浜у搧鍚嶇О", "鏈嶅姟寮�濮嬫棩", "鏈嶅姟鍒版湡鏃�", "浠风◣鍚堣"]
+ showCol: [
+ "鏈嶅姟鍚堝悓缂栧彿",
+ "瀹㈡埛鍚嶇О",
+ "绛剧害鏃ユ湡",
+ "鍚堝悓绫诲瀷",
+ "鍚堝悓鐘舵��",
+ "璐熻矗浜�",
+ "浜у搧鍚嶇О",
+ "鏈嶅姟寮�濮嬫棩",
+ "鏈嶅姟鍒版湡鏃�",
+ "浠风◣鍚堣"
+ ]
}
},
created() {
@@ -159,12 +169,13 @@
methods: {
setTable() {
this.tableList = {
+ selectIndex: true,
tableInfomation: [],
allcol: [],
showcol: this.showCol,
- tableColumn:this.setColumnVisible(this.showCol)
+ tableColumn: this.setColumnVisible(this.showCol)
}
- this.tableList.allcol = this.tableList.tableColumn.filter(ele=>!ele.default).map(ele=>ele.label);
+ this.tableList.allcol = this.tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label)
this.searchOptions = []
for (let i = 0; i < this.tableList.tableColumn.length; i++) {
const label = this.tableList.tableColumn[i].label
@@ -172,17 +183,17 @@
this.searchOptions.push({ value: value, label: label })
}
},
- setColumnVisible(showCol){
- return this.tableColumn.map(ele=>{
+ setColumnVisible(showCol) {
+ return this.tableColumn.map((ele) => {
return {
...ele,
- isShowColumn:showCol.includes(ele.label)
+ isShowColumn: showCol.includes(ele.label)
}
})
},
selTableCol(val) {
- this.showcol = val;
- this.tableList.tableColumn = this.setColumnVisible(val);
+ this.showcol = val
+ this.tableList.tableColumn = this.setColumnVisible(val)
},
// 璇锋眰鏁版嵁
async getData() {
@@ -223,7 +234,7 @@
})
},
// 鎼滅储
- onFilterSearch(searchText){
+ onFilterSearch(searchText) {
this.keyword = searchText ?? ""
this.keywordType = "鏈嶅姟鍚堝悓缂栧彿"
this.pagerOptions.currPage = 1
@@ -233,7 +244,15 @@
addBtnClick() {
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
- this.editConfig.infomation = { ...this.addConfig, currency: "浜烘皯甯�" }
+ this.editConfig.infomation = {
+ ...this.addConfig,
+ currency: "浜烘皯甯�",
+ client_name: "",
+ contact_name: "",
+ sale_chance_name: "",
+ contract_number: "",
+ quotation_number: ""
+ }
},
// 缂栬緫
handleClick(row) {
@@ -244,31 +263,33 @@
...row,
contract_number: row.salesDetails.number,
quotation_number: row.quotation.number,
- currency: "浜烘皯甯�"
+ currency: "浜烘皯甯�",
+ sale_chance_name: row.SaleChance.name,
+ contact_name: row.contact.name
}
},
// 鍒犻櫎
- delClick() {
- if (this.selValueList && this.selValueList.length > 0) {
- this.$confirm("鏄惁纭鍒犻櫎?", "璀﹀憡", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning"
- })
- .then(() => {
- getDelServiceContract({ ids: this.selValueList }).then((response) => {
- if (response.code === 200) {
- this.$message.success("鍒犻櫎鎴愬姛")
- this.getData()
- } else {
- this.$message.warning("鍒犻櫎澶辫触")
- }
- })
+ delClick(id) {
+ // if (this.selValueList && this.selValueList.length > 0) {
+ this.$confirm("鏄惁纭鍒犻櫎?", "璀﹀憡", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ })
+ .then(() => {
+ getDelServiceContract({ ids: [id] }).then((response) => {
+ if (response.code === 200) {
+ this.$message.success("鍒犻櫎鎴愬姛")
+ this.getData()
+ } else {
+ this.$message.warning("鍒犻櫎澶辫触")
+ }
})
- .catch(() => {})
- } else {
- this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉¤褰�")
- }
+ })
+ .catch(() => {})
+ // } else {
+ // this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉¤褰�")
+ // }
},
getSelectArray(val) {
console.log(val)
@@ -302,15 +323,15 @@
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style lang="scss" scoped>
-.service-contract{
+.service-contract {
height: 100%;
overflow: hidden;
- .filter{
+ .filter {
height: 80px;
display: flex;
align-items: center;
padding: 12px 20px 0 20px;
- &-card{
+ &-card {
height: 80px;
display: flex;
align-items: center;
@@ -321,7 +342,7 @@
background-color: #fff;
}
}
- .body{
+ .body {
box-sizing: border-box;
padding: 10px 20px;
border-radius: 12px;
diff --git a/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue b/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue
index ee12a2c..caebbba 100644
--- a/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue
+++ b/src/views/service/serviceFollowup/AddServiceFollowupDialog.vue
@@ -13,7 +13,7 @@
:model="editConfig.infomation"
:rules="rules"
label-position="right"
- label-width="308px"
+ label-width="168px"
size="mini"
style="height: 60vh; overflow-x: hidden"
>
@@ -35,6 +35,7 @@
"
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>
@@ -51,7 +52,7 @@
</el-col>
<el-col :span="12">
<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 :span="12">
@@ -66,6 +67,7 @@
"
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>
@@ -92,6 +94,7 @@
"
value-key="serviceNumber"
@select="handleSelectClient('customService', $event)"
+ style="width: 100%"
></el-autocomplete>
<div class="common-select-btn" @click="selClientClick('customService')">
<i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
@@ -108,7 +111,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="鍥炶浜�" prop="memberId">
- <el-select v-model="editConfig.infomation.memberId" size="mini">
+ <el-select v-model="editConfig.infomation.memberId" 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>
@@ -131,6 +134,7 @@
placeholder="璇烽�夋嫨"
class="common-select-sel"
size="mini"
+ style="width: 100%"
>
<el-option v-for="item in satisfactionOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
@@ -147,6 +151,7 @@
placeholder="璇烽�夋嫨"
class="common-select-sel"
size="mini"
+ style="width: 100%"
>
<el-option v-for="item in timelyRateOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
@@ -163,6 +168,7 @@
placeholder="璇烽�夋嫨"
class="common-select-sel"
size="mini"
+ style="width: 100%"
>
<el-option v-for="item in solveRateOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
@@ -173,7 +179,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="鍘熸湇鍔′汉鍛�" prop="oldMemberId">
- <el-select v-model="editConfig.infomation.oldMemberId" size="mini">
+ <el-select v-model="editConfig.infomation.oldMemberId" size="mini" style="width: 100%">
<el-option v-for="item in oldMemberOptions" :key="item.id" :label="item.username" :value="item.id">
</el-option>
</el-select>
@@ -187,6 +193,7 @@
placeholder="璇烽�夋嫨"
class="common-select-sel"
size="mini"
+ style="width: 100%"
>
<el-option v-for="item in isVisitOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
@@ -302,7 +309,7 @@
},
data() {
return {
- dialogWidth: "80%",
+ dialogWidth: "50%",
editConfig: this.editCommonConfig,
rules: {
number: [{ required: true, message: "璇疯緭鍏ュ洖璁垮崟鍗曠紪鍙�", trigger: "blur" }],
diff --git a/src/views/service/serviceFollowup/index.vue b/src/views/service/serviceFollowup/index.vue
index 59f60ca..f0cec56 100644
--- a/src/views/service/serviceFollowup/index.vue
+++ b/src/views/service/serviceFollowup/index.vue
@@ -6,16 +6,16 @@
<div v-else class="filter">
<div class="filter-card">
<CommonSearch
- :show-add="false"
- :show-download="false"
- :amount-view="false"
- :show-action-btn="false"
- placeholder="璇疯緭鍏ユ湇鍔″崟缂栧彿"
- @searchClick="onFilterSearch"
+ :show-add="false"
+ :show-download="false"
+ :amount-view="false"
+ :show-action-btn="false"
+ placeholder="璇疯緭鍏ユ湇鍔″崟缂栧彿"
+ @searchClick="onFilterSearch"
>
<template slot="leftButton">
- <el-button size="small" type="primary" @click="addBtnClick">鏂板缓</el-button>
- <el-button size="small" @click="delClick">鍒犻櫎</el-button>
+ <el-button size="small" type="primary" @click="addBtnClick">鏂板缓</el-button>
+ <!-- <el-button size="small" @click="delClick">鍒犻櫎</el-button> -->
</template>
</CommonSearch>
</div>
@@ -26,7 +26,6 @@
<TableCommonView
ref="tableListRef"
:table-list="tableList"
- :select-box="!isDetail"
@selClientClick="selClientClick"
@selCommonClick="selCommonClick"
@selContactsClick="selContactsClick"
@@ -35,10 +34,10 @@
@selTableCol="selTableCol"
>
<template slot="tableButton">
- <el-table-column label="鎿嶄綔" width="60">
+ <el-table-column label="鎿嶄綔" width="100">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small">缂栬緫</el-button>
- <!-- <el-button @click="delClick(scope.row.id)" type="text" size="small">鍒犻櫎</el-button> -->
+ <el-button @click="delClick(scope.row.id)" type="text" size="small">鍒犻櫎</el-button>
</template>
</el-table-column>
</template>
@@ -148,7 +147,7 @@
{ label: "婊℃剰搴�", prop: "satisfaction_name" } // 婊℃剰搴�
// { label: "淇敼鏃堕棿", prop: "modifyTime" } // 淇敼鏃堕棿
],
- showCol:["鍥炶鍗曠紪鍙�", "瀹㈡埛鍚嶇О", "鑱旂郴浜哄鍚�", "瀹㈡埛鏈嶅姟鍗�", "鍥炶浜�", "婊℃剰搴�"]
+ showCol: ["鍥炶鍗曠紪鍙�", "瀹㈡埛鍚嶇О", "鑱旂郴浜哄鍚�", "瀹㈡埛鏈嶅姟鍗�", "鍥炶浜�", "婊℃剰搴�"]
}
},
created() {
@@ -163,12 +162,13 @@
methods: {
setTable() {
this.tableList = {
+ selectIndex: true,
tableInfomation: [],
allcol: [],
showcol: this.showCol,
- tableColumn:this.setColumnVisible(this.showCol)
+ tableColumn: this.setColumnVisible(this.showCol)
}
- this.tableList.allcol = this.tableList.tableColumn.filter(ele=>!ele.default).map(ele=>ele.label);
+ this.tableList.allcol = this.tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label)
this.searchOptions = []
for (let i = 0; i < this.tableList.tableColumn.length; i++) {
const label = this.tableList.tableColumn[i].label
@@ -176,17 +176,17 @@
this.searchOptions.push({ value: value, label: label })
}
},
- setColumnVisible(showCol){
- return this.tableColumn.map(ele=>{
+ setColumnVisible(showCol) {
+ return this.tableColumn.map((ele) => {
return {
...ele,
- isShowColumn:showCol.includes(ele.label)
+ isShowColumn: showCol.includes(ele.label)
}
})
},
selTableCol(val) {
- this.showcol = val;
- this.tableList.tableColumn = this.setColumnVisible(val);
+ this.showcol = val
+ this.tableList.tableColumn = this.setColumnVisible(val)
},
// 璇锋眰鏁版嵁
async getData() {
@@ -228,9 +228,9 @@
})
},
// 鎼滅储
- onFilterSearch(searchText){
+ onFilterSearch(searchText) {
this.keyword = searchText ?? ""
- this.keywordType =searchText ? "鍥炶鍗曠紪鍙�" : ''
+ this.keywordType = searchText ? "鍥炶鍗曠紪鍙�" : ""
this.pagerOptions.currPage = 1
this.getData()
},
@@ -238,7 +238,7 @@
addBtnClick() {
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
- this.editConfig.infomation = { ...this.addConfig }
+ this.editConfig.infomation = { ...this.addConfig, client_name: "", contact_name: "", service_number: "" }
},
// 缂栬緫
handleClick(row) {
@@ -248,27 +248,27 @@
this.editConfig.infomation = { ...row, service_number: row.ServiceOrder.serviceNumber }
},
// 鍒犻櫎
- delClick() {
- if (this.selValueList && this.selValueList.length > 0) {
- this.$confirm("鏄惁纭鍒犻櫎?", "璀﹀憡", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning"
- })
- .then(() => {
- getDelServiceFollowup({ ids: this.selValueList }).then((response) => {
- if (response.code === 200) {
- this.$message.success("鍒犻櫎鎴愬姛")
- this.getData()
- } else {
- this.$message.warning("鍒犻櫎澶辫触")
- }
- })
+ delClick(id) {
+ // if (this.selValueList && this.selValueList.length > 0) {
+ this.$confirm("鏄惁纭鍒犻櫎?", "璀﹀憡", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ })
+ .then(() => {
+ getDelServiceFollowup({ ids: [id] }).then((response) => {
+ if (response.code === 200) {
+ this.$message.success("鍒犻櫎鎴愬姛")
+ this.getData()
+ } else {
+ this.$message.warning("鍒犻櫎澶辫触")
+ }
})
- .catch(() => {})
- } else {
- this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉¤褰�")
- }
+ })
+ .catch(() => {})
+ // } else {
+ // this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉¤褰�")
+ // }
},
getSelectArray(val) {
console.log(val)
@@ -315,12 +315,12 @@
.sales-lead {
height: 100%;
overflow: hidden;
- .filter{
+ .filter {
height: 80px;
display: flex;
align-items: center;
padding: 12px 20px 0 20px;
- &-card{
+ &-card {
height: 80px;
display: flex;
align-items: center;
@@ -331,7 +331,7 @@
background-color: #fff;
}
}
- .body{
+ .body {
box-sizing: border-box;
padding: 10px 20px;
border-radius: 12px;
--
Gitblit v1.8.0