|
@@ -2,593 +2,273 @@
|
|
|
<div class="borderless" v-loading="pageLoading">
|
|
|
<div class="customer-head">
|
|
|
<div class="customer-back">
|
|
|
- <el-button
|
|
|
- type="danger"
|
|
|
- style="border: none;background: none;color: red"
|
|
|
- icon="el-icon-arrow-left"
|
|
|
- @click="backToList"
|
|
|
- >返回列表
|
|
|
+ <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
|
|
|
+ @click="backToList">返回列表
|
|
|
</el-button>
|
|
|
</div>
|
|
|
<div class="add-customer-btn" v-if="showBut">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- size="small"
|
|
|
- v-if="detailData.status == 1"
|
|
|
- class="el-button--small-yh "
|
|
|
- @click.stop="openEdit"
|
|
|
- >编辑
|
|
|
+ <el-button type="primary" size="small" v-if="detailData.status == 1" class="el-button--small-yh "
|
|
|
+ @click.stop="openEdit">编辑
|
|
|
</el-button>
|
|
|
- <el-button type="info" @click="saveSell" size="small"
|
|
|
- >生成销售单</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- type="success"
|
|
|
- :disabled="!form.id"
|
|
|
- size="small"
|
|
|
- @click="copyDoc"
|
|
|
- >
|
|
|
+ <el-button type="info" @click="saveSell" size="small">生成销售单</el-button>
|
|
|
+ <el-button type="success" :disabled="!form.id" size="small" @click="copyDoc">
|
|
|
复制单据
|
|
|
</el-button>
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- :disabled="disabled"
|
|
|
- @click="editCustomer"
|
|
|
- :loading="subLoading"
|
|
|
- v-if="detailData.status != 1"
|
|
|
- size="small"
|
|
|
- >保存数据
|
|
|
+ <el-button type="primary" :disabled="disabled" @click="editCustomer" :loading="subLoading"
|
|
|
+ v-if="detailData.status != 1" size="small">保存数据
|
|
|
</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="customer-main">
|
|
|
- <containerTitle title="基础信息"></containerTitle>
|
|
|
- <basic-container :showBtn="true">
|
|
|
- <avue-form
|
|
|
- ref="form"
|
|
|
- class="trading-form"
|
|
|
- v-model="form"
|
|
|
- :option="option"
|
|
|
- >
|
|
|
+ <trade-card title="基础信息">
|
|
|
+ <avue-form ref="form" class="trading-form" v-model="form" :option="option">
|
|
|
<template slot="portOfLoad">
|
|
|
- <port-info
|
|
|
- v-model="form.portOfLoad"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- />
|
|
|
+ <port-info v-model="form.portOfLoad" :disabled="detailData.status == 1" />
|
|
|
</template>
|
|
|
<template slot="portOfDestination">
|
|
|
- <port-info
|
|
|
- v-model="form.portOfDestination"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- />
|
|
|
+ <port-info v-model="form.portOfDestination" :disabled="detailData.status == 1" />
|
|
|
</template>
|
|
|
<template slot="corpId">
|
|
|
- <crop-select
|
|
|
- v-model="form.corpId"
|
|
|
- @getCorpData="getCorpData"
|
|
|
- corpType="KH"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- ></crop-select>
|
|
|
+ <crop-select v-model="form.corpId" @getCorpData="getCorpData" corpType="KH"
|
|
|
+ :disabled="detailData.status == 1"></crop-select>
|
|
|
</template>
|
|
|
<template slot="corpId2">
|
|
|
- <details-select
|
|
|
- :value="form.clientMessage"
|
|
|
- :obj="form"
|
|
|
- @detailsDate="detailsDate"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- ></details-select>
|
|
|
+ <details-select :value="form.clientMessage" :obj="form" @detailsDate="detailsDate"
|
|
|
+ :disabled="detailData.status == 1"></details-select>
|
|
|
</template>
|
|
|
<template slot="corpAttn">
|
|
|
- <el-select
|
|
|
- size="small"
|
|
|
- v-model="form.corpAttn"
|
|
|
- placeholder="请选择"
|
|
|
- @change="corpAttnChange"
|
|
|
- clearable
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in corpsattns"
|
|
|
- :key="item.id"
|
|
|
- :label="item.cname"
|
|
|
- :value="item.cname"
|
|
|
- >
|
|
|
+ <el-select size="small" v-model="form.corpAttn" placeholder="请选择" @change="corpAttnChange" clearable
|
|
|
+ :disabled="detailData.status == 1">
|
|
|
+ <el-option v-for="item in corpsattns" :key="item.id" :label="item.cname" :value="item.cname">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
<template slot="belongToCorpId">
|
|
|
- <crop-select
|
|
|
- v-model="form.belongToCorpId"
|
|
|
- corpType="GS"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- ></crop-select>
|
|
|
+ <crop-select v-model="form.belongToCorpId" corpType="GS" :disabled="detailData.status == 1"></crop-select>
|
|
|
</template>
|
|
|
<template slot="priceTerms">
|
|
|
- <el-select
|
|
|
- size="small"
|
|
|
- v-model="form.priceTerms"
|
|
|
- placeholder="请选择"
|
|
|
- @change="priceTermsChange"
|
|
|
- clearable
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in priceTermsList"
|
|
|
- :key="item.id"
|
|
|
- :label="item.dictValue"
|
|
|
- :value="item.dictValue"
|
|
|
- >
|
|
|
+ <el-select size="small" v-model="form.priceTerms" placeholder="请选择" @change="priceTermsChange" clearable
|
|
|
+ :disabled="detailData.status == 1">
|
|
|
+ <el-option v-for="item in priceTermsList" :key="item.id" :label="item.dictValue" :value="item.dictValue">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
<template slot="paymentType">
|
|
|
- <el-select
|
|
|
- size="small"
|
|
|
- v-model="form.paymentType"
|
|
|
- placeholder="请选择"
|
|
|
- @change="paymentTypeChange"
|
|
|
- clearable
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in paymentTermList"
|
|
|
- :key="item.id"
|
|
|
- :label="item.dictValue"
|
|
|
- :value="item.dictValue"
|
|
|
- >
|
|
|
+ <el-select size="small" v-model="form.paymentType" placeholder="请选择" @change="paymentTypeChange" clearable
|
|
|
+ :disabled="detailData.status == 1">
|
|
|
+ <el-option v-for="item in paymentTermList" :key="item.id" :label="item.dictValue" :value="item.dictValue">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
<template slot="businesDate">
|
|
|
- <el-date-picker
|
|
|
- v-model="form.businesDate"
|
|
|
- type="date"
|
|
|
- format="yyyy-MM-dd"
|
|
|
- value-format="yyyy-MM-dd 00:00:00"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- @change="businesDateChange"
|
|
|
- >
|
|
|
+ <el-date-picker v-model="form.businesDate" type="date" format="yyyy-MM-dd"
|
|
|
+ value-format="yyyy-MM-dd 00:00:00" :disabled="detailData.status == 1" @change="businesDateChange">
|
|
|
</el-date-picker>
|
|
|
</template>
|
|
|
<template slot="currency">
|
|
|
- <el-select
|
|
|
- size="small"
|
|
|
- v-model="form.currency"
|
|
|
- placeholder="请选择"
|
|
|
- @change="currencyChange"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- clearable
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in currencyList"
|
|
|
- :key="item.id"
|
|
|
- :label="item"
|
|
|
- :value="item"
|
|
|
- >
|
|
|
+ <el-select size="small" v-model="form.currency" placeholder="请选择" @change="currencyChange"
|
|
|
+ :disabled="detailData.status == 1" clearable>
|
|
|
+ <el-option v-for="item in currencyList" :key="item.id" :label="item" :value="item">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
<template slot="exchangeRate">
|
|
|
- <el-input
|
|
|
- size="small"
|
|
|
- v-model="form.exchangeRate"
|
|
|
+ <el-input size="small" v-model="form.exchangeRate"
|
|
|
oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
|
|
- placeholder="请输入 汇率"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- @change="exchangeRateChange"
|
|
|
- />
|
|
|
+ placeholder="请输入 汇率" :disabled="detailData.status == 1" @change="exchangeRateChange" />
|
|
|
</template>
|
|
|
<template slot="boxPile">
|
|
|
- <el-select
|
|
|
- size="small"
|
|
|
- v-model="form.boxPile"
|
|
|
- placeholder="请选择"
|
|
|
- clearable
|
|
|
- filterable
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in allBoxs"
|
|
|
- :key="item.id"
|
|
|
- :label="item.name"
|
|
|
- :value="item.name"
|
|
|
- >
|
|
|
+ <el-select size="small" v-model="form.boxPile" placeholder="请选择" clearable filterable
|
|
|
+ :disabled="detailData.status == 1">
|
|
|
+ <el-option v-for="item in allBoxs" :key="item.id" :label="item.name" :value="item.name">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
<template slot="boxNumber">
|
|
|
- <el-input
|
|
|
- size="small"
|
|
|
- v-model="form.boxNumber"
|
|
|
+ <el-input size="small" v-model="form.boxNumber"
|
|
|
oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
|
|
- placeholder="请输入 箱量"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- />
|
|
|
+ placeholder="请输入 箱量" :disabled="detailData.status == 1" />
|
|
|
</template>
|
|
|
<template slot="minOrder">
|
|
|
- <el-input
|
|
|
- size="small"
|
|
|
- v-model="form.minOrder"
|
|
|
+ <el-input size="small" v-model="form.minOrder"
|
|
|
oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
|
|
- placeholder="请输入 起订量"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- />
|
|
|
+ placeholder="请输入 起订量" :disabled="detailData.status == 1" />
|
|
|
</template>
|
|
|
<template slot="predictOceanFreight">
|
|
|
- <el-input
|
|
|
- size="small"
|
|
|
- v-model="form.predictOceanFreight"
|
|
|
+ <el-input size="small" v-model="form.predictOceanFreight"
|
|
|
oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
|
|
- placeholder="请输入 预计海运费"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- />
|
|
|
+ placeholder="请输入 预计海运费" :disabled="detailData.status == 1" />
|
|
|
</template>
|
|
|
<template slot="referenceOceanFreight">
|
|
|
- <el-input
|
|
|
- size="small"
|
|
|
- v-model="form.referenceOceanFreight"
|
|
|
+ <el-input size="small" v-model="form.referenceOceanFreight"
|
|
|
oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
|
|
- placeholder="请输入 参考海运费"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- />
|
|
|
+ placeholder="请输入 参考海运费" :disabled="detailData.status == 1" />
|
|
|
</template>
|
|
|
<template slot="oceanFreight">
|
|
|
- <el-input
|
|
|
- size="small"
|
|
|
- v-model="form.oceanFreight"
|
|
|
+ <el-input size="small" v-model="form.oceanFreight"
|
|
|
oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
|
|
- placeholder="请输入 实际海运费"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- />
|
|
|
+ placeholder="请输入 实际海运费" :disabled="detailData.status == 1" />
|
|
|
</template>
|
|
|
</avue-form>
|
|
|
- </basic-container>
|
|
|
- <containerTitle title="商品信息"></containerTitle>
|
|
|
- <basic-container>
|
|
|
- <avue-crud
|
|
|
- ref="crud"
|
|
|
- :data="data"
|
|
|
- :option="tableOption"
|
|
|
- @row-del="rowDel"
|
|
|
- :summary-method="summaryMethod"
|
|
|
- @saveColumn="saveColumn"
|
|
|
- @resetColumn="resetColumn"
|
|
|
- :cell-style="cellStyle"
|
|
|
- >
|
|
|
+ </trade-card>
|
|
|
+ <trade-card title="商品信息">
|
|
|
+ <avue-crud ref="crud" :data="data" :option="tableOption" @row-del="rowDel" :summary-method="summaryMethod"
|
|
|
+ @saveColumn="saveColumn" @resetColumn="resetColumn" :cell-style="cellStyle">
|
|
|
<template slot="headerSerial">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- icon="el-icon-plus"
|
|
|
- size="mini"
|
|
|
- @click.stop="addRow"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- circle
|
|
|
- ></el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-plus" size="mini" @click.stop="addRow"
|
|
|
+ :disabled="detailData.status == 1" circle></el-button>
|
|
|
</template>
|
|
|
<template slot="menuLeft">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- icon="el-icon-plus"
|
|
|
- size="small"
|
|
|
- @click.stop="newDetails"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- >批量录入</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- icon="el-icon-plus"
|
|
|
- size="small"
|
|
|
- @click.stop="addLibrary"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- >出口价格库</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- type="info"
|
|
|
- icon="el-icon-printer"
|
|
|
- size="small"
|
|
|
- @click.stop="openReport()"
|
|
|
- >报表打印</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- type="info"
|
|
|
- size="small"
|
|
|
- @click.stop="savePurchase"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- >采购询价</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- type="info"
|
|
|
- size="small"
|
|
|
- @click.stop="saveShipping"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- >船务询价</el-button
|
|
|
- >
|
|
|
+ <el-button type="primary" icon="el-icon-plus" size="small" @click.stop="newDetails"
|
|
|
+ :disabled="detailData.status == 1">批量录入</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-plus" size="small" @click.stop="addLibrary"
|
|
|
+ :disabled="detailData.status == 1">出口价格库</el-button>
|
|
|
+ <el-button type="info" icon="el-icon-printer" size="small" @click.stop="openReport()">报表打印</el-button>
|
|
|
+ <el-button type="info" size="small" @click.stop="savePurchase" :disabled="detailData.status == 1">采购询价
|
|
|
+ </el-button>
|
|
|
+ <el-button type="info" size="small" @click.stop="saveShipping" :disabled="detailData.status == 1">船务询价
|
|
|
+ </el-button>
|
|
|
</template>
|
|
|
<template slot="menu" slot-scope="{ row, index }">
|
|
|
- <el-button
|
|
|
- size="small"
|
|
|
- icon="el-icon-edit"
|
|
|
- type="text"
|
|
|
- @click="rowCell(row, index)"
|
|
|
- :disabled="disabled || detailData.status == 1"
|
|
|
- >{{ row.$cellEdit ? "保存" : "修改" }}</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- size="small"
|
|
|
- icon="el-icon-delete"
|
|
|
- type="text"
|
|
|
- @click="rowDel(row, index)"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- >删除</el-button
|
|
|
- >
|
|
|
+ <el-button size="small" icon="el-icon-edit" type="text" @click="rowCell(row, index)"
|
|
|
+ :disabled="disabled || detailData.status == 1">{{ row.$cellEdit ? "保存" : "修改" }}</el-button>
|
|
|
+ <el-button size="small" icon="el-icon-delete" type="text" @click="rowDel(row, index)"
|
|
|
+ :disabled="detailData.status == 1">删除</el-button>
|
|
|
</template>
|
|
|
<template slot="itemType" slot-scope="{ row }">
|
|
|
- <el-select
|
|
|
- v-if="row.$cellEdit"
|
|
|
- v-model="row.itemType"
|
|
|
- filterable
|
|
|
- allow-create
|
|
|
- default-first-option
|
|
|
- placeholder="请输入"
|
|
|
- size="small"
|
|
|
- @focus="itemTypeFocus(row)"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="(item, index) in itemtypeList"
|
|
|
- :key="index"
|
|
|
- :label="item.value"
|
|
|
- :value="item.value"
|
|
|
- >
|
|
|
+ <el-select v-if="row.$cellEdit" v-model="row.itemType" filterable allow-create default-first-option
|
|
|
+ placeholder="请输入" size="small" @focus="itemTypeFocus(row)">
|
|
|
+ <el-option v-for="(item, index) in itemtypeList" :key="index" :label="item.value" :value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
<span v-else>{{ row.itemType }}</span>
|
|
|
</template>
|
|
|
<template slot="itemProp" slot-scope="{ row, index }">
|
|
|
<span v-if="row.$cellEdit" style="display:flex">
|
|
|
- <el-input
|
|
|
- v-model="row.itemProp"
|
|
|
- size="small"
|
|
|
- placeholder="请点击右边按钮"
|
|
|
- ></el-input>
|
|
|
- <el-button
|
|
|
- icon="el-icon-edit"
|
|
|
- size="mini"
|
|
|
- @click="openProperty(row, index)"
|
|
|
- ></el-button>
|
|
|
+ <el-input v-model="row.itemProp" size="small" placeholder="请点击右边按钮"></el-input>
|
|
|
+ <el-button icon="el-icon-edit" size="mini" @click="openProperty(row, index)"></el-button>
|
|
|
</span>
|
|
|
<span v-else>{{ row.itemProp }}</span>
|
|
|
</template>
|
|
|
<template slot="cname" slot-scope="{ row, index }">
|
|
|
<span v-if="row.$cellEdit" style="display:flex">
|
|
|
- <el-select
|
|
|
- v-model="row.itemId"
|
|
|
- placeholder="请选择"
|
|
|
- size="small"
|
|
|
- style="width:60%"
|
|
|
- @change="cnameChange(row, index)"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in goodsoptions"
|
|
|
- :key="item.id"
|
|
|
- :label="item.cname"
|
|
|
- :value="item.id"
|
|
|
- >
|
|
|
+ <el-select v-model="row.itemId" placeholder="请选择" size="small" style="width:60%"
|
|
|
+ @change="cnameChange(row, index)">
|
|
|
+ <el-option v-for="item in goodsoptions" :key="item.id" :label="item.cname" :value="item.id">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- <el-button
|
|
|
- icon="el-icon-search"
|
|
|
- size="small"
|
|
|
- @click="rePick(row, index)"
|
|
|
- ></el-button>
|
|
|
+ <el-button icon="el-icon-search" size="small" @click="rePick(row, index)"></el-button>
|
|
|
</span>
|
|
|
|
|
|
<span v-else> {{ row.cname }}</span>
|
|
|
</template>
|
|
|
<template slot="partsDescribe" slot-scope="{ row, index }">
|
|
|
<span v-if="row.$cellEdit" style="display:flex">
|
|
|
- <el-input
|
|
|
- v-model="row.partsDescribe"
|
|
|
- size="small"
|
|
|
- placeholder="请点击右边按钮"
|
|
|
- ></el-input>
|
|
|
- <el-button
|
|
|
- icon="el-icon-edit"
|
|
|
- size="mini"
|
|
|
- @click="partrePick(row, index)"
|
|
|
- ></el-button>
|
|
|
+ <el-input v-model="row.partsDescribe" size="small" placeholder="请点击右边按钮"></el-input>
|
|
|
+ <el-button icon="el-icon-edit" size="mini" @click="partrePick(row, index)"></el-button>
|
|
|
</span>
|
|
|
<span v-else>{{ row.partsDescribe }}</span>
|
|
|
</template>
|
|
|
<template slot="priorityReferrer" slot-scope="{ row }">
|
|
|
- <el-checkbox
|
|
|
- :disabled="!row.$cellEdit"
|
|
|
- v-model="row.priorityReferrer"
|
|
|
- :true-label="1"
|
|
|
- :false-label="0"
|
|
|
- />
|
|
|
+ <el-checkbox :disabled="!row.$cellEdit" v-model="row.priorityReferrer" :true-label="1" :false-label="0" />
|
|
|
</template>
|
|
|
<template slot="corpId" slot-scope="{ row }">
|
|
|
<span>{{ row.corpName }}</span>
|
|
|
</template>
|
|
|
<template slot="purchaseCost" slot-scope="{ row }">
|
|
|
- <el-input
|
|
|
- v-if="row.$cellEdit"
|
|
|
- v-model="row.purchaseCost"
|
|
|
- size="small"
|
|
|
- placeholder="请输入"
|
|
|
- oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
|
|
- ></el-input>
|
|
|
+ <el-input v-if="row.$cellEdit" v-model="row.purchaseCost" size="small" placeholder="请输入"
|
|
|
+ oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"></el-input>
|
|
|
<span v-else>{{ row.purchaseCost | micrometerFormat }}</span>
|
|
|
</template>
|
|
|
<template slot="purchaseAmount" slot-scope="{ row }">
|
|
|
- <el-input
|
|
|
- v-if="row.$cellEdit"
|
|
|
- v-model="row.purchaseAmount"
|
|
|
- size="small"
|
|
|
- placeholder="请输入"
|
|
|
+ <el-input v-if="row.$cellEdit" v-model="row.purchaseAmount" size="small" placeholder="请输入"
|
|
|
@change="purchaseAmountChange(row)"
|
|
|
- oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
|
|
- ></el-input>
|
|
|
+ oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"></el-input>
|
|
|
<span v-else>{{ row.purchaseAmount | micrometerFormat }}</span>
|
|
|
</template>
|
|
|
<template slot="price" slot-scope="{ row }">
|
|
|
- <el-input
|
|
|
- v-if="row.$cellEdit"
|
|
|
- v-model="row.price"
|
|
|
- size="small"
|
|
|
+ <el-input v-if="row.$cellEdit" v-model="row.price" size="small"
|
|
|
oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
|
|
- @change="priceChange(row)"
|
|
|
- ></el-input>
|
|
|
+ @change="priceChange(row)"></el-input>
|
|
|
<span v-else>{{ row.price | micrometerFormat }}</span>
|
|
|
</template>
|
|
|
<template slot="amount" slot-scope="{ row }">
|
|
|
<span>{{ row.amount | micrometerFormat }}</span>
|
|
|
</template>
|
|
|
<template slot="orderQuantity" slot-scope="{ row }">
|
|
|
- <el-input
|
|
|
- v-if="row.$cellEdit"
|
|
|
- v-model="row.orderQuantity"
|
|
|
- size="small"
|
|
|
- oninput='this.value=this.value.replace(/[^(\d)]/g,"")'
|
|
|
- @change="priceChange(row)"
|
|
|
- ></el-input>
|
|
|
+ <el-input v-if="row.$cellEdit" v-model="row.orderQuantity" size="small"
|
|
|
+ oninput='this.value=this.value.replace(/[^(\d)]/g,"")' @change="priceChange(row)"></el-input>
|
|
|
<span v-else>{{ row.orderQuantity | IntegerFormat }}</span>
|
|
|
</template>
|
|
|
<template slot="discount" slot-scope="{ row }">
|
|
|
- <el-input
|
|
|
- v-if="row.$cellEdit"
|
|
|
- v-model="row.discount"
|
|
|
- size="small"
|
|
|
+ <el-input v-if="row.$cellEdit" v-model="row.discount" size="small"
|
|
|
oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
|
|
- @change="discountChange(row)"
|
|
|
- ></el-input>
|
|
|
+ @change="discountChange(row)"></el-input>
|
|
|
<span v-else>{{ row.discount | isDiscount }}</span>
|
|
|
</template>
|
|
|
<template slot="insurance" slot-scope="{ row }">
|
|
|
- <el-input
|
|
|
- v-if="row.$cellEdit"
|
|
|
- v-model="row.insurance"
|
|
|
- size="small"
|
|
|
+ <el-input v-if="row.$cellEdit" v-model="row.insurance" size="small"
|
|
|
oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
|
|
- @change="priceChange(row)"
|
|
|
- ></el-input>
|
|
|
+ @change="priceChange(row)"></el-input>
|
|
|
<span v-else>{{ row.insurance | micrometerFormat }}</span>
|
|
|
</template>
|
|
|
<template slot="freight" slot-scope="{ row }">
|
|
|
- <el-input
|
|
|
- v-if="row.$cellEdit"
|
|
|
- v-model="row.freight"
|
|
|
- size="small"
|
|
|
+ <el-input v-if="row.$cellEdit" v-model="row.freight" size="small"
|
|
|
oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
|
|
- @change="priceChange(row)"
|
|
|
- ></el-input>
|
|
|
+ @change="priceChange(row)"></el-input>
|
|
|
<span v-else>{{ row.freight | micrometerFormat }}</span>
|
|
|
</template>
|
|
|
<template slot="taxRate" slot-scope="{ row }">
|
|
|
- <el-input
|
|
|
- v-if="row.$cellEdit"
|
|
|
- v-model="row.taxRate"
|
|
|
- size="small"
|
|
|
+ <el-input v-if="row.$cellEdit" v-model="row.taxRate" size="small"
|
|
|
oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
|
|
- @change="taxRateChange(row)"
|
|
|
- ></el-input>
|
|
|
+ @change="taxRateChange(row)"></el-input>
|
|
|
<span v-else>{{ row.taxRate | isPercentage }}</span>
|
|
|
</template>
|
|
|
<template slot="itemMargin" slot-scope="{ row }">
|
|
|
<span>{{ row.itemMargin | isPercentage }}</span>
|
|
|
</template>
|
|
|
</avue-crud>
|
|
|
- </basic-container>
|
|
|
- <fee-info
|
|
|
- ref="feeInfo"
|
|
|
- :orderFeesList="orderFeesList"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- feeUrl="/blade-purchase-sales/orderfees/update"
|
|
|
- optionType="CK"
|
|
|
- itemType="报价"
|
|
|
- @beforeFinance="beforeFinance"
|
|
|
- :inCropId="true"
|
|
|
- />
|
|
|
- <containerTitle title="合同附件"></containerTitle>
|
|
|
- <c-upload
|
|
|
- typeUpload="CK"
|
|
|
- :data="orderFilesList"
|
|
|
- :disabled="detailData.status == 1"
|
|
|
- :enumerationValue="76"
|
|
|
- deleteUrl="/blade-purchase-sales/orderfiles/update"
|
|
|
- />
|
|
|
+ </trade-card>
|
|
|
+ <fee-info ref="feeInfo" :orderFeesList="orderFeesList" :disabled="detailData.status == 1"
|
|
|
+ feeUrl="/blade-purchase-sales/orderfees/update" optionType="CK" itemType="报价" @beforeFinance="beforeFinance"
|
|
|
+ :inCropId="true" />
|
|
|
+ <containerTitle title="合同附件">
|
|
|
+
|
|
|
+ </containerTitle>
|
|
|
+ <c-upload typeUpload="CK" :data="orderFilesList" :disabled="detailData.status == 1" :enumerationValue="76"
|
|
|
+ deleteUrl="/blade-purchase-sales/orderfiles/update" />
|
|
|
</div>
|
|
|
- <el-dialog
|
|
|
- title="导入商品"
|
|
|
- append-to-body
|
|
|
- class="el-dialogDeep"
|
|
|
- :visible.sync="dialogVisible"
|
|
|
- width="80%"
|
|
|
- :close-on-click-modal="false"
|
|
|
- :destroy-on-close="true"
|
|
|
- :close-on-press-escape="false"
|
|
|
- @close="closeGoods"
|
|
|
- top="5vh"
|
|
|
- v-dialog-drag
|
|
|
- >
|
|
|
+ <el-dialog title="导入商品" append-to-body class="el-dialogDeep" :visible.sync="dialogVisible" width="80%"
|
|
|
+ :close-on-click-modal="false" :destroy-on-close="true" :close-on-press-escape="false" @close="closeGoods"
|
|
|
+ top="5vh" v-dialog-drag>
|
|
|
<span>
|
|
|
<el-row>
|
|
|
<el-col :span="4">
|
|
|
<div>
|
|
|
<el-scrollbar>
|
|
|
<basic-container>
|
|
|
- <avue-tree
|
|
|
- :option="treeOption"
|
|
|
- @node-click="nodeClick"
|
|
|
- :style="treeStyle"
|
|
|
- />
|
|
|
+ <avue-tree :option="treeOption" @node-click="nodeClick" :style="treeStyle" />
|
|
|
</basic-container>
|
|
|
</el-scrollbar>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="20">
|
|
|
- <avue-crud
|
|
|
- :option="goodsOption"
|
|
|
- :table-loading="loading"
|
|
|
- :data="goodsList"
|
|
|
- ref="goodsCrud"
|
|
|
- :search.sync="search"
|
|
|
- @search-change="searchChange"
|
|
|
- @refresh-change="refreshChange"
|
|
|
- @selection-change="selectionChange"
|
|
|
- @row-click="rowClick"
|
|
|
- :page.sync="page"
|
|
|
- @on-load="onLoad"
|
|
|
- @saveColumn="saveGoodsColumn"
|
|
|
- @resetColumn="resetGoodsColumn"
|
|
|
- :cell-style="cellStyle"
|
|
|
- ></avue-crud>
|
|
|
+ <avue-crud :option="goodsOption" :table-loading="loading" :data="goodsList" ref="goodsCrud"
|
|
|
+ :search.sync="search" @search-change="searchChange" @refresh-change="refreshChange"
|
|
|
+ @selection-change="selectionChange" @row-click="rowClick" :page.sync="page" @on-load="onLoad"
|
|
|
+ @saveColumn="saveGoodsColumn" @resetColumn="resetGoodsColumn" :cell-style="cellStyle"></avue-crud>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</span>
|
|
|
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- @click="importGoods"
|
|
|
- :disabled="selectionList.length == 0"
|
|
|
- >导入</el-button
|
|
|
- >
|
|
|
+ <el-button type="primary" @click="importGoods" :disabled="selectionList.length == 0">导入</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
- <report-dialog
|
|
|
- :switchDialog="switchDialog"
|
|
|
- :reportId="form.id"
|
|
|
- reportName="报价单明细(E)"
|
|
|
- @onClose="onClose()"
|
|
|
- ></report-dialog>
|
|
|
- <part-dialog
|
|
|
- ref="part"
|
|
|
- :partList="partList"
|
|
|
- @importPart="importPart"
|
|
|
- @partClosed="partClosed"
|
|
|
- />
|
|
|
+ <report-dialog :switchDialog="switchDialog" :reportId="form.id" reportName="报价单明细(E)" @onClose="onClose()">
|
|
|
+ </report-dialog>
|
|
|
+ <part-dialog ref="part" :partList="partList" @importPart="importPart" @partClosed="partClosed" />
|
|
|
<property-dialog ref="property" @importProperty="importProperty" />
|
|
|
<price-library ref="library" @importLibray="importLibray" />
|
|
|
</div>
|
|
@@ -936,7 +616,7 @@ export default {
|
|
|
treeOption: {
|
|
|
nodeKey: "id",
|
|
|
lazy: true,
|
|
|
- treeLoad: function(node, resolve) {
|
|
|
+ treeLoad: function (node, resolve) {
|
|
|
const parentId = node.level === 0 ? 0 : node.data.id;
|
|
|
getDeptLazyTree(parentId).then(res => {
|
|
|
resolve(
|
|
@@ -2172,7 +1852,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
|
- "form.corpId": function(id) {
|
|
|
+ "form.corpId": function (id) {
|
|
|
if (id) {
|
|
|
this.corpsattns = [];
|
|
|
getCorpsattn({ pid: id }).then(res => {
|
|
@@ -2188,9 +1868,11 @@ export default {
|
|
|
.trading-form ::v-deep .el-form-item {
|
|
|
margin-bottom: 8px !important;
|
|
|
}
|
|
|
+
|
|
|
::v-deep .el-form-item__error {
|
|
|
display: none !important;
|
|
|
}
|
|
|
+
|
|
|
::v-deep .select-component {
|
|
|
display: flex !important;
|
|
|
}
|