bug修复
This commit is contained in:
parent
089c140dec
commit
0ffb88dfbb
@ -8,184 +8,140 @@
|
||||
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
|
||||
<el-tab-pane label="客户信息" name="new_name_1">
|
||||
|
||||
<el-card class="mb-2">
|
||||
<div class="tit">客户基本资料1</div>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="客户姓名">
|
||||
{{ formData.name }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="客户属性">
|
||||
{{ formData.custom_type_text
|
||||
}}
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="上级公司">
|
||||
{{ formData.parent_company }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="电话" prop="phone" :rules="[{ validator: checkPhone, trigger: 'blur' }]">
|
||||
|
||||
{{ formData.phone }}
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="信用度" prop="credit_rating_text">
|
||||
|
||||
{{ formData.credit_rating_text }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="省">
|
||||
|
||||
{{ formData.province_name }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="市">
|
||||
|
||||
{{ formData.city_name }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="区">
|
||||
|
||||
{{ formData.area_name }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="地址" prop="address">
|
||||
|
||||
{{ formData.address }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="备注" prop="notes">
|
||||
{{ formData.notes }}
|
||||
</el-form-item>
|
||||
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<el-card class="mb-2">
|
||||
<div class="tit">主要负责人</div>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="姓名" prop="master_name">
|
||||
|
||||
{{ formData.master_name }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="职位" prop="master_position">
|
||||
|
||||
{{ formData.master_position }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="手机" prop="master_phone">
|
||||
|
||||
{{ formData.master_phone }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="邮箱" prop="master_email">
|
||||
|
||||
{{ formData.master_email }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="电话" prop="master_telephone">
|
||||
|
||||
{{ formData.master_telephone }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="备注" prop="master_notes">
|
||||
{{ formData.master_notes }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<el-card class="mb-2">
|
||||
<div class="tit">其他联系人</div>
|
||||
<el-row>
|
||||
<el-table :data="contactsList">
|
||||
|
||||
<el-table-column label="序号" type="index" width="55" />
|
||||
<el-table-column label="组织" prop="org_name" show-overflow-tooltip />
|
||||
<el-table-column label="部门" prop="dept_name" show-overflow-tooltip />
|
||||
<el-table-column label="姓名" prop="name" show-overflow-tooltip />
|
||||
<el-table-column label="职位" prop="position" show-overflow-tooltip />
|
||||
<el-table-column label="手机" prop="phone" show-overflow-tooltip />
|
||||
<el-table-column label="电话" prop="telephone" show-overflow-tooltip />
|
||||
<el-table-column label="邮箱" prop="email" show-overflow-tooltip />
|
||||
<el-table-column label="备注" prop="notes" show-overflow-tooltip />
|
||||
</el-table>
|
||||
|
||||
|
||||
</el-row>
|
||||
|
||||
</el-card>
|
||||
<el-card class="mb-2">
|
||||
<div class="tit">开票信息</div>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="开票公司" prop="company_name">
|
||||
{{ formData.company_name }}
|
||||
</el-form-item>
|
||||
<el-descriptions title="基本信息" :column="2" border>
|
||||
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="纳税人识别" prop="company_tin">
|
||||
{{ formData.company_tin }}
|
||||
</el-form-item>
|
||||
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label">{{ formData.name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="客户属性" label-align="left" align="left" label-class-name="my-label"> {{ formData.custom_type_text }}</el-descriptions-item>
|
||||
<el-descriptions-item label="上级公司" label-align="left" align="left" label-class-name="my-label"> {{ formData.parent_company }}</el-descriptions-item>
|
||||
<el-descriptions-item label="客户地址" label-align="left" align="left" label-class-name="my-label">
|
||||
{{ formData.address }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="电话" label-align="left" align="left" label-class-name="my-label"> {{ formData.phone
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="信用度" label-align="left" align="left" label-class-name="my-label"> {{ formData.credit_rating_text
|
||||
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="开户地址" prop="bank_open_address">
|
||||
{{ formData.bank_open_address }}
|
||||
</el-form-item>
|
||||
}}</el-descriptions-item>
|
||||
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="公司电话" prop="company_telephone">
|
||||
{{ formData.company_telephone }}
|
||||
</el-form-item>
|
||||
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label"> {{ formData.notes
|
||||
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="开户银行" prop="bank_name">
|
||||
{{ formData.bank_name }}
|
||||
</el-form-item>
|
||||
}}</el-descriptions-item>
|
||||
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="银行账号" prop="bank_account">
|
||||
</el-descriptions>
|
||||
|
||||
<el-descriptions title="主要负责人" :column="2" border>
|
||||
|
||||
<el-descriptions-item label="姓名" label-align="left" align="left" label-class-name="my-label">{{ formData.master_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="职位" label-align="left" align="left" label-class-name="my-label"> {{ formData.master_position }}</el-descriptions-item>
|
||||
<el-descriptions-item label="手机" label-align="left" align="left" label-class-name="my-label"> {{ formData.master_phone }}</el-descriptions-item>
|
||||
<el-descriptions-item label="邮箱" label-align="left" align="left" label-class-name="my-label">
|
||||
{{ formData.master_email }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="电话" label-align="left" align="left" label-class-name="my-label"> {{ formData.master_telephone
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label"> {{ formData.master_notes
|
||||
|
||||
}}</el-descriptions-item>
|
||||
|
||||
</el-descriptions>
|
||||
|
||||
|
||||
|
||||
<div class="tit">其他联系人</div>
|
||||
<el-row>
|
||||
<el-table :data="contactsList">
|
||||
|
||||
<el-table-column label="序号" type="index" width="55" />
|
||||
<el-table-column label="组织" prop="org_name" show-overflow-tooltip />
|
||||
<el-table-column label="部门" prop="dept_name" show-overflow-tooltip />
|
||||
<el-table-column label="姓名" prop="name" show-overflow-tooltip />
|
||||
<el-table-column label="职位" prop="position" show-overflow-tooltip />
|
||||
<el-table-column label="手机" prop="phone" show-overflow-tooltip />
|
||||
<el-table-column label="电话" prop="telephone" show-overflow-tooltip />
|
||||
<el-table-column label="邮箱" prop="email" show-overflow-tooltip />
|
||||
<el-table-column label="备注" prop="notes" show-overflow-tooltip />
|
||||
</el-table>
|
||||
|
||||
|
||||
</el-row>
|
||||
|
||||
<el-descriptions title="开票信息" :column="2" border>
|
||||
|
||||
<el-descriptions-item label="开票公司名称" label-align="left" align="left" label-class-name="my-label">{{ formData.company_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="纳税人识别号" label-align="left" align="left" label-class-name="my-label"> {{ formData.company_tin }}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="开户地址" label-align="left" align="left" label-class-name="my-label">
|
||||
{{ formData.bank_open_address }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="电话" label-align="left" align="left" label-class-name="my-label"> {{ formData.company_telephone
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="开户银行" label-align="left" align="left" label-class-name="my-label"> {{ formData.bank_name
|
||||
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="银行账号" label-align="left" align="left" label-class-name="my-label"> {{ formData.bank_account
|
||||
|
||||
}}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
{{ formData.bank_account }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
|
||||
|
||||
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="项目" name="new_name_2">Config</el-tab-pane>
|
||||
<el-tab-pane label="报价" name="new_name_3">Role</el-tab-pane>
|
||||
<el-tab-pane label="项目" name="new_name_2">
|
||||
<div>
|
||||
<el-table :data="tableData1" stripe style="width: 100%">
|
||||
<el-table-column label="项目编码" prop='project_code' width="180" />
|
||||
<el-table-column label="项目名称" prop='name' width="180" />
|
||||
<el-table-column label="项目估算(万元)" prop='project_estimation' />
|
||||
<el-table-column label="项目状态" prop='status' />
|
||||
<el-table-column label="项目类型" prop='project_type' />
|
||||
<el-table-column label="立项日期" prop='create_time' />
|
||||
</el-table>
|
||||
</div>
|
||||
<div style="margin: 10px 0;">
|
||||
<el-pagination v-model:current-page="pager1.page_no" v-model:page-size="pager1.page_size" :page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper" :total="total1" @size-change="handleSizeChange1" @current-change="handleCurrentChange1" />
|
||||
</div>
|
||||
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="报价" name="new_name_3">
|
||||
<div>
|
||||
<el-table :data="tableData2" stripe style="width: 100%">
|
||||
<el-table-column label="报价单号" prop='code' width="180" />
|
||||
<el-table-column label="制单人" prop='create_user' width="180" />
|
||||
<el-table-column label="报价日期" prop='quotation_date' />
|
||||
<el-table-column label="订单金额" prop='amount_including_tax' />
|
||||
<el-table-column label="运费" prop='freight' />
|
||||
<el-table-column label="其它费用" prop='other_fee' />
|
||||
<el-table-column label="合计金额" prop='total_amount' />
|
||||
</el-table>
|
||||
</div>
|
||||
<div style="margin: 10px 0;">
|
||||
<el-pagination v-model:current-page="pager2.page_no" v-model:page-size="pager2.page_size" :page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper" :total="total2" @size-change="handleSizeChange2" @current-change="handleCurrentChange2" />
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="合同" name="new_name_4">Task</el-tab-pane>
|
||||
<el-tab-pane label="订单" name="new_name_5">Task</el-tab-pane>
|
||||
<el-tab-pane label="发票" name="new_name_6">Task</el-tab-pane>
|
||||
<el-tab-pane label="回款" name="new_name_7">Task</el-tab-pane>
|
||||
<el-tab-pane label="售后" name="new_name_8">Task</el-tab-pane>
|
||||
<el-tab-pane label="售后" name="new_name_8">
|
||||
<div>
|
||||
<el-table :data="tableData3" stripe style="width: 100%">
|
||||
<el-table-column label="工单编号" prop='code' width="180" />
|
||||
<el-table-column label="合同编号" prop='create_user' width="180" />
|
||||
<el-table-column label="投诉主题" prop='quotation_date' />
|
||||
<el-table-column label="日期" prop='amount_including_tax' />
|
||||
<el-table-column label="分类" prop='freight' />
|
||||
<el-table-column label="工时" prop='other_fee' />
|
||||
<el-table-column label="单价" prop='total_amount' />
|
||||
<el-table-column label="工时费用" prop='total_amount' />
|
||||
</el-table>
|
||||
</div>
|
||||
<div style="margin: 10px 0;">
|
||||
<el-pagination v-model:current-page="pager3.page_no" v-model:page-size="pager3.page_size" :page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper" :total="total3" @size-change="handleSizeChange3" @current-change="handleCurrentChange3" />
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
|
||||
@ -202,8 +158,10 @@ import {
|
||||
} from "@/api/common";
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomContactsLists } from '@/api/custom_contacts'
|
||||
import { apiProjectLists } from '@/api/project'
|
||||
import { apiQuotationLists } from '@/api/quotation'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { apiCustomServiceLists } from '@/api/custom_service'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import type { TabsPaneContext } from 'element-plus'
|
||||
import type { PropType } from 'vue'
|
||||
@ -217,11 +175,17 @@ const emit = defineEmits(['success', 'close'])
|
||||
const formRef = shallowRef<FormInstance>()
|
||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||
|
||||
const tableData1 = ref([])
|
||||
const tableData2 = ref([])
|
||||
const tableData3 = ref([])
|
||||
const tableData4 = ref([])
|
||||
const tableData5 = ref([])
|
||||
const tableData6 = ref([])
|
||||
|
||||
const activeName = ref('new_name_1')
|
||||
|
||||
const handleClick = (tab: TabsPaneContext, event: Event) => {
|
||||
console.log(tab, event)
|
||||
// console.log(tab, event)
|
||||
}
|
||||
const datas = reactive({
|
||||
provinceOptions: [],
|
||||
@ -235,7 +199,107 @@ const formData = reactive({
|
||||
|
||||
})
|
||||
|
||||
const pager1 = reactive({
|
||||
page_size: 10,
|
||||
page_no: 1,
|
||||
custom_id: ""
|
||||
})
|
||||
const pager2 = reactive({
|
||||
page_size: 10,
|
||||
page_no: 1,
|
||||
custom_id: ""
|
||||
})
|
||||
const pager3 = reactive({
|
||||
page_size: 10,
|
||||
page_no: 1,
|
||||
custom_id: ""
|
||||
})
|
||||
const pager4 = reactive({
|
||||
page_size: 10,
|
||||
page_no: 1,
|
||||
custom_id: ""
|
||||
})
|
||||
|
||||
const pager5 = reactive({
|
||||
page_size: 10,
|
||||
page_no: 1,
|
||||
custom_id: ""
|
||||
})
|
||||
const pager6 = reactive({
|
||||
page_size: 10,
|
||||
page_no: 1,
|
||||
custom_id: ""
|
||||
})
|
||||
|
||||
const total1 = ref(0)
|
||||
const total2 = ref(0)
|
||||
const total3 = ref(0)
|
||||
const total4 = ref(0)
|
||||
const total5 = ref(0)
|
||||
const total6 = ref(0)
|
||||
const total7 = ref(0)
|
||||
const total8 = ref(0)
|
||||
|
||||
//条数
|
||||
const handleSizeChange1 = (val: number) => {
|
||||
pager1.page_size = val
|
||||
}
|
||||
const handleSizeChange2 = (val: number) => {
|
||||
pager2.page_size = val
|
||||
estimateLists()
|
||||
}
|
||||
const handleSizeChange3 = (val: number) => {
|
||||
|
||||
pager3.page_size = val
|
||||
competitorLists()
|
||||
}
|
||||
const handleSizeChange4 = (val: number) => {
|
||||
|
||||
pager4.page_size = val
|
||||
competitorLists()
|
||||
}
|
||||
const handleSizeChange5 = (val: number) => {
|
||||
|
||||
pager5.page_size = val
|
||||
competitorLists()
|
||||
}
|
||||
const handleSizeChange6 = (val: number) => {
|
||||
|
||||
pager6.page_size = val
|
||||
competitorLists()
|
||||
}
|
||||
|
||||
//分页
|
||||
const handleCurrentChange1 = (val: number) => {
|
||||
console.log(`current page: ${val}`)
|
||||
pager1.page_no = val
|
||||
solutionLists()
|
||||
}
|
||||
const handleCurrentChange2 = (val: number) => {
|
||||
console.log(`current page: ${val}`)
|
||||
pager2.page_no = val
|
||||
estimateLists()
|
||||
}
|
||||
const handleCurrentChange3 = (val: number) => {
|
||||
pager3.page_no = val
|
||||
console.log(`current page: ${val}`)
|
||||
competitorLists()
|
||||
}
|
||||
const handleCurrentChange4 = (val: number) => {
|
||||
pager4.page_no = val
|
||||
console.log(`current page: ${val}`)
|
||||
competitorLists()
|
||||
}
|
||||
const handleCurrentChange5 = (val: number) => {
|
||||
pager5page_no = val
|
||||
console.log(`current page: ${val}`)
|
||||
competitorLists()
|
||||
}
|
||||
const handleCurrentChange6 = (val: number) => {
|
||||
pager6.page_no = val
|
||||
console.log(`current page: ${val}`)
|
||||
competitorLists()
|
||||
}
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
// for (const key in formData) {
|
||||
@ -255,14 +319,16 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
// }
|
||||
|
||||
Object.assign(formData, data)
|
||||
pager1.custom_id = data.id
|
||||
pager2.custom_id = data.id
|
||||
pager3.custom_id = data.id
|
||||
pager4.custom_id = data.id
|
||||
pager5.custom_id = data.id
|
||||
pager6.custom_id = data.id
|
||||
|
||||
getcontacts(data)
|
||||
}
|
||||
const getcontacts = async (row: Record<string, any>) => {
|
||||
const data = await apiCustomContactsLists({
|
||||
custom_id: row.id
|
||||
})
|
||||
contactsList.value = data.lists
|
||||
projectLists()
|
||||
quotationLists()
|
||||
customServiceLists()
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
@ -291,51 +357,27 @@ const handleClose = () => {
|
||||
}
|
||||
|
||||
|
||||
//获取省份
|
||||
function province_change(value: string) {
|
||||
getCityList();
|
||||
//项目信息
|
||||
const projectLists = () => {
|
||||
apiProjectLists(pager1).then((res) => {
|
||||
tableData1.value = res.lists
|
||||
total1.value = res.count
|
||||
})
|
||||
}
|
||||
function city_change(value: string) {
|
||||
getAreaList();
|
||||
//报价信息
|
||||
const quotationLists = () => {
|
||||
apiQuotationLists(pager2).then((res) => {
|
||||
tableData2.value = res.lists
|
||||
total2.value = res.count
|
||||
})
|
||||
}
|
||||
|
||||
// function brigade_change(value: string) {
|
||||
// formData.brigade = value
|
||||
// }
|
||||
const getProvinceList = async () => {
|
||||
const data = await apiProvinceList({});
|
||||
datas["provinceOptions"] = data;
|
||||
};
|
||||
const getCityList = async () => {
|
||||
const data = await apiCityList({ province_code: formData.province });
|
||||
datas["cityOptions"] = data;
|
||||
};
|
||||
const getAreaList = async () => {
|
||||
const data = await apiAreaList({ city_code: formData.city });
|
||||
datas["areaOptions"] = data;
|
||||
|
||||
};
|
||||
//增加其他联系人
|
||||
function other() {
|
||||
formData.other_contacts.push({
|
||||
name: "",
|
||||
position: "",
|
||||
phone: "",
|
||||
email: "",
|
||||
});
|
||||
//售后信息
|
||||
const customServiceLists = () => {
|
||||
apiCustomServiceLists(pager3).then((res) => {
|
||||
tableData3.value = res.lists
|
||||
total3.value = res.count
|
||||
})
|
||||
}
|
||||
//删除其他联系人
|
||||
function otherdelete() {
|
||||
formData.other_contacts.pop({
|
||||
name: "",
|
||||
position: "",
|
||||
phone: "",
|
||||
email: "",
|
||||
});
|
||||
}
|
||||
|
||||
getProvinceList();
|
||||
|
||||
|
||||
defineExpose({
|
||||
open,
|
||||
|
@ -40,6 +40,7 @@
|
||||
<div v-else>
|
||||
暂无文件
|
||||
</div>
|
||||
</div>
|
||||
</el-descriptions-item>
|
||||
|
||||
|
||||
|
@ -207,12 +207,9 @@ const formData = reactive({
|
||||
|
||||
//条数
|
||||
const handleSizeChange1 = (val: number) => {
|
||||
|
||||
pager1.page_size = val
|
||||
solutionLists()
|
||||
}
|
||||
const handleSizeChange2 = (val: number) => {
|
||||
|
||||
pager2.page_size = val
|
||||
estimateLists()
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user