This commit is contained in:
zmj 2024-04-10 16:23:55 +08:00
parent 38fdb640c6
commit fa33b3fa72
17 changed files with 293 additions and 239 deletions

View File

@ -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')

View File

@ -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;
},
});

View File

@ -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) => {

View File

@ -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

View File

@ -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">

View File

@ -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 }">

View File

@ -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>

View File

@ -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)) {

View File

@ -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)">

View File

@ -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">

View File

@ -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">

View File

@ -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>

View File

@ -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)">

View File

@ -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">

View File

@ -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>

View File

@ -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>

View File

@ -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>