| | |
| | | > |
| | | <div class="bg-view"> |
| | | <div class="query-bg"> |
| | | <el-input placeholder="请输入内容" v-model="queryInput" size="mini" class="input-with-select"> |
| | | <!-- <el-input placeholder="请输入内容" v-model="queryInput" size="mini" class="input-with-select"> |
| | | <el-select v-model="select" slot="prepend" placeholder="请选择"> |
| | | <el-option v-for="item in commonOptions" :key="item.id" :label="item.name" :value="item.name"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-input> |
| | | </el-input> --> |
| | | <SearchCommonView |
| | | ref="searchCommonView" |
| | | :search-options="searchOptions" |
| | | @searchClick="searchClick" |
| | | @resetClick="resetClick" |
| | | :search-sel="searchSel" |
| | | /> |
| | | <div class="btn"> |
| | | <el-button type="primary" size="mini" disabled>设置字段</el-button> |
| | | <el-button type="primary" size="mini" disabled>快速创建</el-button> |
| | | <!-- <el-button type="primary" size="mini" disabled>设置字段</el-button> |
| | | <el-button type="primary" size="mini" disabled>快速创建</el-button> --> |
| | | </div> |
| | | </div> |
| | | <TableCommonView ref="tableListRef" :table-list="tableList" :select-box="false" @selCommonClick="selNameClick"> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getMasterOrderList } from "@/api/sales/masterOrder" |
| | | import { getQuotationList } from "@/api/sales/quotation" |
| | | import { getSalesDetailsList } from "@/api/sales/salesDetails" |
| | | import { getServiceContractList } from "@/api/serviceManage/serviceContract" |
| | | import { getServiceOrderList } from "@/api/serviceManage/clientServiceOrder" |
| | | import { getProductList } from "@/api/common/other" |
| | | export default { |
| | | name: "EditSelCommonDialog", |
| | | props: { |
| | |
| | | searchSelOptions: [], |
| | | loading: false, |
| | | tableList: {}, |
| | | commonOptions: [] |
| | | searchOptions: [], |
| | | search_map: {}, |
| | | searchSel: {}, |
| | | keyword: "", |
| | | keywordType: "" |
| | | } |
| | | }, |
| | | created() { |
| | | this.setTable() |
| | | this.getData() |
| | | }, |
| | | methods: { |
| | | setTable() { |
| | | if (this.editConfig.title === "销售总单") { |
| | | this.tableList = { |
| | | tableInfomation: this.editConfig.tableInfomation, |
| | | tableInfomation: [], |
| | | tableColumn: [ |
| | | { label: "单据编号", prop: "number", isClick: true }, // 单据编号 |
| | | { label: "负责人", prop: "member_id" } // 负责人 |
| | | { label: "负责人", prop: "member_name" } // 负责人 |
| | | ] |
| | | } |
| | | this.searchSel = { value: "number", label: "单据编号" } |
| | | } else if (this.editConfig.title === "服务合同") { |
| | | this.tableList = { |
| | | tableInfomation: this.editConfig.tableInfomation, |
| | | tableInfomation: [], |
| | | tableColumn: [ |
| | | { label: "客户名称", prop: "clientId" }, // 客户名称 |
| | | { label: "客户名称", prop: "client_name" }, // 客户名称 |
| | | { label: "服务合同编号", prop: "number", isClick: true }, // 服务合同编号 |
| | | { label: "负责人", prop: "memberId" }, // 负责人 |
| | | { label: "负责人", prop: "member_name" }, // 负责人 |
| | | { label: "合计", prop: "total" }, // 合计 |
| | | { label: "签约日期", prop: "signTime", isTime: true }, // 签约日期 |
| | | { label: "合同状态", prop: "serviceContractStatusId" } // 合同状态 |
| | | { label: "合同状态", prop: "serviceContractStatus" } // 合同状态 |
| | | ] |
| | | } |
| | | this.searchSel = { value: "number", label: "服务合同编号" } |
| | | } else if (this.editConfig.title === "销售明细单") { |
| | | this.tableList = { |
| | | tableInfomation: this.editConfig.tableInfomation, |
| | | tableInfomation: [], |
| | | tableColumn: [ |
| | | { label: "客户名称", prop: "clientId" }, // 客户名称 |
| | | { label: "客户名称", prop: "client_name" }, // 客户名称 |
| | | { label: "订单编号", prop: "number", isClick: true }, // 订单编号 |
| | | { label: "签约日期", prop: "signTime" }, // 签约日期 |
| | | { label: "销售负责人", prop: "memberId" }, // 销售负责人 |
| | | { label: "销售负责人", prop: "member_name" }, // 销售负责人 |
| | | { label: "合计", prop: "tptal" } // 合计 |
| | | ] |
| | | } |
| | | this.searchSel = { value: "number", label: "订单编号" } |
| | | } else if (this.editConfig.title === "报价单") { |
| | | this.tableList = { |
| | | tableInfomation: [], |
| | | tableColumn: [ |
| | | { label: "报价单号", prop: "number", isClick: true }, // 报价单号 |
| | | { label: "销售负责人", prop: "member_name" } // 销售负责人 |
| | | ] |
| | | } |
| | | this.searchSel = { value: "number", label: "报价单号" } |
| | | } else if (this.editConfig.title === "客户服务单") { |
| | | this.tableList = { |
| | | tableInfomation: [], |
| | | tableColumn: [ |
| | | { label: "服务单编号", prop: "serviceNumber", isClick: true }, // 服务单编号 |
| | | { label: "主题", prop: "subject" }, // 主题 |
| | | { label: "服务方式", prop: "serviceType_name" }, // 服务方式 |
| | | { label: "服务人员", prop: "serviceMan_name" }, // 服务人员 |
| | | { label: "优先级别", prop: "priorityLevel_name" }, // 优先级别 |
| | | { label: "处理状态", prop: "serviceOrderStatus_name" }, // 处理状态 |
| | | { label: "客户签名", prop: "qianming" } // 客户签名 |
| | | ] |
| | | } |
| | | this.searchSel = { value: "serviceNumber", label: "服务单编号" } |
| | | } else if (this.editConfig.title === "产品名称") { |
| | | this.tableList = { |
| | | tableInfomation: [], |
| | | tableColumn: [ |
| | | { label: "产品名称", prop: "name", isClick: true }, |
| | | { label: "产品编号", prop: "number" } |
| | | ] |
| | | } |
| | | this.searchSel = { value: "Name", label: "产品名称" } |
| | | } |
| | | |
| | | this.commonOptions = [{ id: 1, name: "全部字段" }] |
| | | for (let i = 1; i < this.tableList.tableColumn.length; i++) { |
| | | this.searchOptions = [] |
| | | for (let i = 0; i < this.tableList.tableColumn.length; i++) { |
| | | const label = this.tableList.tableColumn[i].label |
| | | this.commonOptions.push({ id: (i + 1).toString(), name: label }) |
| | | const value = this.tableList.tableColumn[i].prop |
| | | this.searchOptions.push({ value: value, label: label }) |
| | | } |
| | | }, |
| | | // 请求数据 |
| | | async getData() { |
| | | this.loading = true |
| | | if (this.editConfig.title === "销售总单") { |
| | | this.getMasterOrderList() |
| | | } else if (this.editConfig.title === "服务合同") { |
| | | this.getServiceContractList() |
| | | } else if (this.editConfig.title === "销售明细单") { |
| | | this.getSalesDetailsList() |
| | | } else if (this.editConfig.title === "报价单") { |
| | | this.getQuotationList() |
| | | } else if (this.editConfig.title === "客户服务单") { |
| | | this.getServiceOrderList() |
| | | } else if (this.editConfig.title === "产品名称") { |
| | | this.getProductList() |
| | | } |
| | | }, |
| | | // 销售总单 |
| | | async getMasterOrderList() { |
| | | await getMasterOrderList({ |
| | | search_map: this.search_map, |
| | | page: 0, |
| | | pageSize: 0 |
| | | }).then((res) => { |
| | | if (res.code === 200) { |
| | | if (res.data.list && res.data.list.length > 0) { |
| | | const list = res.data.list.map((item) => { |
| | | return { |
| | | ...item, |
| | | member_name: item.member.username |
| | | } |
| | | }) |
| | | this.tableList.tableInfomation = list.slice(0, 5) || [] |
| | | } else { |
| | | this.tableList.tableInfomation = [] |
| | | } |
| | | } |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | // 服务合同 |
| | | async getServiceContractList() { |
| | | await getServiceContractList({ |
| | | keyword: this.keyword, |
| | | keywordType: this.keywordType, |
| | | page: 0, |
| | | pageSize: 0 |
| | | }).then((res) => { |
| | | if (res.code === 200) { |
| | | if (res.data.list && res.data.list.length > 0) { |
| | | const list = res.data.list.map((item) => { |
| | | return { |
| | | ...item, |
| | | client_name: item.client.name, |
| | | member_name: item.member.username, |
| | | serviceContractStatus: item.serviceContractStatus.name |
| | | } |
| | | }) |
| | | this.tableList.tableInfomation = list.slice(0, 5) || [] |
| | | } else { |
| | | this.tableList.tableInfomation = [] |
| | | } |
| | | } |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | // 报价单 |
| | | async getQuotationList() { |
| | | await getQuotationList({ |
| | | search_map: this.search_map, |
| | | page: 0, |
| | | pageSize: 0 |
| | | }).then((res) => { |
| | | if (res.code === 200) { |
| | | if (res.data.list && res.data.list.length > 0) { |
| | | const list = res.data.list.map((item) => { |
| | | return { |
| | | ...item, |
| | | member_name: item.member.username |
| | | } |
| | | }) |
| | | this.tableList.tableInfomation = list.slice(0, 5) || [] |
| | | } else { |
| | | this.tableList.tableInfomation = [] |
| | | } |
| | | } |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | // 销售明细单 |
| | | async getSalesDetailsList() { |
| | | await getSalesDetailsList({ |
| | | keyword: this.keyword, |
| | | keywordType: this.keywordType, |
| | | page: 0, |
| | | pageSize: 0 |
| | | }).then((res) => { |
| | | if (res.code === 200) { |
| | | if (res.data.list && res.data.list.length > 0) { |
| | | const list = res.data.list.map((item) => { |
| | | return { |
| | | ...item, |
| | | client_name: item.client.name, |
| | | member_name: item.Member.username |
| | | } |
| | | }) |
| | | this.tableList.tableInfomation = list.slice(0, 5) || [] |
| | | } else { |
| | | this.tableList.tableInfomation = [] |
| | | } |
| | | } |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | // 客户服务单 |
| | | async getServiceOrderList() { |
| | | await getServiceOrderList({ |
| | | keyword: this.keyword, |
| | | keywordType: this.keywordType, |
| | | page: 0, |
| | | pageSize: 0 |
| | | }).then((res) => { |
| | | if (res.code === 200) { |
| | | if (res.data.data && res.data.data.length > 0) { |
| | | const list = res.data.data.map((item) => { |
| | | return { |
| | | ...item, |
| | | client_name: item.Client.name, |
| | | serviceType_name: item.ServiceType.name, |
| | | faultType_name: item.FaultType.name, |
| | | serviceContract_Number: item.ServiceContract.number, |
| | | serviceMan_name: item.serviceMan.username, |
| | | priorityLevel_name: item.PriorityLevel.name, |
| | | serviceOrderStatus_name: item.ServiceOrderStatus_name |
| | | } |
| | | }) |
| | | this.tableList.tableInfomation = list.slice(0, 5) || [] |
| | | } else { |
| | | this.tableList.tableInfomation = [] |
| | | } |
| | | } |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | // 产品名称 |
| | | async getProductList() { |
| | | await getProductList({ |
| | | productName: "", |
| | | productNumber: "", |
| | | page: 1, |
| | | pageSize: 5 |
| | | }).then((res) => { |
| | | console.log(res.data) |
| | | if (res.data.code === 200) { |
| | | if (res.data.data.data && res.data.data.data.length > 0) { |
| | | const list = res.data.data.data.map((item) => { |
| | | return { |
| | | ...item |
| | | } |
| | | }) |
| | | this.tableList.tableInfomation = list.slice(0, 5) || [] |
| | | } else { |
| | | this.tableList.tableInfomation = [] |
| | | } |
| | | } |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | handleClose() { |
| | | this.editConfig.editVisible = false |
| | |
| | | this.$emit("selClient", row, "serviceContract") |
| | | } else if (this.editConfig.title === "销售明细单") { |
| | | this.$emit("selClient", row, "contract") |
| | | } else if (this.editConfig.title === "报价单") { |
| | | this.$emit("selClient", row, "quotation") |
| | | } else if (this.editConfig.title === "客户服务单") { |
| | | this.$emit("selClient", row, "customService") |
| | | } else if (this.editConfig.title === "产品名称") { |
| | | this.$emit("selClient", row, "productName") |
| | | } |
| | | }, |
| | | // 搜索 |
| | | searchClick(val, content) { |
| | | console.log(val, content) |
| | | this.search_map = { |
| | | [val.value]: content |
| | | } |
| | | this.keyword = content |
| | | this.keywordType = val.label |
| | | this.getData() |
| | | }, |
| | | resetClick() { |
| | | this.search_map = {} |
| | | this.keyword = "" |
| | | this.keywordType = "" |
| | | this.getData() |
| | | } |
| | | } |
| | | } |
| | |
| | | .bg-view { |
| | | margin: 10px; |
| | | .query-bg { |
| | | margin-left: -20px; |
| | | margin-bottom: 10px; |
| | | display: flex; |
| | | justify-content: space-between; |