This commit is contained in:
xd 2024-05-23 15:26:34 +08:00
parent 91c27681b9
commit 94df361816
6 changed files with 726 additions and 303 deletions

View File

@ -3,9 +3,9 @@ export default {
let resizeEvent = new CustomEvent('drag-resize',{detail:'尺寸变化',bubbles:false}); let resizeEvent = new CustomEvent('drag-resize',{detail:'尺寸变化',bubbles:false});
//初始化不最大化 //初始化不最大化
el.fullscreen = false; el.fullscreen = false;
// 弹框可拉伸最小宽高 //弹框可拉伸最小宽高
const minWidth = 1100 let minWidth = 400;
const minHeight = 570 let minHeight = 300;
//当前宽高 //当前宽高
let nowWidth = minWidth; let nowWidth = minWidth;
let nowHight = minHeight; let nowHight = minHeight;
@ -16,10 +16,7 @@ export default {
let hasSetBodyHight = false; let hasSetBodyHight = false;
//弹窗 //弹窗
const dragDom = el.querySelector('.el-dialog'); const dragDom = el.querySelector('.el-dialog');
el.style.overflow='initial'
dragDom.className += ' el-drag-dialog'; dragDom.className += ' el-drag-dialog';
// 给弹窗加上overflow auto不然缩小时框内的标签可能超出dialog
dragDom.style.overflow = 'auto'
//清除选择头部文字效果 //清除选择头部文字效果
dialogHeaderEl.onselectstart = new Function("return false"); dialogHeaderEl.onselectstart = new Function("return false");
//头部加上可拖动cursor //头部加上可拖动cursor
@ -82,13 +79,14 @@ export default {
i.classList.add('el-icon-full-screen'); i.classList.add('el-icon-full-screen');
maxMin.innerHTML = '<i class="el-icon-full-screen"></i>'; maxMin.innerHTML = '<i class="el-icon-full-screen"></i>';
maxMin.title = '最大化'; maxMin.title = '最大化';
dragDom.style.height = nowHight + 'px'; dragDom.style.height = "auto";
dragDom.style.width = nowWidth + 'px'; dragDom.style.width = nowWidth + 'px';
dragDom.style.marginTop = window.innerHeight*0.07+'px'; dragDom.style.marginTop = nowMarginTop;
el.fullscreen = false; el.fullscreen = false;
dialogHeaderEl.style.cursor = 'move'; dialogHeaderEl.style.cursor = 'move';
dialogHeaderEl.onmousedown = moveDown; dialogHeaderEl.onmousedown = moveDown;
//dragDom.querySelector('.el-dialog__body').style.height = bodyHeight; dragDom.querySelector('.el-dialog__body').style.height = bodyHeight;
dragDom.querySelector('.el-dialog__body').style.maxHeight = dragDom.style.height
hasSetBodyHight = false; hasSetBodyHight = false;
} else { } else {
let i = maxMin.querySelector('.el-icon-full-screen'); let i = maxMin.querySelector('.el-icon-full-screen');
@ -101,17 +99,17 @@ export default {
nowMarginTop = dragDom.style.marginTop; nowMarginTop = dragDom.style.marginTop;
dragDom.style.left = 0; dragDom.style.left = 0;
dragDom.style.top = 0; dragDom.style.top = 0;
dragDom.style.height = window.innerHeight + 'px' dragDom.style.height = "94VH";
dragDom.style.width = "100VW"; dragDom.style.width = "100VW";
dragDom.style.marginTop = 0; dragDom.style.marginTop = 0;
el.fullscreen = true; el.fullscreen = true;
dialogHeaderEl.style.cursor = 'initial'; dialogHeaderEl.style.cursor = 'initial';
dialogHeaderEl.onmousedown = null; dialogHeaderEl.onmousedown = null;
if (!hasSetBodyHight) { if (!hasSetBodyHight) {
const footerHeight = dragDom.querySelector('.el-dialog__footer') && dragDom.querySelector('.el-dialog__footer').offsetHeight let footerHeight = dragDom.querySelector('.el-dialog__footer') && dragDom.querySelector('.el-dialog__footer').offsetHeight;
dragDom.querySelector('.el-dialog__body').style.height = dragDom.querySelector('.el-dialog__body').style.height = 'calc(100% - ' + (dialogHeaderEl.offsetHeight + footerHeight) + 'px)';
'calc(100vh - 180px)' dragDom.querySelector('.el-dialog__body').style.maxHeight = dragDom.style.height
hasSetBodyHight = true hasSetBodyHight = true;
} }
} }
el.dispatchEvent(resizeEvent); el.dispatchEvent(resizeEvent);

View File

@ -149,9 +149,150 @@
/> />
<!-- 添加或修改客户管理对话框 --> <!-- 添加或修改客户管理对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1050px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="1050px" v-el-drag-dialog append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-tabs v-model="activeName" tab-position="left" style="margin-left: 15px; margin-right: 15px;height: 480px;"> <el-divider content-position="left" class="customer_divider_text">客户信息</el-divider>
<el-row :gutter="8">
<el-col :span="12">
<el-form-item label="客户编码" prop="cusCode">
<el-input v-model="form.cusCode" placeholder="系统自动生成" :disabled="true"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="SAP客户编码" prop="cusSapCode">
<el-input v-model="form.cusSapCode" placeholder="审批通过自动生成" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="12">
<el-form-item label="客户名称" prop="cusName">
<el-input v-model="form.cusName" placeholder="企查查带出" :disabled="true">
<el-button slot="append" icon="el-icon-search" @click="openQcc" v-hasPermi="['customer:customer:qcclist']"></el-button>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="街道/门牌号" prop="cusStreet">
<el-input v-model="form.cusStreet" placeholder="请输入街道/门牌号" :disabled="isDisSalesman"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="12">
<el-form-item label="街道" prop="cusQccStreet">
<el-input v-model="form.cusQccStreet" placeholder="企查查带出" :disabled="true"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="增值税号" prop="cusVatNo">
<el-input v-model="form.cusVatNo" placeholder="企查查带出" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="电话号码" prop="cusPhoneNumber">
<el-input v-model="form.cusPhoneNumber" placeholder="请输入电话号码" :disabled="isDisSalesman"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="客户组类别" prop="cusGroup">
<el-select v-model="form.cusGroup" placeholder="请选择客户组类别" style="width: 100%;" :disabled="isDisSalesman">
<el-option
v-for="dict in dict.type.cus_group"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="客户类型" prop="cusType">
<el-select v-model="form.cusType" placeholder="请选择客户类型" style="width: 100%;" :disabled="isDisSalesman">
<el-option
v-for="dict in dict.type.cus_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="国家" prop="cusCountry">
<el-select v-model="form.cusCountry" placeholder="请选择国家" style="width: 100%;" :disabled="isDisSalesman">
<el-option
v-for="item in countrysDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="语言" prop="cusLanguage">
<el-select v-model="form.cusLanguage" placeholder="请选择语言" style="width: 100%;" :disabled="isDisSalesman">
<el-option
v-for="item in languageDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row :gutter="8">
<el-col :span="8">
</el-col>
<el-col :span="8">
<el-form-item label="客户标签" prop="cusLabel">
<el-input v-model="form.cusLabel" placeholder="请输入客户标签" :disabled="isDisSalesman"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="客户分类" prop="cusClassification">
<el-input v-model="form.cusClassification" placeholder="请输入客户分类" :disabled="isDisSalesman"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="电子发票邮箱" prop="cusReceivingEmail">
<el-input v-model="form.cusReceivingEmail" placeholder="请输入电子发票接收邮箱" :disabled="isDisSalesman"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="收件人" prop="cusRecipient">
<el-input v-model="form.cusRecipient" placeholder="请输入收件人" :disabled="isDisSalesman"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="收件人电话" prop="cusRecipientPhone">
<el-input v-model="form.cusRecipientPhone" placeholder="请输入收件人电话" :disabled="isDisSalesman"/>
</el-form-item>
</el-col>
</el-row>-->
<el-row :gutter="8">
<el-col :span="24">
<el-form-item label="备注" prop="cusRemark">
<el-input type="textarea" autosize v-model="form.cusRemark" placeholder="请输入备注" :disabled="isDisSalesman"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24">
<el-form-item label="驳回备注" prop="cusReturnRemark">
<el-input type="textarea" autosize v-model="form.cusReturnRemark" placeholder="数据组填写"/>
</el-form-item>
</el-col>
</el-row>
<!--<el-tabs v-model="activeName" tab-position="left" style="margin-left: 15px; margin-right: 15px;height: 480px;">
<el-tab-pane label="基本信息" name="customerInfo"> <el-tab-pane label="基本信息" name="customerInfo">
<el-row :gutter="8"> <el-row :gutter="8">
<el-col :span="12"> <el-col :span="12">
@ -248,7 +389,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<!-- <el-row :gutter="8"> &lt;!&ndash; <el-row :gutter="8">
<el-col :span="8"> <el-col :span="8">
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -278,7 +419,7 @@
<el-input v-model="form.cusRecipientPhone" placeholder="请输入收件人电话" :disabled="isDisSalesman"/> <el-input v-model="form.cusRecipientPhone" placeholder="请输入收件人电话" :disabled="isDisSalesman"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>--> </el-row>&ndash;&gt;
<el-row :gutter="8"> <el-row :gutter="8">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注" prop="cusRemark"> <el-form-item label="备注" prop="cusRemark">
@ -448,8 +589,163 @@
</el-col> </el-col>
</el-row> </el-row>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>-->
</el-form> </el-form>
<el-divider content-position="left" class="customer_divider_text">银行信息</el-divider>
<el-row class="mb8" :gutter="8">
<el-col :span="1.5">
<div v-hasPermi="['customer:customer:bankAdd']">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddBank" v-if="buttonShowSalesman">添加</el-button>
</div>
</el-col>
<el-col :span="1.5">
<div v-hasPermi="['customer:customer:bankDel']">
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteBank" v-if="buttonShowSalesman">删除</el-button>
</div>
</el-col>
</el-row>
<el-table :data="bankList" @selection-change="handleBankSelectionChange" ref="bank">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="国家" prop="bankCountry" v-if="checkRole(['ITZX_SJZ'])">
<template slot-scope="scope">
<el-input v-model="scope.row.bankCountry" placeholder="选择银行代码自动带出" :disabled="true"/>
</template>
</el-table-column>
<el-table-column label="银行代码" prop="bankCode" v-if="checkRole(['ITZX_SJZ'])">
<template slot-scope="scope">
<el-input v-model="scope.row.bankCode" placeholder="请输入银行代码" :disabled="true" >
<i v-if="!isDisSjz" slot="suffix" class="el-input__icon el-icon-search" @click="handleSearchBankCode(scope)"></i>
</el-input>
</template>
</el-table-column>
<el-table-column label="银行名称" prop="bankName">
<template slot-scope="scope">
<el-input v-model="scope.row.bankName" placeholder="请输入银行名称" :disabled="isDisSalesman"/>
</template>
</el-table-column>
<el-table-column label="银行账户" prop="bankAccount">
<template slot-scope="scope">
<el-input v-model="scope.row.bankAccount" placeholder="请输入银行账户" :disabled="isDisSalesman" />
</template>
</el-table-column>
</el-table>
<el-divider content-position="left" class="customer_divider_text">销售数据</el-divider>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="付款条件" prop="cusPaymentTerms">
<el-select v-model="form.cusPaymentTerms" placeholder="请选择付款条件" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in paymentTermsDicts"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="行业代码" prop="cusIndustryCode">
<el-select v-model="form.cusIndustryCode" placeholder="请选择行业代码" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in industryCodeDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="销售地区" prop="cusSalesTerritory">
<el-select v-model="form.cusSalesTerritory" placeholder="请选择销售地区" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in salesTerritoryDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="销售组织" prop="cusSalesOrganization">
<el-select v-model="form.cusSalesOrganization" placeholder="请选择销售组织" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in salesOrganizationDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="分销渠道" prop="cusDistributionChannel">
<el-select v-model="form.cusDistributionChannel" placeholder="请选择分销渠道" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in distributionChannelDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="销售办公室" prop="cusSaleOffice">
<el-select v-model="form.cusSaleOffice" placeholder="请选择销售办公室" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in saleOfficeDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="币种" prop="cusCurrency">
<el-select v-model="form.cusCurrency" placeholder="请选择币种" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="dict in dict.type.cus_currency"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="客户税分类" prop="cusTax">
<el-select v-model="form.cusTax" placeholder="请选择客户税" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in taxDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="统驭科目" prop="cusReconciliationAccount">
<el-select v-model="form.cusReconciliationAccount" placeholder="请选择统驭科目" style="width: 100%;" :disabled="isDisSjz">
<el-option
v-for="item in reconciliationAccountDicts"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<span v-hasPermi="['customer:customer:save']"> <span v-hasPermi="['customer:customer:save']">
<el-button @click="saveForm" v-if="buttonShowSalesman"> </el-button> <el-button @click="saveForm" v-if="buttonShowSalesman"> </el-button>
@ -544,7 +840,13 @@
font-size: 14px; font-size: 14px;
word-break: break-all; word-break: break-all;
overflow-y: auto; /* 自动显示垂直滚动条 */ overflow-y: auto; /* 自动显示垂直滚动条 */
max-height: 560px; /* 设置最大高度,根据需要调整 */ max-height: 580px; /* 设置最大高度,根据需要调整 */
}
/** divider 文本样式 */
.customer_divider_text .el-divider__text{
color: #1890ff;
font-size: 18px;
font-weight: 600;
} }
</style> </style>
<script> <script>
@ -552,6 +854,9 @@ import { listCustomer, getCustomer, delCustomer,changCusStatus, addCustomer, upd
import { checkPermi, checkRole } from "@/utils/permission"; // import { checkPermi, checkRole } from "@/utils/permission"; //
import { bankCodeList,getCountrys,getIndustryCode,getLanguage,getPaymentTerms,getSalesOrganization,getDistributionChannel,getSalesTerritory,getSaleOffice,getTax,getReconciliationAccount } from "@/api/common/sapRfc";// sap-rfc import { bankCodeList,getCountrys,getIndustryCode,getLanguage,getPaymentTerms,getSalesOrganization,getDistributionChannel,getSalesTerritory,getSaleOffice,getTax,getReconciliationAccount } from "@/api/common/sapRfc";// sap-rfc
/** 弹窗放大、拖拽 */
import elDragDialog from "@/directive/dialog/dragDialog";
// - // -
const validateCusPaymentTerms = (rule, value, callback) => { const validateCusPaymentTerms = (rule, value, callback) => {
if (!value) { if (!value) {
@ -603,6 +908,9 @@ const validateCusReconciliationAccount = (rule, value, callback) => {
export default { export default {
name: "Customer", name: "Customer",
directives: {
elDragDialog,
},
dicts: ['cus_currency','cus_group','cus_approval_status', 'cus_type', 'common_state'], dicts: ['cus_currency','cus_group','cus_approval_status', 'cus_type', 'common_state'],
data() { data() {
return { return {

View File

@ -1,7 +1,8 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="1000px" v-el-drag-dialog append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="150px"> <el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-divider content-position="left" class="customer_divider_text">核价信息</el-divider>
<el-row :gutter="8"> <el-row :gutter="8">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="核价单号" prop="quotHjCode"> <el-form-item label="核价单号" prop="quotHjCode">
@ -131,9 +132,9 @@
</el-col> </el-col>
</el-row> </el-row>
<el-divider content-position="left" class="customer_divider_text">技术协助</el-divider>
<div v-if="showTl"> <div v-if="showTl">
<el-divider content-position="center">技术协助-特缆协助</el-divider> <el-divider content-position="center">特缆协助</el-divider>
<el-row :gutter="8"> <el-row :gutter="8">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="特缆协助状态" prop="quotJsqrTlApprovalStatus"> <el-form-item label="特缆协助状态" prop="quotJsqrTlApprovalStatus">
@ -162,7 +163,7 @@
</el-row> </el-row>
</div> </div>
<div v-if="showDy"> <div v-if="showDy">
<el-divider content-position="center">技术协助-低压协助</el-divider> <el-divider content-position="center">低压协助</el-divider>
<el-row :gutter="8"> <el-row :gutter="8">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="低压协助状态" prop="quotJsqrDyApprovalStatus"> <el-form-item label="低压协助状态" prop="quotJsqrDyApprovalStatus">
@ -191,7 +192,7 @@
</el-row> </el-row>
</div> </div>
<div v-if="showZy"> <div v-if="showZy">
<el-divider content-position="center">技术协助-中压协助</el-divider> <el-divider content-position="center">中压协助</el-divider>
<el-row :gutter="8"> <el-row :gutter="8">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="中压协助状态" prop="quotJsqrZyApprovalStatus"> <el-form-item label="中压协助状态" prop="quotJsqrZyApprovalStatus">
@ -220,7 +221,7 @@
</el-row> </el-row>
</div> </div>
<div v-if="showQt"> <div v-if="showQt">
<el-divider content-position="center">技术协助-其他协助</el-divider> <el-divider content-position="center">其他协助</el-divider>
<el-row :gutter="8"> <el-row :gutter="8">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="其他协助状态" prop="quotJsqrQtApprovalStatus"> <el-form-item label="其他协助状态" prop="quotJsqrQtApprovalStatus">
@ -291,6 +292,13 @@
height: 500px; height: 500px;
max-height: 580px; /** 设置最大高度,根据需要调整 */ max-height: 580px; /** 设置最大高度,根据需要调整 */
} }
/** divider 文本样式 */
.customer_divider_text .el-divider__text{
color: #1890ff;
font-size: 18px;
font-weight: 600;
}
</style> </style>
<style> <style>
/* 日期空间宽度设置 */ /* 日期空间宽度设置 */

View File

@ -143,19 +143,19 @@
/> />
<!-- 添加或修改报价对话框 --> <!-- 添加或修改报价对话框 -->
<el-dialog :visible.sync="open" width="1050px" append-to-body> <el-dialog :visible.sync="open" width="1050px" v-el-drag-dialog append-to-body>
<template slot="title"> <template slot="title">
报价单信息<span style="color:red;margin-left:25px">(此报价单数据型号规格电压等如需下单或签订合同引用请再次自行核对责任自负)</span> 报价单信息<span style="color:red;margin-left:25px">(此报价单数据型号规格电压等如需下单或签订合同引用请再次自行核对责任自负)</span>
</template> </template>
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
<!--<el-divider content-position="center">报价信息</el-divider> <el-divider content-position="left" class="customer_divider_text">报价信息</el-divider>
<el-row :gutter="8"> <el-row :gutter="8">
<el-col :span="8"> <el-col :span="10">
<el-form-item label="报价单号" prop="quotCode"> <el-form-item label="报价单号" prop="quotCode">
<el-input v-model="form.quotCode" placeholder="系统自动生成" :disabled="true"/> <el-input v-model="form.quotCode" placeholder="系统自动生成" :disabled="true"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="6">
<el-form-item label="业务员" prop="quotSalesmanName"> <el-form-item label="业务员" prop="quotSalesmanName">
<el-input v-model="form.quotSalesmanName" :disabled="true"/> <el-input v-model="form.quotSalesmanName" :disabled="true"/>
<el-input v-model="form.quotSalesmanBm" v-if="false"/> <el-input v-model="form.quotSalesmanBm" v-if="false"/>
@ -250,7 +250,7 @@
</el-col> </el-col>
</el-row> </el-row>
<el-divider content-position="center">产品信息</el-divider> <el-divider content-position="left" class="customer_divider_text">产品信息</el-divider>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddQuotMaterial" v-if="this.form.quotApprovalStatus == '0' || this.form.quotApprovalStatus == null">添加</el-button> <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddQuotMaterial" v-if="this.form.quotApprovalStatus == '0' || this.form.quotApprovalStatus == null">添加</el-button>
@ -262,7 +262,7 @@
<el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport" v-if="this.form.quotApprovalStatus == '0' || this.form.quotApprovalStatus == null">导入</el-button> <el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport" v-if="this.form.quotApprovalStatus == '0' || this.form.quotApprovalStatus == null">导入</el-button>
</el-col> </el-col>
</el-row> </el-row>
<el-table :data="quotMaterialList" show-summary :summary-method="getSummaries" :row-class-name="rowQuotMaterialIndex" @selection-change="handleQuotMaterialSelectionChange" ref="quotMaterial"> <el-table :data="quotMaterialList" height="300px" show-summary :summary-method="getSummaries" :row-class-name="rowQuotMaterialIndex" @selection-change="handleQuotMaterialSelectionChange" ref="quotMaterial">
<el-table-column type="selection" width="80" align="center" /> <el-table-column type="selection" width="80" align="center" />
<el-table-column label="序号" align="center" prop="index" width="50"/> <el-table-column label="序号" align="center" prop="index" width="50"/>
<el-table-column label="型号" prop="matXingh"> <el-table-column label="型号" prop="matXingh">
@ -292,7 +292,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-divider content-position="center">询价附件</el-divider> <el-divider content-position="left" class="customer_divider_text">询价附件</el-divider>
<div v-hasPermi="['quot:quot:quotXjFile']"> <div v-hasPermi="['quot:quot:quotXjFile']">
<el-upload class="upload-demo" <el-upload class="upload-demo"
ref="upload" ref="upload"
@ -328,7 +328,8 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-divider content-position="center">技术协助</el-divider> <div v-if="checkPermi(['quot:quot:assist'])">
<el-divider content-position="left" class="customer_divider_text">技术协助</el-divider>
<el-row :gutter="8"> <el-row :gutter="8">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="标准" prop="quotJsxzStandard"> <el-form-item label="标准" prop="quotJsxzStandard">
@ -552,8 +553,10 @@
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
</div>
<el-divider content-position="center">核价协助</el-divider> <div v-if="checkPermi(['quot:quot:assistHj'])">
<el-divider content-position="left" class="customer_divider_text">核价协助</el-divider>
<el-row :gutter="8"> <el-row :gutter="8">
<el-col :span="10"> <el-col :span="10">
<el-form-item label="核价单号" prop="quotHjCode"> <el-form-item label="核价单号" prop="quotHjCode">
@ -614,8 +617,9 @@
</el-table> </el-table>
</el-col> </el-col>
</el-row> </el-row>
</div>
<el-divider content-position="center">反馈附件</el-divider> <el-divider content-position="left" class="customer_divider_text">反馈附件</el-divider>
<div v-hasPermi="['quot:quot:quotFkFile']"> <div v-hasPermi="['quot:quot:quotFkFile']">
<el-upload class="upload-demo" <el-upload class="upload-demo"
ref="upload" ref="upload"
@ -647,8 +651,8 @@
<el-button size="small" type="text" @click="deleteFile(scope.row.fileId)" v-if="form.quotApprovalStatus == '1'">删除</el-button> <el-button size="small" type="text" @click="deleteFile(scope.row.fileId)" v-if="form.quotApprovalStatus == '1'">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table>--> </el-table>
<el-tabs v-model="activeName" tab-position="left" style="margin-left: 15px; margin-right: 15px;height: 480px;"> <!--<el-tabs v-model="activeName" tab-position="left" style="margin-left: 15px; margin-right: 15px;height: 480px;">
<el-tab-pane label="报价信息" name="quotInfo"> <el-tab-pane label="报价信息" name="quotInfo">
<el-row :gutter="8"> <el-row :gutter="8">
<el-col :span="10"> <el-col :span="10">
@ -1147,7 +1151,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>-->
<!-- 特缆中压低压其他协助反馈附件对话框 --> <!-- 特缆中压低压其他协助反馈附件对话框 -->
<el-dialog custom-class="fkfjDialog" :title="addFileTitle" :visible.sync="addFileOpen" width="800px" append-to-body> <el-dialog custom-class="fkfjDialog" :title="addFileTitle" :visible.sync="addFileOpen" width="800px" append-to-body>
<!--<el-upload class="upload-demo" <!--<el-upload class="upload-demo"
@ -1240,15 +1244,19 @@
font-size: 14px; font-size: 14px;
word-break: break-all; word-break: break-all;
overflow-y: auto; /** 自动显示垂直滚动条 */ overflow-y: auto; /** 自动显示垂直滚动条 */
height: 500px;
max-height: 580px; /** 设置最大高度,根据需要调整 */ max-height: 580px; /** 设置最大高度,根据需要调整 */
} }
/** divider 文本样式 */
.customer_divider_text .el-divider__text{
color: #1890ff;
font-size: 18px;
font-weight: 600;
}
/*Tab页设置 */ /*Tab页设置 */
.el-tabs__content { .el-tabs__content {
height: 100%; height: 100%;
overflow-y: auto; overflow-y: auto;
} }
/* 日期控件宽度设置 */ /* 日期控件宽度设置 */
:deep(.el-p .el-input__wrapper){ :deep(.el-p .el-input__wrapper){
width: 100% !important; width: 100% !important;

View File

@ -160,6 +160,17 @@
/> />
</div> </div>
</template> </template>
<style>
/** 弹窗设置 */
.el-dialog__body {
padding: 10px 10px;
color: #606266;
font-size: 14px;
word-break: break-all;
overflow-y: auto; /** 自动显示垂直滚动条 */
max-height: 580px; /** 设置最大高度,根据需要调整 */
}
</style>
<style> <style>
.totalPrice-input .el-input__inner { .totalPrice-input .el-input__inner {
color: red; color: red;

View File

@ -1,7 +1,8 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="1000px" v-el-drag-dialog append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="150px"> <el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-divider content-position="left" class="customer_divider_text">技术确认信息</el-divider>
<el-row :gutter="8"> <el-row :gutter="8">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="技术确认单编号" prop="quotJsqrCode"> <el-form-item label="技术确认单编号" prop="quotJsqrCode">
@ -151,7 +152,14 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="特缆操作时间" prop="quotJsqrTlOperateTime"> <el-form-item label="特缆操作时间" prop="quotJsqrTlOperateTime">
<el-input v-model="form.quotJsqrTlOperateTime" :disabled="true"/> <div class="el-p" style="width:100%">
<el-date-picker
style="width:100%"
v-model="form.quotJsqrTlOperateTime"
type="datetime"
:disabled="true">
</el-date-picker>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -175,7 +183,14 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="特缆审核时间" prop="quotJsqrTlCheckTime"> <el-form-item label="特缆审核时间" prop="quotJsqrTlCheckTime">
<el-input v-model="form.quotJsqrTlCheckTime" :disabled="true"/> <div class="el-p" style="width:100%">
<el-date-picker
style="width:100%"
v-model="form.quotJsqrTlCheckTime"
type="datetime"
:disabled="true">
</el-date-picker>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -206,7 +221,14 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="特缆组长确认时间" prop="quotJsqrTlLeaderTime"> <el-form-item label="特缆组长确认时间" prop="quotJsqrTlLeaderTime">
<el-input v-model="form.quotJsqrTlLeaderTime" :disabled="true"/> <div class="el-p" style="width:100%">
<el-date-picker
style="width:100%"
v-model="form.quotJsqrTlLeaderTime"
type="datetime"
:disabled="true">
</el-date-picker>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -281,7 +303,14 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="低压操作时间" prop="quotJsqrDyOperateTime"> <el-form-item label="低压操作时间" prop="quotJsqrDyOperateTime">
<el-input v-model="form.quotJsqrDyOperateTime" :disabled="true"/> <div class="el-p" style="width:100%">
<el-date-picker
style="width:100%"
v-model="form.quotJsqrDyOperateTime"
type="datetime"
:disabled="true">
</el-date-picker>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -305,7 +334,14 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="低压审核时间" prop="quotJsqrDyCheckTime"> <el-form-item label="低压审核时间" prop="quotJsqrDyCheckTime">
<el-input v-model="form.quotJsqrDyCheckTime" :disabled="true"/> <div class="el-p" style="width:100%">
<el-date-picker
style="width:100%"
v-model="form.quotJsqrDyCheckTime"
type="datetime"
:disabled="true">
</el-date-picker>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -336,7 +372,14 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="低压组长确认时间" prop="quotJsqrDyLeaderTime"> <el-form-item label="低压组长确认时间" prop="quotJsqrDyLeaderTime">
<el-input v-model="form.quotJsqrDyLeaderTime" :disabled="true"/> <div class="el-p" style="width:100%">
<el-date-picker
style="width:100%"
v-model="form.quotJsqrDyLeaderTime"
type="datetime"
:disabled="true">
</el-date-picker>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -411,7 +454,14 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="中压操作时间" prop="quotJsqrZyOperateTime"> <el-form-item label="中压操作时间" prop="quotJsqrZyOperateTime">
<el-input v-model="form.quotJsqrZyOperateTime" :disabled="true"/> <div class="el-p" style="width:100%">
<el-date-picker
style="width:100%"
v-model="form.quotJsqrZyOperateTime"
type="datetime"
:disabled="true">
</el-date-picker>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -435,7 +485,14 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="中压审核时间" prop="quotJsqrZyCheckTime"> <el-form-item label="中压审核时间" prop="quotJsqrZyCheckTime">
<el-input v-model="form.quotJsqrZyCheckTime" :disabled="true"/> <div class="el-p" style="width:100%">
<el-date-picker
style="width:100%"
v-model="form.quotJsqrZyCheckTime"
type="datetime"
:disabled="true">
</el-date-picker>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -466,7 +523,14 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="中压组长确认时间" prop="quotJsqrZyLeaderTime"> <el-form-item label="中压组长确认时间" prop="quotJsqrZyLeaderTime">
<el-input v-model="form.quotJsqrZyLeaderTime" :disabled="true"/> <div class="el-p" style="width:100%">
<el-date-picker
style="width:100%"
v-model="form.quotJsqrZyLeaderTime"
type="datetime"
:disabled="true">
</el-date-picker>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -541,7 +605,14 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="其他操作时间" prop="quotJsqrQtOperateTime"> <el-form-item label="其他操作时间" prop="quotJsqrQtOperateTime">
<el-input v-model="form.quotJsqrQtOperateTime" :disabled="true"/> <div class="el-p" style="width:100%">
<el-date-picker
style="width:100%"
v-model="form.quotJsqrQtOperateTime"
type="datetime"
:disabled="true">
</el-date-picker>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -565,7 +636,14 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="其他审核时间" prop="quotJsqrQtCheckTime"> <el-form-item label="其他审核时间" prop="quotJsqrQtCheckTime">
<el-input v-model="form.quotJsqrQtCheckTime" :disabled="true"/> <div class="el-p" style="width:100%">
<el-date-picker
style="width:100%"
v-model="form.quotJsqrQtCheckTime"
type="datetime"
:disabled="true">
</el-date-picker>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -596,7 +674,14 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="其他组长确认时间" prop="quotJsqrQtLeaderTime"> <el-form-item label="其他组长确认时间" prop="quotJsqrQtLeaderTime">
<el-input v-model="form.quotJsqrQtLeaderTime" :disabled="true"/> <div class="el-p" style="width:100%">
<el-date-picker
style="width:100%"
v-model="form.quotJsqrQtLeaderTime"
type="datetime"
:disabled="true">
</el-date-picker>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -674,9 +759,14 @@
font-size: 14px; font-size: 14px;
word-break: break-all; word-break: break-all;
overflow-y: auto; /** 自动显示垂直滚动条 */ overflow-y: auto; /** 自动显示垂直滚动条 */
height: 500px;
max-height: 580px; /** 设置最大高度,根据需要调整 */ max-height: 580px; /** 设置最大高度,根据需要调整 */
} }
/** divider 文本样式 */
.customer_divider_text .el-divider__text{
color: #1890ff;
font-size: 18px;
font-weight: 600;
}
</style> </style>
<style> <style>
/* 特缆、中压、低压、其他协助反馈附件对话框设置 */ /* 特缆、中压、低压、其他协助反馈附件对话框设置 */