| | |
| | | // 删除合同管理 |
| | | export function getDelContract(data) { |
| | | return request({ |
| | | url: "/api/contract/delete/" + data.id, |
| | | method: "delete" |
| | | url: "/api/contract/delete", |
| | | method: "delete", |
| | | data |
| | | }) |
| | | } |
| | | // 更新合同管理 |
| | |
| | | // 删除生成计划 |
| | | export function getDelPlan(data) { |
| | | return request({ |
| | | url: "/api/plan/delete/" + data.id, |
| | | method: "delete" |
| | | url: "/api/plan/delete", |
| | | method: "delete", |
| | | data |
| | | }) |
| | | } |
| | | // 更新生成计划 |
| | |
| | | // 删除主订单 |
| | | export function getDelMasterOrder(data) { |
| | | return request({ |
| | | url: "/api/masterOrder/delete/" + data.id, |
| | | method: "delete" |
| | | url: "/api/masterOrder/delete", |
| | | method: "delete", |
| | | data |
| | | }) |
| | | } |
| | | // 更新主订单 |
| | |
| | | // 删除报价单 |
| | | export function getDelQuotation(data) { |
| | | return request({ |
| | | url: "/api/quotation/delete/" + data.id, |
| | | method: "delete" |
| | | url: "/api/quotation/delete", |
| | | method: "delete", |
| | | data |
| | | }) |
| | | } |
| | | // 更新报价单 |
| | |
| | | // 删除销售退款单 |
| | | export function getDelSalesRefund(data) { |
| | | return request({ |
| | | url: "/api/salesRefund/delete/" + data.id, |
| | | method: "delete" |
| | | url: "/api/salesRefund/delete", |
| | | method: "delete", |
| | | data |
| | | }) |
| | | } |
| | | // 更新销售退款单 |
| | |
| | | // 删除销售明细 |
| | | export function getDelSalesDetails(data) { |
| | | return request({ |
| | | url: "/api/salesDetails/delete/" + data.id, |
| | | method: "delete" |
| | | url: "/api/salesDetails/delete", |
| | | method: "delete", |
| | | data |
| | | }) |
| | | } |
| | | // 更新销售明细 |
| | |
| | | // 删除销售机会 |
| | | export function getDelSaleChance(data) { |
| | | return request({ |
| | | url: "/api/saleChance/delete/" + data.id, |
| | | method: "delete" |
| | | url: "/api/saleChance/delete", |
| | | method: "delete", |
| | | data |
| | | }) |
| | | } |
| | | // 更新销售机会 |
| | |
| | | // 删除销售退货单 |
| | | export function getDelSalesReturn(data) { |
| | | return request({ |
| | | url: "/api/salesReturn/delete/" + data.id, |
| | | method: "delete" |
| | | url: "/api/salesReturn/delete", |
| | | method: "delete", |
| | | data |
| | | }) |
| | | } |
| | | // 更新销售退货单 |
| | |
| | | // 删除销售子单 |
| | | export function getDelSubOrder(data) { |
| | | return request({ |
| | | url: "/api/subOrder/delete/" + data.id, |
| | | method: "delete" |
| | | url: "/api/subOrder/delete", |
| | | method: "delete", |
| | | data |
| | | }) |
| | | } |
| | | // 更新销售子单 |
| | |
| | | <span>新建</span> |
| | | </div> |
| | | <div class="query-class"> |
| | | <div class="query-class-title">查询分类</div> |
| | | <!-- <div class="query-class-title">查询分类</div> |
| | | <el-select v-model="queryClassValue" placeholder="请选择" class="query-class-sel" size="mini"> |
| | | <el-option v-for="item in queryClassOptions" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-select> --> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | <span v-if="item.price">{{ "¥" + number_format(scope.row[item.prop], 2, ".", ",") }}</span> |
| | | <div v-else-if="item.status" :class="scope.row.status">{{ scope.row[item.prop] }}</div> |
| | | <span v-else-if="item.isTime">{{ |
| | | dateFormat("YYYY-mm-dd HH:MM:SS", scope.row[item.prop]) === "1900-01-01 08:00:00" |
| | | dateFormat("YYYY-mm-dd HH:MM:SS", scope.row[item.prop]) === "1900-01-01 00:06:26" |
| | | ? "--" |
| | | : dateFormat("YYYY-mm-dd HH:MM:SS", scope.row[item.prop]) |
| | | }}</span> |
| | |
| | | created() { |
| | | this.setData(this.detailConfig.infomation) |
| | | this.addConfig = { |
| | | client: this.detailConfig.infomation.id, |
| | | id_name: "client_id", |
| | | id: this.detailConfig.infomation.id, |
| | | client_name: this.detailConfig.infomation.name, |
| | | contact_name: this.detailConfig.infomation.contact_name, |
| | | client_status_id: this.detailConfig.infomation.client_status_id |
| | | client_status_id: this.detailConfig.infomation.client_status_id, |
| | | client_id: this.detailConfig.infomation.id, |
| | | contact_id: this.detailConfig.infomation.contact_id |
| | | } |
| | | }, |
| | | mounted() {}, |
| | |
| | | const list = res.data.list.map((item) => { |
| | | let contact_name = "" |
| | | let contact_phone = "" |
| | | let contact_id = 0 |
| | | if (item.contacts.length !== 0) { |
| | | for (let i = 0; i < item.contacts.length; i++) { |
| | | if (item.contacts[i].is_first) { |
| | | contact_name = item.contacts[i].name |
| | | contact_phone = item.contacts[i].phone |
| | | contact_id = item.contacts[i].id |
| | | } |
| | | } |
| | | } |
| | |
| | | contact_name: contact_name, |
| | | contact_phone: contact_phone, |
| | | client_level: item.client_level.name, |
| | | client_status: item.client_status.name |
| | | client_status: item.client_status.name, |
| | | contact_id: contact_id |
| | | } |
| | | }) |
| | | this.tableList.tableInfomation = list || [] |
| | |
| | | created() { |
| | | this.setData(this.detailConfig.infomation) |
| | | this.addConfig = { |
| | | contact: this.detailConfig.infomation.id, |
| | | id_name: "contact_id", |
| | | id: this.detailConfig.infomation.id, |
| | | client_name: this.detailConfig.infomation.client_name, |
| | | contact_name: this.detailConfig.infomation.name, |
| | | client_status_id: this.detailConfig.infomation.Client.client_status_id |
| | | client_status_id: this.detailConfig.infomation.Client.client_status_id, |
| | | contact_id: this.detailConfig.infomation.id, |
| | | client_id: this.detailConfig.infomation.client_id |
| | | } |
| | | }, |
| | | mounted() {}, |
| | |
| | | return { |
| | | ...item, |
| | | client_name: item.Client.name, |
| | | is_first: item.is_first ? "是" : "否" |
| | | is_first: item.is_first ? "是" : "否", |
| | | client_id: item.Client.id |
| | | } |
| | | }) |
| | | this.tableList.tableInfomation = list || [] |
| | |
| | | }, |
| | | // 删除 |
| | | delClick() { |
| | | // this.$confirm("是否确认删除?", "警告", { |
| | | // confirmButtonText: "确定", |
| | | // cancelButtonText: "取消", |
| | | // type: "warning" |
| | | // }) |
| | | // .then(function () { |
| | | // return getDeleteContact({ id: id }) |
| | | // }) |
| | | // .then((response) => { |
| | | // if (response.code === 200) { |
| | | // this.$message.success("删除成功") |
| | | // this.getData() |
| | | // } else { |
| | | // this.$message.warning("删除失败") |
| | | // } |
| | | // }) |
| | | // .catch(function () {}) |
| | | if (this.selValueList && this.selValueList.length > 0) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | |
| | | if (valid) { |
| | | const params = this.saveParams() |
| | | if (this.editConfig.title === "新建") { |
| | | getAddFollowRecord(params) |
| | | .then((res) => { |
| | | this.editConfig.visible = false |
| | | if (res.code === 200) { |
| | | this.$message({ |
| | | message: "添加成功", |
| | | type: "success" |
| | | }) |
| | | this.$parent.getData() |
| | | } |
| | | }) |
| | | .catch((err) => { |
| | | console.log(err) |
| | | }) |
| | | getAddFollowRecord(params).then((res) => { |
| | | this.editConfig.visible = false |
| | | if (res.code === 200) { |
| | | this.$message.success("添加成功") |
| | | this.$parent.getData() |
| | | } |
| | | }) |
| | | } else { |
| | | getUpdateFollowRecord(params) |
| | | .then((res) => { |
| | | this.editConfig.visible = false |
| | | if (res.code === 200) { |
| | | this.$message({ |
| | | message: "编辑成功", |
| | | type: "success" |
| | | }) |
| | | this.$message.success("编辑成功") |
| | | this.$parent.getData() |
| | | } |
| | | }) |
| | |
| | | let data = this.editConfig.infomation |
| | | let follow_record = { |
| | | follow_record: { |
| | | client_id: parseInt(this.clientId), |
| | | client_id: this.clientId || 0, |
| | | client_status_id: data.client_status_id || 0, |
| | | contact_id: parseInt(this.contactId), |
| | | contact_id: this.contactId || 0, |
| | | contact_information_id: data.contact_information_id || 0, |
| | | content: data.content || "", |
| | | follow_time: data.follow_time || "", |
| | |
| | | number: data.number || "", |
| | | purpose: data.purpose || "", |
| | | record: data.record || "", |
| | | sale_chance_id: parseInt(this.saleChanceId), //data.sale_chance_id || |
| | | sales_leads_id: parseInt(this.saleLeadId), // data.sales_leads_id || |
| | | sale_chance_id: this.saleChanceId || 0, |
| | | sales_leads_id: this.saleLeadId || 0, |
| | | topic: data.topic || "" |
| | | } |
| | | } |
| | |
| | | created() { |
| | | this.setTable() |
| | | if (!this.isDetail) { |
| | | this.getData() |
| | | this.search_map = {} |
| | | } else { |
| | | this.tableList.tableInfomation = this.followRecord |
| | | this.search_map = { |
| | | [this.addConfig.id_name]: this.addConfig.id |
| | | } |
| | | } |
| | | this.getData(this.search_map) |
| | | }, |
| | | methods: { |
| | | setTable() { |
| | |
| | | { label: "联系方式", prop: "phone", min: 100 }, // 联系方式 |
| | | { label: "联系人日期", prop: "follow_time", isTime: true, min: 130 }, // 联系人日期 |
| | | { label: "下次回访日期", prop: "next_follow_time", isTime: true, min: 130 }, // 下次回访日期 |
| | | { label: "负责人", prop: "member_id", min: 110 }, // 负责人 |
| | | { label: "负责人", prop: "member_name", min: 110 }, // 负责人 |
| | | { label: "跟进记录", prop: "record", min: 130 } // 跟进记录 |
| | | ] |
| | | } |
| | |
| | | client_name: item.client.name, |
| | | contact_name: item.contact.name, |
| | | client_status_id: item.client.client_status_id, |
| | | phone: item.contact.phone |
| | | phone: item.contact.phone, |
| | | member_name: item.member.username |
| | | } |
| | | }) |
| | | this.tableList.tableInfomation = list || [] |
| | |
| | | created() { |
| | | this.setData() |
| | | this.addConfig = { |
| | | sealsLead: this.detailConfig.infomation.id, |
| | | sales_leads_name: this.detailConfig.infomation.name |
| | | id_name: "sales_leads_id", |
| | | id: this.detailConfig.infomation.id, |
| | | sales_leads_name: this.detailConfig.infomation.name, |
| | | sales_leads_id: this.detailConfig.infomation.id |
| | | } |
| | | }, |
| | | mounted() {}, |
| | |
| | | :label-search="true" |
| | | :query-class-options="queryClassOptions" |
| | | :search-options="searchOptions" |
| | | @searchClick="searchClick" |
| | | @resetClick="resetClick" |
| | | /> |
| | | <div class="btn-pager"> |
| | | <PublicFunctionBtnView |
| | |
| | | :submit-approval="true" |
| | | ::statistics="true" |
| | | :operates-list="operatesList" |
| | | @batchDelete="delClick" |
| | | /> |
| | | <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> |
| | | </div> |
| | | </div> |
| | | <TableCommonView ref="tableListRef" :table-list="tableList" @selCommonClick="selCommonClick"> |
| | | <TableCommonView |
| | | ref="tableListRef" |
| | | :table-list="tableList" |
| | | @selCommonClick="selCommonClick" |
| | | @getSelectArray="getSelectArray" |
| | | > |
| | | <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> |
| | |
| | | contractDetail: { |
| | | visible: false, |
| | | infomation: {} |
| | | } |
| | | }, |
| | | selValueList: [], |
| | | search_map: {} |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | async getData() { |
| | | this.loading = true |
| | | await getContractList({ |
| | | keyword: "", |
| | | search_map: this.search_map, |
| | | page: this.pagerOptions.currPage, |
| | | pageSize: this.pagerOptions.pageSize |
| | | }) |
| | |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | // 搜索 |
| | | searchClick(val, content) { |
| | | console.log(val, content) |
| | | this.search_map = { |
| | | [val.value]: content |
| | | } |
| | | this.getData() |
| | | }, |
| | | resetClick() { |
| | | this.search_map = {} |
| | | this.getData() |
| | | }, |
| | | // 新建 |
| | | addBtnClick() { |
| | | this.editConfig.visible = true |
| | |
| | | this.editConfig.infomation = { ...row } |
| | | }, |
| | | // 删除 |
| | | delClick(id) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(function () { |
| | | return getDelContract({ id: id }) |
| | | delClick() { |
| | | if (this.selValueList && this.selValueList.length > 0) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | .catch(function () {}) |
| | | .then(() => { |
| | | getDelContract({ ids: this.selValueList }).then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | }) |
| | | .catch(() => {}) |
| | | } else { |
| | | this.$message.warning("请至少选择一条记录") |
| | | } |
| | | }, |
| | | getSelectArray(val) { |
| | | console.log(val) |
| | | this.selValueList = [] |
| | | const list = val.map((item) => { |
| | | return item.id |
| | | }) |
| | | this.selValueList = list |
| | | }, |
| | | // 合同管理详情 |
| | | selCommonClick(row) { |
| | |
| | | ref="searchCommonView" |
| | | :query-class-options="queryClassOptions" |
| | | :search-options="searchOptions" |
| | | @searchClick="searchClick" |
| | | @resetClick="resetClick" |
| | | /> |
| | | <div class="btn-pager"> |
| | | <PublicFunctionBtnView :operates-list="operatesList" /> |
| | | <PublicFunctionBtnView :operates-list="operatesList" @batchDelete="delClick" /> |
| | | <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> |
| | | </div> |
| | | </div> |
| | | <TableCommonView ref="tableListRef" :table-list="tableList" @selCommonClick="selCommonClick"> |
| | | <TableCommonView |
| | | ref="tableListRef" |
| | | :table-list="tableList" |
| | | @selCommonClick="selCommonClick" |
| | | @getSelectArray="getSelectArray" |
| | | > |
| | | <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> |
| | |
| | | planDetail: { |
| | | visible: false, |
| | | infomation: {} |
| | | } |
| | | }, |
| | | selValueList: [], |
| | | search_map: {} |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | async getData() { |
| | | this.loading = true |
| | | await getPlanList({ |
| | | keyword: "", |
| | | search_map: this.search_map, |
| | | page: this.pagerOptions.currPage, |
| | | pageSize: this.pagerOptions.pageSize |
| | | }) |
| | |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | // 搜索 |
| | | searchClick(val, content) { |
| | | console.log(val, content) |
| | | this.search_map = { |
| | | [val.value]: content |
| | | } |
| | | this.getData() |
| | | }, |
| | | resetClick() { |
| | | this.search_map = {} |
| | | this.getData() |
| | | }, |
| | | // 新建 |
| | | addBtnClick() { |
| | | this.editConfig.visible = true |
| | |
| | | this.editConfig.infomation = { ...row } |
| | | }, |
| | | // 删除 |
| | | delClick(id) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(function () { |
| | | return getDelPlan({ id: id }) |
| | | delClick() { |
| | | if (this.selValueList && this.selValueList.length > 0) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | .catch(function () {}) |
| | | .then(() => { |
| | | getDelPlan({ ids: this.selValueList }).then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | }) |
| | | .catch(() => {}) |
| | | } else { |
| | | this.$message.warning("请至少选择一条记录") |
| | | } |
| | | }, |
| | | getSelectArray(val) { |
| | | console.log(val) |
| | | this.selValueList = [] |
| | | const list = val.map((item) => { |
| | | return item.id |
| | | }) |
| | | this.selValueList = list |
| | | }, |
| | | // 合同管理详情 |
| | | selCommonClick(row) { |
| | |
| | | ref="searchCommonView" |
| | | :query-class-options="queryClassOptions" |
| | | :search-options="searchOptions" |
| | | @searchClick="searchClick" |
| | | @resetClick="resetClick" |
| | | /> |
| | | <div class="btn-pager"> |
| | | <PublicFunctionBtnView :operates-list="operatesList" /> |
| | | <PublicFunctionBtnView :operates-list="operatesList" @batchDelete="delClick" /> |
| | | <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> |
| | | </div> |
| | | </div> |
| | |
| | | :select-box="!isDetail" |
| | | @selClientClick="selClientClick" |
| | | @selCommonClick="selCommonClick" |
| | | @getSelectArray="getSelectArray" |
| | | > |
| | | <template slot="tableButton"> |
| | | <el-table-column label="操作" width="90"> |
| | | <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> |
| | |
| | | clientDeail: { |
| | | visible: false, |
| | | infomation: {} |
| | | } |
| | | }, |
| | | selValueList: [], |
| | | search_map: {} |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | async getData() { |
| | | this.loading = true |
| | | await getMasterOrderList({ |
| | | keyword: "", |
| | | search_map: this.search_map, |
| | | page: this.pagerOptions.currPage, |
| | | pageSize: this.pagerOptions.pageSize |
| | | }) |
| | |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | // 搜索 |
| | | searchClick(val, content) { |
| | | console.log(val, content) |
| | | this.search_map = { |
| | | [val.value]: content |
| | | } |
| | | this.getData() |
| | | }, |
| | | resetClick() { |
| | | this.search_map = {} |
| | | this.getData() |
| | | }, |
| | | // 新建 |
| | | addBtnClick() { |
| | | this.editConfig.visible = true |
| | |
| | | this.editConfig.infomation = { ...row } |
| | | }, |
| | | // 删除 |
| | | delClick(id) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(function () { |
| | | return getDelMasterOrder({ id: id }) |
| | | delClick() { |
| | | if (this.selValueList && this.selValueList.length > 0) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | .catch(function () {}) |
| | | .then(() => { |
| | | getDelMasterOrder({ ids: this.selValueList }).then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | }) |
| | | .catch(() => {}) |
| | | } else { |
| | | this.$message.warning("请至少选择一条记录") |
| | | } |
| | | }, |
| | | getSelectArray(val) { |
| | | console.log(val) |
| | | this.selValueList = [] |
| | | const list = val.map((item) => { |
| | | return item.id |
| | | }) |
| | | this.selValueList = list |
| | | }, |
| | | // 客户名称详情 |
| | | selClientClick(row) { |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="有效期至" prop="validity_date"> |
| | | <el-date-picker v-model="editConfig.infomation.validity_date" type="date" placeholder="选择日期"> |
| | | <el-date-picker |
| | | v-model="editConfig.infomation.validity_date" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="选择日期" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | :label-search="true" |
| | | :query-class-options="queryClassOptions" |
| | | :search-options="searchOptions" |
| | | @searchClick="searchClick" |
| | | @resetClick="resetClick" |
| | | /> |
| | | <div class="btn-pager"> |
| | | <PublicFunctionBtnView :submit-approval="true" :operates-list="operatesList" /> |
| | | <PublicFunctionBtnView :submit-approval="true" :operates-list="operatesList" @batchDelete="delClick" /> |
| | | <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> |
| | | </div> |
| | | </div> |
| | |
| | | @selClientClick="selClientClick" |
| | | @selContactsClick="selContactsClick" |
| | | @selCommonClick="selCommonClick" |
| | | @getSelectArray="getSelectArray" |
| | | > |
| | | <template slot="tableButton"> |
| | | <el-table-column label="操作" width="90"> |
| | | <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> |
| | |
| | | clientDeail: { |
| | | visible: false, |
| | | infomation: {} |
| | | } |
| | | }, |
| | | selValueList: [], |
| | | search_map: {} |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | { label: "客户名称", prop: "client_name", min: 120, isClientClick: true }, // 客户名称 |
| | | { label: "联系人姓名", prop: "contact_name", min: 90, isContactClick: true }, // 联系人姓名 |
| | | { label: "销售负责人", prop: "member_id" }, // 销售负责人 |
| | | { label: "有效期", prop: "validity_date", isTime: true, min: 100 }, // 修改时间 |
| | | { label: "有效期", prop: "validity_date", min: 100 }, // 修改时间 |
| | | { label: "小计", prop: "subTotal" }, // 小计 |
| | | { label: "合计", prop: "total" }, // 合计 |
| | | { label: "产品名称", prop: "productName" }, // 产品名称 |
| | |
| | | async getData() { |
| | | this.loading = true |
| | | await getQuotationList({ |
| | | keyword: "", |
| | | search_map: this.search_map, |
| | | page: this.pagerOptions.currPage, |
| | | pageSize: this.pagerOptions.pageSize |
| | | }) |
| | |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | // 搜索 |
| | | searchClick(val, content) { |
| | | console.log(val, content) |
| | | this.search_map = { |
| | | [val.value]: content |
| | | } |
| | | this.getData() |
| | | }, |
| | | resetClick() { |
| | | this.search_map = {} |
| | | this.getData() |
| | | }, |
| | | // 新建 |
| | | addBtnClick() { |
| | | this.editConfig.visible = true |
| | |
| | | this.editConfig.infomation = { ...row } |
| | | }, |
| | | // 删除 |
| | | delClick(id) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(function () { |
| | | return getDelQuotation({ id: id }) |
| | | delClick() { |
| | | if (this.selValueList && this.selValueList.length > 0) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | .catch(function () {}) |
| | | .then(() => { |
| | | getDelQuotation({ ids: this.selValueList }).then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | }) |
| | | .catch(() => {}) |
| | | } else { |
| | | this.$message.warning("请至少选择一条记录") |
| | | } |
| | | }, |
| | | getSelectArray(val) { |
| | | console.log(val) |
| | | this.selValueList = [] |
| | | const list = val.map((item) => { |
| | | return item.id |
| | | }) |
| | | this.selValueList = list |
| | | }, |
| | | // 客户名称详情 |
| | | selClientClick(row) { |
| | |
| | | ref="searchCommonView" |
| | | :query-class-options="queryClassOptions" |
| | | :search-options="searchOptions" |
| | | @searchClick="searchClick" |
| | | @resetClick="resetClick" |
| | | /> |
| | | <div class="btn-pager"> |
| | | <PublicFunctionBtnView :receive="false" :submit-approval="true" :operates-list="operatesList" /> |
| | | <PublicFunctionBtnView |
| | | :receive="false" |
| | | :submit-approval="true" |
| | | :operates-list="operatesList" |
| | | @batchDelete="delClick" |
| | | /> |
| | | <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> |
| | | </div> |
| | | </div> |
| | |
| | | :select-box="!isDetail" |
| | | @selClientClick="selClientClick" |
| | | @selCommonClick="selCommonClick" |
| | | @getSelectArray="getSelectArray" |
| | | > |
| | | <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> |
| | |
| | | clientDeail: { |
| | | visible: false, |
| | | infomation: {} |
| | | } |
| | | }, |
| | | selValueList: [], |
| | | search_map: {} |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | async getData() { |
| | | this.loading = true |
| | | await getSalesRefundList({ |
| | | keyword: "", |
| | | search_map: this.search_map, |
| | | page: this.pagerOptions.currPage, |
| | | pageSize: this.pagerOptions.pageSize |
| | | }) |
| | |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | // 搜索 |
| | | searchClick(val, content) { |
| | | console.log(val, content) |
| | | this.search_map = { |
| | | [val.value]: content |
| | | } |
| | | this.getData() |
| | | }, |
| | | resetClick() { |
| | | this.search_map = {} |
| | | this.getData() |
| | | }, |
| | | // 新建 |
| | | addBtnClick() { |
| | | this.editConfig.visible = true |
| | |
| | | this.editConfig.infomation = { ...row } |
| | | }, |
| | | // 删除 |
| | | delClick(id) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(function () { |
| | | return getDelSalesRefund({ id: id }) |
| | | delClick() { |
| | | if (this.selValueList && this.selValueList.length > 0) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | .catch(function () {}) |
| | | .then(() => { |
| | | getDelSalesRefund({ ids: this.selValueList }).then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | }) |
| | | .catch(() => {}) |
| | | } else { |
| | | this.$message.warning("请至少选择一条记录") |
| | | } |
| | | }, |
| | | getSelectArray(val) { |
| | | console.log(val) |
| | | this.selValueList = [] |
| | | const list = val.map((item) => { |
| | | return item.id |
| | | }) |
| | | this.selValueList = list |
| | | }, |
| | | // 客户名称详情 |
| | | selClientClick(row) { |
| | |
| | | ref="searchCommonView" |
| | | :query-class-options="queryClassOptions" |
| | | :search-options="searchOptions" |
| | | @searchClick="searchClick" |
| | | @resetClick="resetClick" |
| | | /> |
| | | <div class="btn-pager"> |
| | | <PublicFunctionBtnView :submit-approval="true" :operates-list="operatesList" /> |
| | | <PublicFunctionBtnView :submit-approval="true" :operates-list="operatesList" @batchDelete="delClick" /> |
| | | <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> |
| | | </div> |
| | | </div> |
| | |
| | | :select-box="!isDetail" |
| | | @selClientClick="selClientClick" |
| | | @selCommonClick="selCommonClick" |
| | | @getSelectArray="getSelectArray" |
| | | > |
| | | <template slot="tableButton"> |
| | | <el-table-column label="操作" width="90"> |
| | | <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> |
| | |
| | | clientDeail: { |
| | | visible: false, |
| | | infomation: {} |
| | | } |
| | | }, |
| | | selValueList: [], |
| | | search_map: {} |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | async getData() { |
| | | this.loading = true |
| | | await getSalesDetailsList({ |
| | | keyword: "", |
| | | search_map: this.search_map, |
| | | page: this.pagerOptions.currPage, |
| | | pageSize: this.pagerOptions.pageSize |
| | | }) |
| | |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | // 搜索 |
| | | searchClick(val, content) { |
| | | console.log(val, content) |
| | | this.search_map = { |
| | | [val.value]: content |
| | | } |
| | | this.getData() |
| | | }, |
| | | resetClick() { |
| | | this.search_map = {} |
| | | this.getData() |
| | | }, |
| | | // 新建 |
| | | addBtnClick() { |
| | | this.editConfig.visible = true |
| | |
| | | this.editConfig.infomation = { ...row, sale_chance_name: "" } |
| | | }, |
| | | // 删除 |
| | | delClick(id) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(function () { |
| | | return getDelSalesDetails({ id: id }) |
| | | delClick() { |
| | | if (this.selValueList && this.selValueList.length > 0) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | .catch(function () {}) |
| | | .then(() => { |
| | | getDelSalesDetails({ ids: this.selValueList }).then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | }) |
| | | .catch(() => {}) |
| | | } else { |
| | | this.$message.warning("请至少选择一条记录") |
| | | } |
| | | }, |
| | | getSelectArray(val) { |
| | | console.log(val) |
| | | this.selValueList = [] |
| | | const list = val.map((item) => { |
| | | return item.id |
| | | }) |
| | | this.selValueList = list |
| | | }, |
| | | // 客户名称详情 |
| | | selClientClick(row) { |
| | |
| | | ref="searchCommonView" |
| | | :query-class-options="queryClassOptions" |
| | | :search-options="searchOptions" |
| | | @searchClick="searchClick" |
| | | @resetClick="resetClick" |
| | | /> |
| | | <div class="btn-pager"> |
| | | <PublicFunctionBtnView |
| | |
| | | :statistics="true" |
| | | :custom-funnel="true" |
| | | :operates-list="operatesList" |
| | | @batchDelete="delClick" |
| | | /> |
| | | <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> |
| | | </div> |
| | |
| | | @selClientClick="selClientClick" |
| | | @selContactsClick="selContactsClick" |
| | | @selCommonClick="selCommonClick" |
| | | @getSelectArray="getSelectArray" |
| | | > |
| | | <template slot="tableButton"> |
| | | <el-table-column label="操作" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button> |
| | | <el-button 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> |
| | |
| | | clientDeail: { |
| | | visible: false, |
| | | infomation: {} |
| | | } |
| | | }, |
| | | search_map: {}, |
| | | selValueList: [] |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | { label: "客户名称", prop: "client_name", min: 90, isClientClick: true }, // 客户名称 |
| | | { label: "销售机会编号", prop: "number" }, // 销售机会编号 |
| | | { label: "联系人姓名", prop: "contact_name", min: 100, isContactClick: true }, // 联系人姓名 |
| | | { label: "销售阶段", prop: "sale_stage_id" }, // 销售阶段 |
| | | { label: "可能性(%)", prop: "possibilities_id" }, // 可能性 |
| | | { label: "销售阶段", prop: "sale_stage" }, // 销售阶段 |
| | | { label: "可能性(%)", prop: "possibilities" }, // 可能性 |
| | | { label: "预计成交日期", prop: "expected_time", isTime: true, min: 130 }, // 预计成交日期 |
| | | { label: "预计合同金额", prop: "projected_amount" }, // 预计合同金额 |
| | | { label: "预算绝对值", prop: "capital_budget" }, // 预算绝对值 |
| | | { label: "销售负责人", prop: "member_id" } // 销售负责人 |
| | | { label: "销售负责人", prop: "member_name" } // 销售负责人 |
| | | ] |
| | | } |
| | | 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 }) |
| | | } |
| | | }, |
| | | // 请求数据 |
| | | async getData() { |
| | | this.loading = true |
| | | await getSaleChanceList({ |
| | | keyword: "", |
| | | search_map: this.search_map, |
| | | page: this.pagerOptions.currPage, |
| | | pageSize: this.pagerOptions.pageSize |
| | | }) |
| | |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | // 搜索 |
| | | searchClick(val, content) { |
| | | console.log(val, content) |
| | | this.search_map = { |
| | | [val.value]: content |
| | | } |
| | | this.getData() |
| | | }, |
| | | resetClick() { |
| | | this.search_map = {} |
| | | this.getData() |
| | | }, |
| | | // 新建 |
| | | addBtnClick() { |
| | | this.editConfig.visible = true |
| | |
| | | this.editConfig.infomation = { ...row } |
| | | }, |
| | | // 删除 |
| | | delClick(id) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(function () { |
| | | return getDelSaleChance({ id: id }) |
| | | delClick() { |
| | | // this.$confirm("是否确认删除?", "警告", { |
| | | // confirmButtonText: "确定", |
| | | // cancelButtonText: "取消", |
| | | // type: "warning" |
| | | // }) |
| | | // .then(function () { |
| | | // return getDelSaleChance({ id: id }) |
| | | // }) |
| | | // .then((response) => { |
| | | // if (response.code === 200) { |
| | | // this.$message.success("删除成功") |
| | | // this.getData() |
| | | // } else { |
| | | // this.$message.warning("删除失败") |
| | | // } |
| | | // }) |
| | | // .catch(function () {}) |
| | | |
| | | if (this.selValueList && this.selValueList.length > 0) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | .catch(function () {}) |
| | | .then(() => { |
| | | console.log("dddd") |
| | | getDelSaleChance({ ids: this.selValueList }).then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | }) |
| | | .catch(() => {}) |
| | | } else { |
| | | this.$message.warning("请至少选择一条记录") |
| | | } |
| | | }, |
| | | getSelectArray(val) { |
| | | console.log(val) |
| | | this.selValueList = [] |
| | | const list = val.map((item) => { |
| | | return item.id |
| | | }) |
| | | this.selValueList = list |
| | | }, |
| | | // 客户名称详情 |
| | | selClientClick(row) { |
| | |
| | | ref="searchCommonView" |
| | | :query-class-options="queryClassOptions" |
| | | :search-options="searchOptions" |
| | | @searchClick="searchClick" |
| | | @resetClick="resetClick" |
| | | /> |
| | | <div class="btn-pager"> |
| | | <PublicFunctionBtnView :receive="false" :import-button="false" receive:operates-list="operatesList" /> |
| | | <PublicFunctionBtnView |
| | | :receive="false" |
| | | :import-button="false" |
| | | receive:operates-list="operatesList" |
| | | @batchDelete="delClick" |
| | | /> |
| | | <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> |
| | | </div> |
| | | </div> |
| | |
| | | :select-box="!isDetail" |
| | | @selClientClick="selClientClick" |
| | | @selCommonClick="selCommonClick" |
| | | @getSelectArray="getSelectArray" |
| | | > |
| | | <template slot="tableButton"> |
| | | <el-table-column label="操作" width="90"> |
| | | <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> |
| | |
| | | clientDeail: { |
| | | visible: false, |
| | | infomation: {} |
| | | } |
| | | }, |
| | | selValueList: [], |
| | | search_map: {} |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | async getData() { |
| | | this.loading = true |
| | | await getSalesReturnList({ |
| | | keyword: "", |
| | | search_map: this.search_map, |
| | | page: this.pagerOptions.currPage, |
| | | pageSize: this.pagerOptions.pageSize |
| | | }) |
| | |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | // 搜索 |
| | | searchClick(val, content) { |
| | | console.log(val, content) |
| | | this.search_map = { |
| | | [val.value]: content |
| | | } |
| | | this.getData() |
| | | }, |
| | | resetClick() { |
| | | this.search_map = {} |
| | | this.getData() |
| | | }, |
| | | // 新建 |
| | | addBtnClick() { |
| | | this.editConfig.visible = true |
| | |
| | | this.editConfig.infomation = { ...row } |
| | | }, |
| | | // 删除 |
| | | delClick(id) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(function () { |
| | | return getDelSalesReturn({ id: id }) |
| | | delClick() { |
| | | if (this.selValueList && this.selValueList.length > 0) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | .catch(function () {}) |
| | | .then(() => { |
| | | getDelSalesReturn({ ids: this.selValueList }).then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | }) |
| | | .catch(() => {}) |
| | | } else { |
| | | this.$message.warning("请至少选择一条记录") |
| | | } |
| | | }, |
| | | getSelectArray(val) { |
| | | console.log(val) |
| | | this.selValueList = [] |
| | | const list = val.map((item) => { |
| | | return item.id |
| | | }) |
| | | this.selValueList = list |
| | | }, |
| | | // 客户名称详情 |
| | | selClientClick(row) { |
| | |
| | | ref="searchCommonView" |
| | | :query-class-options="queryClassOptions" |
| | | :search-options="searchOptions" |
| | | @searchClick="searchClick" |
| | | @resetClick="resetClick" |
| | | /> |
| | | <div class="btn-pager"> |
| | | <PublicFunctionBtnView :operates-list="operatesList" /> |
| | | <PublicFunctionBtnView :operates-list="operatesList" @batchDelete="delClick" /> |
| | | <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> |
| | | </div> |
| | | </div> |
| | |
| | | @selClientClick="selClientClick" |
| | | @selMasterClick="selMasterClick" |
| | | @selCommonClick="selCommonClick" |
| | | @getSelectArray="getSelectArray" |
| | | > |
| | | <template slot="tableButton"> |
| | | <el-table-column label="操作" width="90"> |
| | | <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> |
| | |
| | | clientDeail: { |
| | | visible: false, |
| | | infomation: {} |
| | | } |
| | | }, |
| | | selValueList: [], |
| | | search_map: {} |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | async getData() { |
| | | this.loading = true |
| | | await getSubOrderList({ |
| | | keyword: "", |
| | | search_map: this.search_map, |
| | | page: this.pagerOptions.currPage, |
| | | pageSize: this.pagerOptions.pageSize |
| | | }) |
| | |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | // 搜索 |
| | | searchClick(val, content) { |
| | | console.log(val, content) |
| | | this.search_map = { |
| | | [val.value]: content |
| | | } |
| | | this.getData() |
| | | }, |
| | | resetClick() { |
| | | this.search_map = {} |
| | | this.getData() |
| | | }, |
| | | // 新建 |
| | | addBtnClick() { |
| | | this.editConfig.visible = true |
| | |
| | | this.editConfig.infomation = { ...row, masterOrderNumber: "" } |
| | | }, |
| | | // 删除 |
| | | delClick(id) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(function () { |
| | | return getDelSubOrder({ id: id }) |
| | | delClick() { |
| | | if (this.selValueList && this.selValueList.length > 0) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | .catch(function () {}) |
| | | .then(() => { |
| | | getDelSubOrder({ ids: this.selValueList }).then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | }) |
| | | .catch(() => {}) |
| | | } else { |
| | | this.$message.warning("请至少选择一条记录") |
| | | } |
| | | }, |
| | | getSelectArray(val) { |
| | | console.log(val) |
| | | this.selValueList = [] |
| | | const list = val.map((item) => { |
| | | return item.id |
| | | }) |
| | | this.selValueList = list |
| | | }, |
| | | // 客户名称详情 |
| | | selClientClick(row) { |
| | |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <!-- <el-col :span="12"> |
| | | <el-form-item label="产品类别" prop="productCategory"> |
| | | <div class="common-select"> |
| | | <el-select |
| | |
| | | <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="product_name"> |
| | | <div class="custom-name"> |
| | |
| | | placeholder="请选择" |
| | | class="common-select-sel" |
| | | size="mini" |
| | | @focus="getServiceTypeList" |
| | | > |
| | | <el-option v-for="item in serviceTypeOptions" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | |
| | | placeholder="请选择" |
| | | class="common-select-sel" |
| | | size="mini" |
| | | @focus="getSeverityList" |
| | | > |
| | | <el-option v-for="item in severityOptions" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | |
| | | placeholder="请选择" |
| | | class="common-select-sel" |
| | | size="mini" |
| | | @focus="getPriorityLevelList" |
| | | > |
| | | <el-option |
| | | v-for="item in priorityLevelOptions" |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="交通费" prop="carFare"> |
| | | <el-input v-model="editConfig.infomation.carFare"></el-input> |
| | | <el-input-number |
| | | v-model="editConfig.infomation.carFare" |
| | | placeholder="请输入" |
| | | :min="0" |
| | | :controls="false" |
| | | style="width: 100%; margin-right: 5px" |
| | | ></el-input-number> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="收费金额" prop="chargeAmount"> |
| | | <el-input v-model="editConfig.infomation.chargeAmount"></el-input> |
| | | <el-input-number |
| | | v-model="editConfig.infomation.chargeAmount" |
| | | placeholder="请输入" |
| | | :min="0" |
| | | :controls="false" |
| | | style="width: 100%; margin-right: 5px" |
| | | ></el-input-number> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | |
| | | placeholder="请选择" |
| | | class="common-select-sel" |
| | | size="mini" |
| | | @focus="getTimeSpentList" |
| | | > |
| | | <el-option v-for="item in timeSpentOptions" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | |
| | | serviceNumber: [{ required: true, message: "请输入服务单编号", trigger: "blur" }], |
| | | faultTypeId: [{ required: true, message: "请选择故障类别", trigger: "change" }], |
| | | subject: [{ required: true, message: "请输入主题", trigger: "blur" }], |
| | | productCategory: [{ required: true, message: "请选择产品类别", trigger: "change" }], |
| | | // productCategory: [{ required: true, message: "请选择产品类别", trigger: "change" }], |
| | | serviceManId: [{ required: true, message: "请选择产品类别", trigger: "change" }], |
| | | serviceOrderStatusId: [{ required: true, message: "请选择故障类别", trigger: "change" }], |
| | | problemDesc: [{ required: true, message: "请输入问题描述", trigger: "blur" }] |
| | |
| | | }, |
| | | clientId: this.editCommonConfig.infomation.clientId, |
| | | contactId: this.editCommonConfig.infomation.contactId, |
| | | serviceContractId: this.editCommonConfig.infomation.contractId, |
| | | contractId: this.editCommonConfig.infomation.orderId, |
| | | serviceContractId: this.editCommonConfig.infomation.serviceContractId, |
| | | SalesDetailsId: this.editCommonConfig.infomation.SalesDetailsId, |
| | | productNameId: this.editCommonConfig.infomation.productId, |
| | | saleChanceId: this.editCommonConfig.infomation.saleChanceId |
| | | } |
| | |
| | | this.$store.dispatch("geClient") |
| | | this.getCommonData() |
| | | this.setTable() |
| | | }, |
| | | mounted() { |
| | | this.$store.dispatch("geServiceContract") |
| | | this.$store.dispatch("geSalesDetails") |
| | | this.$store.dispatch("geContact") |
| | | this.$store.dispatch("geChance") |
| | | this.getFaultTypeList() |
| | | this.getSeverityList() |
| | | this.getPriorityLevelList() |
| | | this.getTimeSpentList() |
| | | }, |
| | | methods: { |
| | | setTable() { |
| | |
| | | const params = this.saveParams() |
| | | console.log(params) |
| | | if (this.editConfig.title === "新建") { |
| | | getAddServiceOrder(params) |
| | | .then((res) => { |
| | | console.log(res) |
| | | this.editConfig.visible = false |
| | | if (res.code === 200) { |
| | | this.$message({ |
| | | message: "添加成功", |
| | | type: "success" |
| | | }) |
| | | this.$parent.getData() |
| | | } |
| | | }) |
| | | .catch((err) => { |
| | | console.log(err) |
| | | }) |
| | | getAddServiceOrder(params).then((res) => { |
| | | console.log(res) |
| | | this.editConfig.visible = false |
| | | if (res.code === 200) { |
| | | this.$message.success("添加成功") |
| | | this.$parent.getData() |
| | | } |
| | | }) |
| | | } else { |
| | | getUpdateServiceOrder(params) |
| | | .then((res) => { |
| | | console.log(res) |
| | | this.editConfig.visible = false |
| | | if (res.code === 200) { |
| | | this.$message({ |
| | | message: "编辑成功", |
| | | type: "success" |
| | | }) |
| | | this.$parent.getData() |
| | | } |
| | | }) |
| | | .catch((err) => { |
| | | console.log(err) |
| | | }) |
| | | getUpdateServiceOrder(params).then((res) => { |
| | | console.log(res) |
| | | this.editConfig.visible = false |
| | | if (res.code === 200) { |
| | | this.$message.success("编辑成功") |
| | | this.$parent.getData() |
| | | } |
| | | }) |
| | | } |
| | | } else { |
| | | console.log("error submit") |
| | |
| | | appointmentTime: data.appointmentTime || "", |
| | | carFare: data.carFare || 0, |
| | | chargeAmount: data.chargeAmount || 0, |
| | | clientId: this.clientId, |
| | | contactId: this.contactId, |
| | | contractId: this.serviceContractId, |
| | | clientId: this.clientId || 0, |
| | | contactId: this.contactId || 0, |
| | | serviceContractId: this.serviceContractId || 0, |
| | | expectTime: data.expectTime || "", |
| | | faqId: data.faqId || 0, |
| | | faultTypeId: data.faultTypeId || 0, |
| | | id: data.id || 0, |
| | | orderId: this.contractId, |
| | | SalesDetailsId: this.SalesDetailsId || 0, |
| | | priorityLevelId: data.priorityLevelId || 0, |
| | | problemDesc: data.problemDesc || "", |
| | | productId: this.productNameId, |
| | | realTime: data.realTime || "", |
| | | remark: data.remark || "", |
| | | saleChanceId: this.saleChanceId, |
| | | saleChanceId: this.saleChanceId || 0, |
| | | serviceManId: data.serviceManId || 0, |
| | | serviceNumber: data.serviceNumber || "", |
| | | serviceTypeId: data.serviceTypeId || 0, |
| | |
| | | }, |
| | | // 选择用户相关方法 |
| | | querySearchAsync(queryString, cb, value) { |
| | | this.$store.dispatch("geServiceContract") |
| | | this.$store.dispatch("geSalesDetails") |
| | | this.$store.dispatch("geContact") |
| | | this.$store.dispatch("geChance") |
| | | var restaurants = [] |
| | | if (value === "client") { |
| | | restaurants = this.clientList |
| | |
| | | } else if (value === "serviceContract") { |
| | | this.serviceContractId = item.id |
| | | } else if (value === "contract") { |
| | | this.contractId = item.id |
| | | this.SalesDetailsId = item.id |
| | | } else if (value === "productName") { |
| | | this.productCategoryId = item.id |
| | | } else if (value === "contact") { |
| | |
| | | this.serviceContractId = row.id |
| | | } else if (value === "contract") { |
| | | this.editConfig.infomation.number = row.number |
| | | this.contractId = row.id |
| | | this.SalesDetailsId = row.id |
| | | } else if (value === "productName") { |
| | | this.editConfig.infomation.product_name = row.name |
| | | this.productNameId = row.id |
| | |
| | | this.serviceContractId = 0 |
| | | } else if (value === "contract") { |
| | | this.editConfig.infomation.number = "" |
| | | this.contractId = 0 |
| | | this.SalesDetailsId = 0 |
| | | } else if (value === "productName") { |
| | | this.editConfig.infomation.product_name = "" |
| | | this.productNameId = 0 |
| | |
| | | // 故障类别 |
| | | async getFaultTypeList() { |
| | | await getFaultTypeList().then((res) => { |
| | | console.log(res) |
| | | this.faultTypeOptions = res.data.data |
| | | }) |
| | | }, |
| | | // 服务方式 |
| | | async getServiceTypeList() { |
| | | await getServiceTypeList() |
| | | .then((res) => { |
| | | console.log(res) |
| | | this.serviceTypeOptions = res.data.data |
| | | }) |
| | | .catch((err) => { |
| | | console.log(err) |
| | | }) |
| | | await getServiceTypeList().then((res) => { |
| | | this.serviceTypeOptions = res.data.data |
| | | }) |
| | | }, |
| | | // 严重程度 |
| | | async getSeverityList() { |
| | | await getSeverityList() |
| | | .then((res) => { |
| | | console.log(res) |
| | | this.severityOptions = res.data.data |
| | | }) |
| | | .catch((err) => { |
| | | console.log(err) |
| | | }) |
| | | await getSeverityList().then((res) => { |
| | | this.severityOptions = res.data.data |
| | | }) |
| | | }, |
| | | // 优先级别 |
| | | async getPriorityLevelList() { |
| | | await getPriorityLevelList() |
| | | .then((res) => { |
| | | console.log(res) |
| | | this.priorityLevelOptions = res.data.data |
| | | }) |
| | | .catch((err) => { |
| | | console.log(err) |
| | | }) |
| | | await getPriorityLevelList().then((res) => { |
| | | this.priorityLevelOptions = res.data.data |
| | | }) |
| | | }, |
| | | // 花费时间 |
| | | async getTimeSpentList() { |
| | | await getTimeSpentList() |
| | | .then((res) => { |
| | | console.log(res) |
| | | this.timeSpentOptions = res.data.data |
| | | }) |
| | | .catch((err) => { |
| | | console.log(err) |
| | | }) |
| | | await getTimeSpentList().then((res) => { |
| | | this.timeSpentOptions = res.data.data |
| | | }) |
| | | } |
| | | } |
| | | } |
| | |
| | | height: 55px; |
| | | line-height: 55px; |
| | | } |
| | | .el-input__inner { |
| | | text-align: left; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <!-- <Contacts :isDetail="true" /> --> |
| | | </div> |
| | | <div v-if="activeName === 'followup'" class="second"> |
| | | <ServiceFollowup :isDetail="true" /> |
| | | <ServiceFollowup :isDetail="true" :add-config="addConfig" /> |
| | | </div> |
| | | </div> |
| | | </el-drawer> |
| | |
| | | isServiceContractExpand: true, // 服务合同信息 |
| | | serviceContractList: [], |
| | | isHistoryExpand: true, // 客户服务单历史记录 |
| | | historyList: [] |
| | | historyList: [], |
| | | addConfig: {} |
| | | } |
| | | }, |
| | | created() { |
| | | this.setData() |
| | | this.setTable() |
| | | console.log(this.detailConfig.infomation.contact_name) |
| | | this.addConfig = { |
| | | keyword: this.detailConfig.infomation.serviceNumber, |
| | | keywordType: "客户服务单", |
| | | client_name: this.detailConfig.infomation.client_name, |
| | | clientId: this.detailConfig.infomation.clientId, |
| | | contactId: this.detailConfig.infomation.contactId, |
| | | contact_name: this.detailConfig.infomation.contact_name, |
| | | service_number: this.detailConfig.infomation.serviceNumber, |
| | | serviceId: this.detailConfig.infomation.id |
| | | } |
| | | }, |
| | | mounted() {}, |
| | | methods: { |
| | |
| | | { label: "实际处理时间", prop: "realTime" }, // 实际处理时间 |
| | | { label: "服务人员", prop: "serviceManId" }, // 服务人员 |
| | | { label: "服务方式", prop: "serviceType_name" }, // 服务方式 |
| | | { label: "产品类别", prop: "reportSourceId" }, // 产品类别 |
| | | // { label: "产品类别", prop: "reportSourceId" }, // 产品类别 |
| | | { label: "故障类别", prop: "faultType_name" } // 故障类别 |
| | | ] |
| | | } |
| | |
| | | console.log(row) |
| | | this.editConfig.visible = true |
| | | this.editConfig.title = "编辑" |
| | | this.editConfig.infomation = { ...row } |
| | | this.editConfig.infomation = { ...row, contact_name: row.Contact.name, service_number: row.serviceContractId } |
| | | }, |
| | | // 删除 |
| | | delClick() { |
| | |
| | | selCommonClick(row) { |
| | | console.log(row) |
| | | this.clientServiceDetail.visible = true |
| | | this.clientServiceDetail.infomation = { ...row } |
| | | this.clientServiceDetail.infomation = { ...row, contact_name: row.Contact.name } |
| | | } |
| | | } |
| | | } |
| | |
| | | <div class="termsConditions"> |
| | | <div class="content-title">{{ "条款与条约" + ":" }}</div> |
| | | <div class="content-termsConditions"> |
| | | <ul> |
| | | {{ "\n" + detailConfig.infomation.terms }} |
| | | <!-- <ul> |
| | | <li v-for="(item, index) in Status.serviceContract" :key="index">{{ item }}</li> |
| | | </ul> |
| | | </ul> --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | 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; |
| | | // } |
| | | } |
| | | } |
| | | } |
| | |
| | | ...row.client, |
| | | client_name: row.client.name, |
| | | client_level: row.client.client_level.name, |
| | | client_status: row.client.client_status.name |
| | | client_status: row.client.client_status.name, |
| | | contact_name: row.contact.name |
| | | } |
| | | }, |
| | | // 服务合同详情 |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="联系人姓名" prop="contactId"> |
| | | <el-form-item label="联系人姓名" prop="contact_name"> |
| | | <div class="custom-name"> |
| | | <el-autocomplete |
| | | v-model="editConfig.infomation.contact_name" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="满意度" prop="satisfaction"> |
| | | <el-form-item label="满意度" prop="satisfactionId"> |
| | | <div class="common-select"> |
| | | <el-select |
| | | v-model="editConfig.infomation.satisfaction" |
| | | v-model="editConfig.infomation.satisfactionId" |
| | | placeholder="请选择" |
| | | class="common-select-sel" |
| | | size="mini" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="及时率" prop="timelyRate"> |
| | | <el-form-item label="及时率" prop="timelyRateId"> |
| | | <div class="common-select"> |
| | | <el-select |
| | | v-model="editConfig.infomation.timelyRate" |
| | | v-model="editConfig.infomation.timelyRateId" |
| | | placeholder="请选择" |
| | | class="common-select-sel" |
| | | size="mini" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="解决率" prop="solveRate"> |
| | | <el-form-item label="解决率" prop="solveRateId"> |
| | | <div class="common-select"> |
| | | <el-select |
| | | v-model="editConfig.infomation.solveRate" |
| | | v-model="editConfig.infomation.solveRateId" |
| | | placeholder="请选择" |
| | | class="common-select-sel" |
| | | size="mini" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="服务人员是否来过" prop="isVisit"> |
| | | <el-form-item label="服务人员是否来过" prop="isVisitId"> |
| | | <div class="common-select"> |
| | | <el-select |
| | | v-model="editConfig.infomation.isVisit" |
| | | v-model="editConfig.infomation.isVisitId" |
| | | placeholder="请选择" |
| | | class="common-select-sel" |
| | | size="mini" |
| | |
| | | }, |
| | | clientId: this.editCommonConfig.infomation.clientId, |
| | | contactId: this.editCommonConfig.infomation.contactId, |
| | | serviceId: this.editCommonConfig.infomation.serviceId |
| | | serviceOrderId: this.editCommonConfig.infomation.serviceOrderId |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | clientId: this.clientId || 0, |
| | | contactId: this.contactId || 0, |
| | | file: data.file || "", |
| | | isVisit: data.isVisit || 0, |
| | | isVisit: data.isVisitId || 0, |
| | | memberId: data.memberId || 0, |
| | | number: data.number || "", |
| | | oldMemberId: data.oldMemberId || 0, |
| | | planId: data.planId || 0, |
| | | remark: data.remark || "", |
| | | satisfaction: data.satisfaction || 0, |
| | | serviceId: this.serviceId || 0, |
| | | solveRate: data.solveRate || 0, |
| | | timelyRate: data.timelyRate || 0 |
| | | satisfaction: data.satisfactionId || 0, |
| | | serviceOrderId: this.serviceOrderId || 0, |
| | | solveRate: data.solveRateId || 0, |
| | | timelyRate: data.timelyRateId || 0 |
| | | } |
| | | return params |
| | | }, |
| | |
| | | } else if (value === "contact") { |
| | | this.contactId = item.id |
| | | } else if (value === "customService") { |
| | | this.serviceId = item.id |
| | | this.serviceOrderId = item.id |
| | | } |
| | | }, |
| | | selClientClick(value) { |
| | |
| | | this.clientId = row.id |
| | | } else if (value === "customService") { |
| | | this.editConfig.infomation.service_number = row.serviceNumber |
| | | this.serviceId = row.id |
| | | this.serviceOrderId = row.id |
| | | } |
| | | }, |
| | | // 清除已选择用户 |
| | |
| | | this.contactId = 0 |
| | | } else if (value === "customService") { |
| | | this.editConfig.infomation.service_number = "" |
| | | this.serviceId = 0 |
| | | this.serviceOrderId = 0 |
| | | } |
| | | }, |
| | | // 添加附件 |
| | |
| | | isDetail: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | addConfig: { |
| | | type: Object, |
| | | default: () => { |
| | | return {} |
| | | } |
| | | } |
| | | }, |
| | | mixins: [pageMixin], |
| | |
| | | value: "number", |
| | | label: "回访单编号" |
| | | }, |
| | | selValueList: [] |
| | | selValueList: [], |
| | | keyword: "", |
| | | keywordType: "" |
| | | } |
| | | }, |
| | | created() { |
| | | this.setTable() |
| | | if (this.isDetail) { |
| | | console.log(this.addConfig) |
| | | this.keyword = this.addConfig.keyword |
| | | this.keywordType = this.addConfig.keywordType |
| | | } |
| | | this.getData() |
| | | }, |
| | | methods: { |
| | |
| | | } |
| | | }, |
| | | // 请求数据 |
| | | async getData(keyword, keywordType) { |
| | | async getData() { |
| | | this.loading = true |
| | | await getServiceFollowupList({ |
| | | keyword: keyword, |
| | | keywordType: keywordType, |
| | | keyword: this.keyword, |
| | | keywordType: this.keywordType, |
| | | page: this.pagerOptions.currPage, |
| | | pageSize: this.pagerOptions.pageSize |
| | | }) |
| | |
| | | // 搜索 |
| | | searchClick(val, content) { |
| | | console.log(val, content) |
| | | this.getData(content, val.label) |
| | | this.keyword = content |
| | | this.keywordType = val.label |
| | | this.getData() |
| | | }, |
| | | resetClick() { |
| | | this.search_map = {} |
| | |
| | | addBtnClick() { |
| | | this.editConfig.visible = true |
| | | this.editConfig.title = "新建" |
| | | this.editConfig.infomation = {} |
| | | this.editConfig.infomation = { ...this.addConfig } |
| | | }, |
| | | // 编辑 |
| | | handleClick(row) { |
| | | console.log(row) |
| | | this.editConfig.visible = true |
| | | this.editConfig.title = "编辑" |
| | | this.editConfig.infomation = { ...row } |
| | | this.editConfig.infomation = { ...row, service_number: row.ServiceOrder.serviceNumber } |
| | | }, |
| | | // 删除 |
| | | delClick() { |