add
This commit is contained in:
parent
38fdb640c6
commit
fa33b3fa72
@ -2,8 +2,8 @@
|
||||
<div>
|
||||
<el-card class="!border-none" shadow="never">
|
||||
<el-form class="mb-[-16px]" :model="queryParams" inline>
|
||||
<el-form-item label="查询" prop="contract_code">
|
||||
<el-input class="w-[280px]" v-model="queryParams.contract_code" clearable placeholder="请输入内容" />
|
||||
<el-form-item label="合同名称" prop="contract_code">
|
||||
<el-input class="w-[280px]" v-model="queryParams.contract_name" clearable placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="resetPage">查询</el-button>
|
||||
@ -16,19 +16,22 @@
|
||||
<div class="mt-4">
|
||||
<el-table :data="pager.lists" @cell-click="handleCurrentChange">
|
||||
<el-table-column label="序号" type="index" />
|
||||
<el-table-column label="合同类型" property="contract_type" />
|
||||
<el-table-column label="客户名称" property="custom_name" />
|
||||
<el-table-column label="订单编号" property="province_name" />
|
||||
<el-table-column label="订单金额" property="city_name" />
|
||||
<el-table-column label="调整金额" property="street_name" />
|
||||
<el-table-column label="实际合同金额" property="reality_contract_amount" />
|
||||
<el-table-column label="项目名称" property="project_name" />
|
||||
<el-table-column label="项目编码" property="project_code" />
|
||||
<el-table-column label="签约日期" property="contract_date" />
|
||||
<el-table-column label="已回款" property="returned_amount" />
|
||||
<el-table-column label="未回款" property="not_returned_amount" />
|
||||
<el-table-column label="已开票" property="invoicing_amount" />
|
||||
<el-table-column label="未开票" property="not_invoicing_amount" />
|
||||
<el-table-column label="合同编号" prop="contract_code" />
|
||||
<el-table-column label="合同名称" prop="contract_name" />
|
||||
<el-table-column label="客户名称" prop="custom_name" />
|
||||
<el-table-column label="项目名称" prop="project_name" />
|
||||
<el-table-column label="项目编码" prop="project_code" />
|
||||
<el-table-column label="业务负责人" prop="business_director_name" />
|
||||
<el-table-column label="合同有效期" prop="expire" />
|
||||
<el-table-column label="签约日期" prop="contract_date" show-overflow-tooltip />
|
||||
<el-table-column label="合同金额" prop="amount" show-overflow-tooltip />
|
||||
<el-table-column label="洽商金额" prop="negotiation_amount" show-overflow-tooltip />
|
||||
<el-table-column label="实际合同金额" prop="reality_contract_amount" />
|
||||
<el-table-column label="已回款" prop="returned_amount" show-overflow-tooltip />
|
||||
<el-table-column label="未回款" prop="not_returned_amount" show-overflow-tooltip />
|
||||
<el-table-column label="已开票" prop="invoicing_amount" show-overflow-tooltip />
|
||||
<el-table-column label="未开票" prop="not_invoicing_amount" show-overflow-tooltip />
|
||||
<el-table-column label="已退款金额" prop="refund_amount" />
|
||||
</el-table>
|
||||
|
||||
</div>
|
||||
@ -58,6 +61,7 @@ const props = defineProps({
|
||||
const queryParams = reactive({
|
||||
contract_code: '',
|
||||
project_id: props.project_id,
|
||||
contract_name: "",
|
||||
contract_type: props.contract_type,
|
||||
});
|
||||
const { dictData } = useDictData('contract_type')
|
||||
|
@ -13,6 +13,23 @@ interface Icolumn {
|
||||
column: { label: String; width: Number; property: string };
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 计算table中每一项渲染到dom上所需要的宽度
|
||||
* @param string:需要渲染到dom上的内容
|
||||
* */
|
||||
function getWidthOfString(string: String) {
|
||||
var span = document.createElement("span");
|
||||
// @ts-ignore
|
||||
span.textContent = string;
|
||||
span.style.visibility = "hidden";
|
||||
span.style.position = "absolute";
|
||||
span.style.whiteSpace = "nowrap";
|
||||
document.body.appendChild(span);
|
||||
var width = span.offsetWidth;
|
||||
document.body.removeChild(span);
|
||||
return width;
|
||||
}
|
||||
|
||||
export function usePaging(options: Options) {
|
||||
const {
|
||||
page = 1,
|
||||
@ -32,15 +49,19 @@ export function usePaging(options: Options) {
|
||||
lists: [] as any[],
|
||||
extend: {} as Record<string, any>,
|
||||
calcWidth: ({ column }: Icolumn) => {
|
||||
// let propWidth = column.label.length * 14 + 24;
|
||||
// let list = pager.lists.map(
|
||||
// (item: Object) => (item as any)[column.property]
|
||||
// );
|
||||
// const maxLength = list.reduce((max, str) => {
|
||||
// return Math.max(max, String(str).length);
|
||||
// }, 0);
|
||||
// const columnWidth = maxLength * 14 + 24;
|
||||
// column.width = Math.max(columnWidth, propWidth);
|
||||
let propWidth = column.label.length * 14 + 26;
|
||||
let list = pager.lists.map(
|
||||
(item: Object) => (item as any)[column.property]
|
||||
);
|
||||
|
||||
// start 遍历获取lits每一项所需要的宽度的最大值
|
||||
const maxLength = list.reduce((max, str) => {
|
||||
return Math.max(max, getWidthOfString(str));
|
||||
}, 0);
|
||||
// end
|
||||
|
||||
const columnWidth = maxLength + 27; //27为el-table的cell 自带的padding 12px*2 + border 1px * 2 + 预留2px防止妖魔鬼怪作乱
|
||||
column.width = Math.max(columnWidth, propWidth);
|
||||
return column.label;
|
||||
},
|
||||
});
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="120px" :rules="formRules">
|
||||
<el-form ref="formRef" :model="formData" label-width="125px" :rules="formRules">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="项目名称" @click="showDialog = true">
|
||||
@ -69,8 +69,14 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="保证金金额" prop="margin_amount">
|
||||
<el-input v-model="formData.margin_amount" clearable placeholder="请输入保证金金额" />
|
||||
</el-form-item></el-col><el-col :span="8">
|
||||
<el-form-item label="开标日期" prop="bid_opening_date">
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="开标日期" prop="bid_opening_date" :rules="[
|
||||
{
|
||||
validator: chekcDate1,
|
||||
trigger: ['blur']
|
||||
}]">
|
||||
<el-date-picker class="!flex flex-1" v-model="formData.bid_opening_date" format="YYYY-MM-DD"
|
||||
value-format="YYYY-MM-DD" placeholder="请输入开标日期" clearable></el-date-picker>
|
||||
</el-form-item>
|
||||
@ -188,6 +194,14 @@ const chekcDate = (rule: any, value: any, callback: any) => {
|
||||
}
|
||||
}
|
||||
|
||||
const chekcDate1 = (rule: any, value: any, callback: any) => {
|
||||
if (new Date(formData.bid_opening_date) < new Date(formData.bidding_time)) {
|
||||
callback(new Error('开标日期不能早于投标时间'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//获取值
|
||||
const customEvent = (e: any) => {
|
||||
|
@ -46,19 +46,28 @@
|
||||
<el-table border :data="pager.lists" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column label="序号" type="index" width="55" />
|
||||
<el-table-column label="项目名称" prop="project_name" :render-header="pager.calcWidth" />
|
||||
<el-table-column label="客户名称" prop="custom_name" :render-header="pager.calcWidth" />
|
||||
<el-table-column label="决策编码" prop="code" :render-header="pager.calcWidth" />
|
||||
<el-table-column label="项目估算" width="125" prop="project_estimation" show-overflow-tooltip />
|
||||
<el-table-column label="资金来源" width="155" prop="bidding_project_fund_source" show-overflow-tooltip />
|
||||
<el-table-column label="投标时间" prop="bidding_time" width="155" show-overflow-tooltip />
|
||||
<el-table-column label="招标方式" prop="bid_type" :render-header="pager.calcWidth" />
|
||||
<el-table-column label="竞争对手" prop="competitor" show-overflow-tooltip />
|
||||
<el-table-column label="保证金金额" prop="margin_amount" width="125" show-overflow-tooltip />
|
||||
<el-table-column label="开标日期" prop="bid_opening_date" show-overflow-tooltip />
|
||||
<el-table-column label="保证金退还时间" width="155" prop="margin_amount_return_date" show-overflow-tooltip />
|
||||
<el-table-column label="有无内部资源" width="155" prop="is_internal_resources" show-overflow-tooltip />
|
||||
<el-table-column label="项目把握度" width="85" prop="project_assurance" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="项目名称" prop="project_name" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="客户名称" prop="custom_name" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="决策编码" prop="code" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="项目估算" width="125" prop="project_estimation"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="资金来源" width="155"
|
||||
prop="bidding_project_fund_source" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="投标时间" prop="bidding_time" width="155"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="招标方式" prop="bid_type" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="竞争对手" prop="competitor"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="保证金金额" prop="margin_amount" width="125"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="开标日期" prop="bid_opening_date"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="保证金退还时间" width="155"
|
||||
prop="margin_amount_return_date" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="有无内部资源" width="155"
|
||||
prop="is_internal_resources" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="项目把握度" width="85" prop="project_assurance"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column label="操作" width="160" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button v-perms="['bid.bid_bidding_decision/edit']" type="primary" link
|
||||
|
@ -10,8 +10,7 @@
|
||||
</el-form-item> </el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="项目名称" prop="project_id" @click="tanchuan"
|
||||
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
|
||||
<el-form-item label="项目名称" @click="tanchuan">
|
||||
<el-input v-model="project_name" readonly clearable placeholder="请选择项目" :disabled="project" />
|
||||
</el-form-item></el-col>
|
||||
<el-col :span="8">
|
||||
@ -23,8 +22,7 @@
|
||||
<el-form-item label="投标编号" prop="buy_bidding_document_id">
|
||||
<el-input v-model="bidding_code" readonly clearable placeholder="请选择投标编号"
|
||||
@click="showDialog1 = true" class="!flex flex-1" />
|
||||
<toolTip content="可在投标管理-投标决策里面添加" url="/construction/tender/bid_bidding_decision" />
|
||||
|
||||
<toolTip content="可在投标管理-购买标书里面添加" url="/construction/tender/bid_buy_bidding_document" />
|
||||
</el-form-item></el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="合同名称" prop="contract_name"
|
||||
@ -112,23 +110,25 @@
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="合同有效期" prop="expire"
|
||||
:rules="[{ required: true, message: '不可为空', trigger: 'change' }]">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.expire" clearable type="date"
|
||||
value-format="YYYY-MM-DD" placeholder="选择合同有效期">
|
||||
</el-date-picker>
|
||||
</el-form-item></el-col><el-col :span="8">
|
||||
<el-form-item label="签约日期" prop="contract_date" :rules="[{ required: true, message: '不可为空', trigger: 'change' }, {
|
||||
validator: chekcDate,
|
||||
trigger: ['blur']
|
||||
}]">
|
||||
</el-col> <el-col :span="8">
|
||||
<el-form-item label="签约日期" prop="contract_date"
|
||||
:rules="[{ required: true, message: '不可为空', trigger: 'change' },]">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.contract_date" clearable type="date"
|
||||
value-format="YYYY-MM-DD" placeholder="选择签约日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="合同有效期" prop="expire" :rules="[{ required: true, message: '不可为空', trigger: 'change' }, {
|
||||
validator: chekcDate,
|
||||
trigger: ['blur']
|
||||
}]">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.expire" clearable type="date"
|
||||
value-format="YYYY-MM-DD" placeholder="选择合同有效期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
|
||||
<el-form-item label="主要条款" prop="main_content">
|
||||
|
@ -47,21 +47,27 @@
|
||||
<el-table-column label="客户名称" prop="custom_name" :render-header="pager.calcWidth" />
|
||||
<el-table-column label="项目名称" prop="project_name" :render-header="pager.calcWidth" />
|
||||
<el-table-column label="项目编码" prop="project_code" :render-header="pager.calcWidth" />
|
||||
<el-table-column label="合同类型" prop="contract_type">
|
||||
<el-table-column label="合同类型" prop="contract_type" width="100">
|
||||
<template #default="{ row }">
|
||||
<dict-value :options="dictData.contract_type" :value="row.contract_type" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="业务负责人" prop="business_director_name" :render-header="pager.calcWidth" />
|
||||
<el-table-column label="合同有效期" prop="expire" :render-header="pager.calcWidth" />
|
||||
<el-table-column label="签约日期" prop="contract_date" show-overflow-tooltip />
|
||||
<el-table-column label="合同金额" prop="amount" show-overflow-tooltip />
|
||||
<el-table-column label="洽商金额" prop="negotiation_amount" show-overflow-tooltip />
|
||||
<el-table-column label="签约日期" prop="contract_date" show-overflow-tooltip
|
||||
:render-header="pager.calcWidth" />
|
||||
<el-table-column label="合同金额" prop="amount" show-overflow-tooltip :render-header="pager.calcWidth" />
|
||||
<el-table-column label="洽商金额" prop="negotiation_amount" show-overflow-tooltip
|
||||
:render-header="pager.calcWidth" />
|
||||
<el-table-column label="实际合同金额" prop="reality_contract_amount" :render-header="pager.calcWidth" />
|
||||
<el-table-column label="已回款" prop="returned_amount" show-overflow-tooltip />
|
||||
<el-table-column label="未回款" prop="not_returned_amount" show-overflow-tooltip />
|
||||
<el-table-column label="已开票" prop="invoicing_amount" show-overflow-tooltip />
|
||||
<el-table-column label="未开票" prop="not_invoicing_amount" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="已回款" prop="returned_amount"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="未回款" prop="not_returned_amount"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="已开票" prop="invoicing_amount"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="未开票" prop="not_invoicing_amount"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column label="已退款金额" prop="refund_amount" :render-header="pager.calcWidth" />
|
||||
<el-table-column label="操作" width="170" fixed="right">
|
||||
<template #default="{ row }">
|
||||
|
@ -7,58 +7,47 @@
|
||||
<el-descriptions title="基本信息" :column="2" border>
|
||||
<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">
|
||||
<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.company_name }}</el-descriptions-item> -->
|
||||
<el-descriptions-item label="客户地址" label-align="left" align="left"
|
||||
label-class-name="my-label">
|
||||
<el-descriptions-item label="客户地址" label-align="left" align="left" label-class-name="my-label">
|
||||
{{ formData.province_name + formData.city_name + formData.area_name + 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">
|
||||
<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-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="备注" label-align="left" align="left"
|
||||
label-class-name="my-label"> {{
|
||||
formData.notes
|
||||
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.notes
|
||||
|
||||
}}</el-descriptions-item>
|
||||
}}</el-descriptions-item>
|
||||
|
||||
</el-descriptions>
|
||||
|
||||
<el-descriptions title="主要负责人" :column="2" border style="margin: 20px 0;">
|
||||
|
||||
<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">
|
||||
<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 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-item>
|
||||
|
||||
</el-descriptions>
|
||||
|
||||
@ -67,8 +56,6 @@
|
||||
<div class="tit" style="margin: 20px 0;">其他联系人</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 />
|
||||
@ -77,6 +64,11 @@
|
||||
<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-column label="附件" prop="annex" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
<annexLink :annex="row.annex"></annexLink>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
</el-table>
|
||||
|
||||
|
||||
@ -89,21 +81,17 @@
|
||||
<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">
|
||||
<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">
|
||||
<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">
|
||||
<el-descriptions-item label="银行账号" label-align="left" align="left" label-class-name="my-label">
|
||||
{{ formData.bank_account
|
||||
|
||||
}}</el-descriptions-item>
|
||||
@ -127,8 +115,7 @@
|
||||
<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" />
|
||||
:total="total1" @size-change="handleSizeChange1" @current-change="handleCurrentChange1" />
|
||||
</div>
|
||||
|
||||
</el-tab-pane>
|
||||
@ -147,8 +134,7 @@
|
||||
<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" />
|
||||
:total="total2" @size-change="handleSizeChange2" @current-change="handleCurrentChange2" />
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="合同" name="new_name_4">
|
||||
@ -173,8 +159,7 @@
|
||||
<div style="margin: 10px 0;">
|
||||
<el-pagination v-model:current-page="pager4.page_no" v-model:page-size="pager4.page_size"
|
||||
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="total4" @size-change="handleSizeChange4"
|
||||
@current-change="handleCurrentChange4" />
|
||||
:total="total4" @size-change="handleSizeChange4" @current-change="handleCurrentChange4" />
|
||||
</div>
|
||||
<div class='tit' style="margin: 20px 0;">合同洽商</div>
|
||||
<div>
|
||||
@ -191,8 +176,7 @@
|
||||
<div style="margin: 10px 0;">
|
||||
<el-pagination v-model:current-page="pager5.page_no" v-model:page-size="pager5.page_size"
|
||||
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="total5" @size-change="handleSizeChange5"
|
||||
@current-change="handleCurrentChange5" />
|
||||
:total="total5" @size-change="handleSizeChange5" @current-change="handleCurrentChange5" />
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<!-- <el-tab-pane label="订单" name="new_name_5">Task</el-tab-pane> -->
|
||||
@ -216,8 +200,7 @@
|
||||
<div style="margin: 10px 0;">
|
||||
<el-pagination v-model:current-page="pager6.page_no" v-model:page-size="pager6.page_size"
|
||||
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="total6" @size-change="handleSizeChange6"
|
||||
@current-change="handleCurrentChange6" />
|
||||
:total="total6" @size-change="handleSizeChange6" @current-change="handleCurrentChange6" />
|
||||
</div>
|
||||
<div class="tit" style="margin:20px 0">回款记录</div>
|
||||
<div>
|
||||
@ -235,8 +218,7 @@
|
||||
<div style="margin: 10px 0;">
|
||||
<el-pagination v-model:current-page="pager7.page_no" v-model:page-size="pager7.page_size"
|
||||
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="total7" @size-change="handleSizeChange7"
|
||||
@current-change="handleCurrentChange7" />
|
||||
:total="total7" @size-change="handleSizeChange7" @current-change="handleCurrentChange7" />
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="售后" name="new_name_8">
|
||||
@ -255,8 +237,7 @@
|
||||
<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" />
|
||||
:total="total3" @size-change="handleSizeChange3" @current-change="handleCurrentChange3" />
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
@ -32,7 +32,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="电话" prop="phone"
|
||||
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
|
||||
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }, { validator: checkPhone, trigger: 'blur' }]">
|
||||
<el-input v-model="formData.phone" placeholder="请输入电话" clearable :style="{ width: '100%' }">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
@ -193,7 +193,6 @@
|
||||
<el-table-column label="附件" prop="annex">
|
||||
|
||||
<template #default="{ row, $index }">
|
||||
<!-- <el-input v-model="row.annex" /> -->
|
||||
<div>
|
||||
<el-upload
|
||||
accept="doc, docx, xls, xlsx, ppt, pptx, pdf, txt, zip, rar, tar, jpg, png, gif, jpeg, webp, wmv, avi, mpg, mpeg, 3gp, mov, mp4, flv, f4v, rmvb, mkv"
|
||||
@ -208,9 +207,9 @@
|
||||
<div v-if="row.annex">
|
||||
<div v-for="(item, index) in row.annex"
|
||||
style="margin-left: 5px;display: block;">
|
||||
|
||||
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start"
|
||||
:href="item" target="_blank">文件{{ index + 1 }}</a>
|
||||
<el-link :href="item.uri" type="primary" target="_blank">
|
||||
{{ item.name }}
|
||||
</el-link>
|
||||
<span style="cursor: pointer;margin-left: 5px;"
|
||||
@click="delFileFn1(row, index)">x</span>
|
||||
</div>
|
||||
@ -235,7 +234,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="纳税人识别" prop="company_tin">
|
||||
<el-input v-model="formData.company_tin" placeholder="请输入纳税人识别" clearable
|
||||
<el-input v-model="formData.company_tin" placeholder="请输入纳税人识别" clearable v-type="'code'"
|
||||
:style="{ width: '100%' }">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
@ -263,7 +262,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="银行账号" prop="bank_account">
|
||||
<el-input v-model="formData.bank_account" placeholder="请输入银行账号" clearable
|
||||
<el-input v-model="formData.bank_account" placeholder="请输入银行账号" clearable type="number"
|
||||
:style="{ width: '100%' }">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
@ -284,17 +283,19 @@ import {
|
||||
apiAreaList,
|
||||
apiProvinceList,
|
||||
} from "@/api/common";
|
||||
import customDialog from '@/components/custom-dialog/index.vue'
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomAdd, apiCustomEdit, apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import type { PropType } from 'vue'
|
||||
import { deptAll } from '@/api/org/department'
|
||||
import { getAll } from '@/api/org/organization'
|
||||
import feedback from "@/utils/feedback";
|
||||
import configs from "@/config"
|
||||
import useUserStore from "@/stores/modules/user";
|
||||
import { checkPhone } from "@/utils/validate"
|
||||
|
||||
|
||||
|
||||
const userStore = useUserStore();
|
||||
const base_url = configs.baseUrl + configs.urlPrefix
|
||||
|
||||
@ -342,15 +343,15 @@ const popupTitle = computed(() => {
|
||||
return mode.value == 'edit' ? '编辑客户表' : '新增客户表'
|
||||
})
|
||||
//验证
|
||||
const checkPhone = (rule: any, value: any, callback: (arg0: Error) => any) => {
|
||||
// const checkPhone = (rule: any, value: any, callback: (arg0: Error) => any) => {
|
||||
|
||||
if (value && !/^1[3|4|5|7|8][0-9]{9}$/.test(value)) {
|
||||
callback(new Error('请输入正确的手机号码'));
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
// if (value && !/^1[3|4|5|7|8][0-9]{9}$/.test(value)) {
|
||||
// callback(new Error('请输入正确的手机号码'));
|
||||
// } else {
|
||||
// callback()
|
||||
// }
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
const tablePhone = (row, index) => {
|
||||
if (row.phone && !/^1[3|4|5|7|8][0-9]{9}$/.test(row.phone)) {
|
||||
|
@ -46,21 +46,22 @@
|
||||
<el-table border :data="pager.lists" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column label="序号" type="index" width="55" />
|
||||
<el-table-column label="客户名称" prop="name" />
|
||||
<el-table-column label="客户属性" prop="custom_type">
|
||||
<el-table-column :render-header="pager.calcWidth" label="客户名称" prop="name" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="客户属性" prop="custom_type">
|
||||
<template #default="{ row }">
|
||||
<dict-value :options="dictData.custom_type" :value="row.custom_type" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="所在省" prop="province_name" show-overflow-tooltip />
|
||||
<el-table-column label="负责人姓名" prop="master_name" show-overflow-tooltip />
|
||||
<el-table-column label="负责人职务" prop="master_position" show-overflow-tooltip />
|
||||
<el-table-column label="负责人手机" prop="master_phone" show-overflow-tooltip />
|
||||
<el-table-column label="负责人电话" prop="master_telephone" show-overflow-tooltip />
|
||||
<el-table-column label="跟进记录" prop="follow_total" show-overflow-tooltip />
|
||||
<el-table-column label="最后跟进" prop="last_follow_date" show-overflow-tooltip />
|
||||
<el-table-column label="下次回访日期" prop="next_follow_date" show-overflow-tooltip />
|
||||
<el-table-column label="创建时间" prop="create_time" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="所在省" prop="province_name"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="负责人姓名" prop="master_name" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="负责人职务" prop="master_position" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="负责人手机" prop="master_phone" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="负责人电话" prop="master_telephone" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="跟进记录" prop="follow_total" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="最后跟进" prop="last_follow_date" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="下次回访日期" prop="next_follow_date" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="创建时间" prop="create_time" />
|
||||
<el-table-column label="操作" width="160" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button v-perms="['custom.custom/edit']" type="primary" link @click="handleEdit(row)">
|
||||
|
@ -32,14 +32,15 @@
|
||||
<el-table border :data="pager.lists" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column label="序号" type="index" width="55" />
|
||||
<el-table-column label="所属客户" prop="custom_name" show-overflow-tooltip />
|
||||
<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 :render-header="pager.calcWidth" label="所属客户" prop="custom_name"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="组织" prop="org_name" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="部门" prop="dept_name" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="姓名" prop="name" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="职位" prop="position" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="手机" prop="phone" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="电话" prop="telephone" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="邮箱" prop="email" show-overflow-tooltip />
|
||||
<el-table-column label="备注" prop="notes" show-overflow-tooltip />
|
||||
|
||||
<el-table-column label="操作" width="160" fixed="right">
|
||||
|
@ -54,27 +54,34 @@
|
||||
<!-- <el-button v-perms="['custom_service.custom_service/delete']" :disabled="!selectData.length" @click="handleDelete(selectData)">
|
||||
删除
|
||||
</el-button> -->
|
||||
|
||||
|
||||
<div class="mt-4">
|
||||
<el-table border :data="pager.lists" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column label="序号" type="index" width="55" />
|
||||
<el-table-column label="客户名称" prop="custom_name" />
|
||||
<el-table-column label="项目名称" prop="project_name" :render-header="pager.calcWidth" />
|
||||
<el-table-column label="项目编码" prop="project_code" :render-header="pager.calcWidth" />
|
||||
<el-table-column label="合同编号" prop="contract_code" :render-header="pager.calcWidth" />
|
||||
<el-table-column label="投诉主题" prop="name" show-overflow-tooltip />
|
||||
<el-table-column label="日期" prop="date" show-overflow-tooltip />
|
||||
<el-table-column label="接待人" prop="receiver" show-overflow-tooltip />
|
||||
<el-table-column label="分类" prop="classification" show-overflow-tooltip />
|
||||
<el-table-column label="投诉人" prop="custom_master_name" show-overflow-tooltip />
|
||||
<el-table-column label="联系电话" prop="custom_master_phone" show-overflow-tooltip />
|
||||
<el-table-column label="处理结果" prop="processing_result" show-overflow-tooltip />
|
||||
<el-table-column label="紧急程度" prop="urgency" show-overflow-tooltip />
|
||||
<el-table-column label="指定处理人" prop="processed_user" width="105" show-overflow-tooltip />
|
||||
<el-table-column label="问题是否解决" prop="is_solve_text" width="110" show-overflow-tooltip />
|
||||
<el-table-column label="完成日期" prop="done_date" show-overflow-tooltip />
|
||||
<el-table-column label="评分" prop="score" show-overflow-tooltip />
|
||||
<el-table-column label="操作" width="110" fixed="right">
|
||||
<el-table-column :render-header="pager.calcWidth" label="客户名称" prop="custom_name" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="项目名称" prop="project_name" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="项目编码" prop="project_code" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="合同编号" prop="contract_code" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="投诉主题" prop="name" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="日期" prop="date" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="接待人" prop="receiver" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="分类" prop="classification"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="投诉人" prop="custom_master_name"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="联系电话" prop="custom_master_phone"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="处理结果" prop="processing_result"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="紧急程度" prop="urgency" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="指定处理人" prop="processed_user" width="105"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="问题是否解决" prop="is_solve_text" width="110"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="完成日期" prop="done_date" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="评分" prop="score" show-overflow-tooltip />
|
||||
<el-table-column label="操作" width="200" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button v-perms="['custom_service.custom_service/solve']" type="primary" link
|
||||
@click="handleResolve(row)" v-if="row.is_solve != 1">
|
||||
|
@ -1,15 +1,13 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="84px" :rules="formRules">
|
||||
<el-form ref="formRef" :model="formData" label-width="100px" :rules="formRules">
|
||||
<el-form-item label="组织名称" prop="name">
|
||||
<el-input v-model="formData.name" placeholder="请输入组织名称" clearable :maxlength="100" />
|
||||
</el-form-item>
|
||||
<el-form-item label="组织负责人" prop="master">
|
||||
<el-input v-model="formData.master" placeholder="请输入组织负责人" clearable :maxlength="100" />
|
||||
</el-form-item>
|
||||
|
||||
|
||||
<el-form-item label="组织状态" required prop="status">
|
||||
<el-switch v-model="formData.status" :active-value="1" :inactive-value="0" />
|
||||
</el-form-item>
|
||||
|
@ -80,18 +80,24 @@
|
||||
<el-table border :data="pager.lists" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column label="序号" type="index" width="55" />
|
||||
<el-table-column label="客户" prop="custom_name" />
|
||||
<el-table-column label="项目编码" prop="project_code" :render-header="pager.calcWidth" />
|
||||
<el-table-column label="项目名称" prop="name" :render-header="pager.calcWidth" />
|
||||
<el-table-column label="项目状态" prop="status" show-overflow-tooltip />
|
||||
<el-table-column label="项目所在地" prop="project_address" width="94" show-overflow-tooltip />
|
||||
<el-table-column label="项目类型" prop="project_type" show-overflow-tooltip />
|
||||
<el-table-column label="战略意义" prop="strategic_significance" show-overflow-tooltip />
|
||||
<el-table-column label="所属行业" prop="industry" show-overflow-tooltip />
|
||||
<el-table-column label="单位性质" prop="unit_nature" show-overflow-tooltip />
|
||||
<el-table-column label="招标方式" prop="bidding_method" show-overflow-tooltip />
|
||||
<el-table-column label="信息来源" prop="information_sources" show-overflow-tooltip />
|
||||
<el-table-column label="负责人" prop="person" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="客户" prop="custom_name" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="项目编码" prop="project_code" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="项目名称" prop="name" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="项目状态" prop="status" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="项目所在地" prop="project_address" width="94"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="项目类型" prop="project_type"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="战略意义" prop="strategic_significance"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="所属行业" prop="industry" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="单位性质" prop="unit_nature"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="招标方式" prop="bidding_method"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="信息来源" prop="information_sources"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="负责人" prop="person" show-overflow-tooltip />
|
||||
<el-table-column label="操作" width="160" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button v-perms="['project.project/edit']" type="primary" link @click="handleEdit(row)">
|
||||
|
@ -1,7 +1,6 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit"
|
||||
@close="handleClose">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="120px" :rules="formRules">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
@ -26,7 +25,7 @@
|
||||
<el-form-item label="联系人" prop="contacts">
|
||||
<el-input v-model="formData.contacts" clearable placeholder="请输入联系人" />
|
||||
</el-form-item> </el-col><el-col :span="8">
|
||||
<el-form-item label="联系方式" prop="contact_information"
|
||||
<el-form-item label="联系电话" prop="contact_information"
|
||||
:rules="[{ validator: checkPhone, trigger: 'blur' }]">
|
||||
<el-input v-model="formData.contact_information" clearable placeholder="请输入联系方式" />
|
||||
</el-form-item> </el-col>
|
||||
@ -60,8 +59,7 @@
|
||||
</el-form-item> </el-col><el-col :span="8">
|
||||
<el-form-item label="项目把握度" prop="project_assurance"
|
||||
:rules="[{ required: true, message: '不可为空', trigger: 'change' }]">
|
||||
<el-select class="flex-1" v-model="formData.project_assurance" clearable
|
||||
placeholder="请选择项目把握度">
|
||||
<el-select class="flex-1" v-model="formData.project_assurance" clearable placeholder="请选择项目把握度">
|
||||
<el-option v-for="(item, index) in dictData.project_assurance" :key="index"
|
||||
:label="item.name" :value="parseInt(item.value)" />
|
||||
</el-select>
|
||||
@ -69,15 +67,15 @@
|
||||
<el-form-item label="跟进状态" prop="follow_status"
|
||||
:rules="[{ required: true, message: '不可为空', trigger: 'change' }]">
|
||||
<el-select class="flex-1" v-model="formData.follow_status" clearable placeholder="请选择跟进状态">
|
||||
<el-option v-for="(item, index) in dictData.follow_status" :key="index"
|
||||
:label="item.name" :value="parseInt(item.value)" />
|
||||
<el-option v-for="(item, index) in dictData.follow_status" :key="index" :label="item.name"
|
||||
:value="parseInt(item.value)" />
|
||||
</el-select>
|
||||
</el-form-item> </el-col><el-col :span="8">
|
||||
<el-form-item label="跟进阶段" prop="follow_stage"
|
||||
:rules="[{ required: true, message: '不可为空', trigger: 'change' }]">
|
||||
<el-select class="flex-1" v-model="formData.follow_stage" clearable placeholder="请选择跟进状态">
|
||||
<el-option v-for="(item, index) in dictData.follow_stage" :key="index"
|
||||
:label="item.name" :value="parseInt(item.value)" />
|
||||
<el-option v-for="(item, index) in dictData.follow_stage" :key="index" :label="item.name"
|
||||
:value="parseInt(item.value)" />
|
||||
</el-select>
|
||||
|
||||
</el-form-item> </el-col><el-col :span="8">
|
||||
|
@ -66,24 +66,25 @@
|
||||
</el-button>
|
||||
<div class="mt-4">
|
||||
<el-table border :data="pager.lists" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column label="序号" type="index" width="55" />
|
||||
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip
|
||||
:render-header="pager.calcWidth" />
|
||||
<el-table-column label="客户名称" prop="custom_name" show-overflow-tooltip />
|
||||
<el-table-column label="执行人" prop="executor" show-overflow-tooltip />
|
||||
<el-table-column label="日期" prop="follow_date">
|
||||
<el-table-column :render-header="pager.calcWidth" type="selection" width="55" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="序号" type="index" width="55" />
|
||||
<el-table-column :render-header="pager.calcWidth" label="项目名称" prop="project_name"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="客户名称" prop="custom_name"
|
||||
show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="执行人" prop="executor" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="日期" prop="follow_date">
|
||||
<template #default="{ row }">
|
||||
<span>{{ row.follow_date ? row.follow_date : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="类型" prop="follow_type">
|
||||
<el-table-column :render-header="pager.calcWidth" label="类型" prop="follow_type">
|
||||
<template #default="{ row }">
|
||||
<dict-value :options="dictData.follow_type" :value="row.follow_type" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="主题" prop="theme" show-overflow-tooltip />
|
||||
<el-table-column label="项目把握度" prop="project_assurance_text">
|
||||
<el-table-column :render-header="pager.calcWidth" label="主题" prop="theme" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="项目把握度" prop="project_assurance_text">
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" prop="follow_status">
|
||||
<template #default="{ row }">
|
||||
@ -95,7 +96,7 @@
|
||||
<dict-value :options="dictData.follow_stage" :value="row.follow_stage" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="下次回访日期" prop="next_follow_up_date">
|
||||
<el-table-column :render-header="pager.calcWidth" label="下次回访日期" prop="next_follow_up_date">
|
||||
<template #default="{ row }">
|
||||
<span>{{ row.next_follow_up_date ? row.next_follow_up_date :
|
||||
'' }}</span>
|
||||
|
@ -1,8 +1,7 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit"
|
||||
@close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="auto" :rules="formRules" inline>
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="auto" :rules="formRules">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="客户名称" prop="custom_id"
|
||||
@ -26,7 +25,7 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="报价日期" prop="quotation_date">
|
||||
<el-date-picker v-model="formData.quotation_date" clearable type="date"
|
||||
value-format="YYYY-MM-DD" placeholder="选择报价日期">
|
||||
value-format="YYYY-MM-DD" placeholder="选择报价日期" class="!flex flex-1">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -48,8 +47,7 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="含税金额" prop="amount_including_tax"
|
||||
:rules="[{ required: true, message: '不可为空', trigger: 'change' }]">
|
||||
<el-input v-model="formData.amount_including_tax" disabled clearable
|
||||
placeholder="请输入含税金额" />
|
||||
<el-input v-model="formData.amount_including_tax" disabled clearable placeholder="请输入含税金额" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -81,11 +79,11 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="客户需求" prop="customer_require"
|
||||
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
|
||||
<el-input v-model="formData.customer_require" clearable placeholder="请输入客户需求" />
|
||||
<el-input v-model="formData.customer_require" clearable placeholder="请输入客户需求" type="textarea" />
|
||||
</el-form-item></el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" />
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -94,8 +92,11 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div style=" display: flex;justify-content: flex-end;margin-bottom: 30px;"> <el-button
|
||||
@click="showDialog1 = true">选择产品</el-button></div>
|
||||
<div style=" display: flex;justify-content: flex-end;margin-bottom: 30px;">
|
||||
<el-button @click="showDialog1 = true">选择产品</el-button>
|
||||
<ToolTip content="可在材料管理--材料设置--自购材料添加" url="/construction/material/material_set/material_list">
|
||||
</ToolTip>
|
||||
</div>
|
||||
|
||||
<div style="margin-bottom: 30px;">
|
||||
<el-table :data="formData.quotation_detail">
|
||||
@ -130,8 +131,7 @@
|
||||
|
||||
<el-table-column label="参数说明">
|
||||
|
||||
<template #default="{ row }"> <el-input v-model="row.product_parameter_description"
|
||||
disabled />
|
||||
<template #default="{ row }"> <el-input v-model="row.product_parameter_description" disabled />
|
||||
</template></el-table-column>
|
||||
<el-table-column label="单位">
|
||||
|
||||
@ -147,8 +147,8 @@
|
||||
<template #default="scope">
|
||||
<el-select class="flex-1" v-model="scope.row.tax_rate" clearable placeholder="请选择税率"
|
||||
@change="getTaxText(scope.$index)">
|
||||
<el-option v-for="(item, index) in dictData.tax_rate" :key="index"
|
||||
:label="item.name" :value="item.value" />
|
||||
<el-option v-for="(item, index) in dictData.tax_rate" :key="index" :label="item.name"
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -31,25 +31,24 @@
|
||||
<icon name="el-icon-Plus" />
|
||||
</template>
|
||||
新增
|
||||
<!-- :render-header="pager.calcWidth" -->
|
||||
|
||||
</el-button>
|
||||
<!-- <el-button v-perms="['quotation.quotation/delete']" :disabled="!selectData.length" @click="handleDelete(selectData)">
|
||||
删除
|
||||
</el-button> -->
|
||||
<div class="mt-4">
|
||||
<el-table border :data="pager.lists" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column label="序号" type="index" width="55" />
|
||||
<el-table-column label="客户名称" prop="custom_name" show-overflow-tooltip />
|
||||
<el-table-column label="报价单号" prop="code" :render-header="pager.calcWidth" />
|
||||
<el-table-column label="报价日期" prop="quotation_date" show-overflow-tooltip />
|
||||
<el-table-column label="联系人" prop="custom_master_name" show-overflow-tooltip />
|
||||
<el-table-column label="联系电话" prop="custom_master_phone" show-overflow-tooltip />
|
||||
<el-table-column label="制单人" prop="create_user" show-overflow-tooltip />
|
||||
<el-table-column label="发票类型" prop="invoice_type_text" show-overflow-tooltip />
|
||||
<el-table-column label="含税金额" prop="amount_including_tax" show-overflow-tooltip />
|
||||
<el-table-column label="运费" prop="freight" show-overflow-tooltip />
|
||||
<el-table-column label="其他费用" prop="other_fee" show-overflow-tooltip />
|
||||
<el-table-column label="合计金额" prop="total_amount" show-overflow-tooltip />
|
||||
<el-table-column :render-header="pager.calcWidth" label="客户名称" prop="custom_name" />
|
||||
<el-table-column :render-header="pager.calcWidth" label=" 报价单号" prop="code" />
|
||||
<el-table-column :render-header="pager.calcWidth" label=" 报价日期" prop="quotation_date" />
|
||||
<el-table-column :render-header="pager.calcWidth" label=" 联系人" prop="custom_master_name" />
|
||||
<el-table-column :render-header="pager.calcWidth" label=" 联系电话" prop="custom_master_phone" />
|
||||
<el-table-column :render-header="pager.calcWidth" label=" 制单人" prop="create_user" />
|
||||
<el-table-column :render-header="pager.calcWidth" label=" 发票类型" prop="invoice_type_text" />
|
||||
<el-table-column :render-header="pager.calcWidth" label=" 含税金额" prop="amount_including_tax" />
|
||||
<el-table-column :render-header="pager.calcWidth" label=" 运费" prop="freight" />
|
||||
<el-table-column :render-header="pager.calcWidth" label=" 其他费用" prop="other_fee" />
|
||||
<el-table-column :render-header="pager.calcWidth" label=" 合计金额" prop="total_amount" />
|
||||
<el-table-column label="操作" width="170" align="center" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button v-perms="['quotation.quotation/edit']" type="primary" link @click="handleEdit(row)">
|
||||
@ -146,5 +145,12 @@ const handleDetail = async (data: any) => {
|
||||
detailRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
|
||||
const calcWidth = ({ column }) => {
|
||||
column.width = 200
|
||||
console.log(column, 'data')
|
||||
return column.label
|
||||
}
|
||||
|
||||
getLists()
|
||||
</script>
|
||||
|
Loading…
x
Reference in New Issue
Block a user