|
@@ -261,256 +261,309 @@
|
|
|
@change="formChangeHandler"
|
|
|
:value="jsonData"
|
|
|
/> -->
|
|
|
- <el-form
|
|
|
- :model="formData"
|
|
|
- ref="formDataRef"
|
|
|
- :rules="rules"
|
|
|
- label-width="100px"
|
|
|
- :inline="true"
|
|
|
- size="normal"
|
|
|
- >
|
|
|
- <!-- <el-form-item prop="saleNo" label="合同号:">
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-form
|
|
|
+ :model="formData"
|
|
|
+ ref="formDataRef"
|
|
|
+ :rules="rules"
|
|
|
+ label-width="100px"
|
|
|
+ :inline="true"
|
|
|
+ size="normal"
|
|
|
+ >
|
|
|
+ <!-- <el-form-item prop="saleNo" label="合同号:">
|
|
|
<el-input size="small" v-model="formData.saleNo"></el-input>
|
|
|
</el-form-item> -->
|
|
|
- <el-form-item prop="saleDate" label="日期:">
|
|
|
- <el-date-picker
|
|
|
- size="small"
|
|
|
- v-model="formData.saleDate"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- type="date"
|
|
|
- placeholder="选择日期"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="saleCustomNo" label="客户名称:">
|
|
|
- <el-select
|
|
|
- size="small"
|
|
|
- v-model="formData.saleCustomNo"
|
|
|
- placeholder="请选择客户"
|
|
|
- clearable
|
|
|
- filterable
|
|
|
- @change="customChangeHandler"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in customerOptions"
|
|
|
- :key="item.customNo"
|
|
|
- :label="item.customName"
|
|
|
- :value="item.customNo"
|
|
|
- >
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="联系人:" size="normal">
|
|
|
- {{ formData.contactPerson }}
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="客户地址:" size="normal">
|
|
|
- {{ formData.customAddress }}
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="客户国别:" size="normal">
|
|
|
- {{ formData.customCountryType }}
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label-width="120px" prop="saleDate" label="预计下单时间:">
|
|
|
- <el-date-picker
|
|
|
- size="small"
|
|
|
- v-model="formData.saleOrderEstimatedTime"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- type="date"
|
|
|
- placeholder="选择日期"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="交货周期:" size="normal">
|
|
|
- <el-input size="small" v-model="formData.saleLeadTime"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-divider>货品明细</el-divider>
|
|
|
- <el-table
|
|
|
- :data="productionTableData"
|
|
|
- border
|
|
|
- show-summary
|
|
|
- :summary-method="getSummaries"
|
|
|
- sum-text="小计"
|
|
|
- style="width: 100%"
|
|
|
- >
|
|
|
- <el-table-column prop="productName" label="品名" width="180">
|
|
|
- <template slot-scope="scope">
|
|
|
- <!-- <el-input
|
|
|
- v-model="scope.row.productName"
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item prop="saleDate" label="日期:">
|
|
|
+ <el-date-picker
|
|
|
size="small"
|
|
|
- clearable
|
|
|
- ></el-input> -->
|
|
|
+ v-model="formData.saleDate"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ type="date"
|
|
|
+ placeholder="选择日期"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item prop="saleCustomNo" label="客户名称:">
|
|
|
<el-select
|
|
|
- v-model="scope.row.productNo"
|
|
|
- placeholder=""
|
|
|
+ size="small"
|
|
|
+ v-model="formData.saleCustomNo"
|
|
|
+ placeholder="请选择客户"
|
|
|
clearable
|
|
|
filterable
|
|
|
+ @change="customChangeHandler"
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="item in productionOptions"
|
|
|
- :key="item.productNo"
|
|
|
- :label="item.productName"
|
|
|
- :value="item.productNo"
|
|
|
+ v-for="item in customerOptions"
|
|
|
+ :key="item.customNo"
|
|
|
+ :label="item.customName"
|
|
|
+ :value="item.customNo"
|
|
|
>
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="productNumber" label="数量/kg">
|
|
|
- <template slot-scope="scope">
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="联系人:" size="normal">
|
|
|
+ {{ formData.contactPerson }}
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="客户地址:" size="normal">
|
|
|
+ {{ formData.customAddress }}
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="客户国别:" size="normal">
|
|
|
+ {{ formData.customCountryType }}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item
|
|
|
+ label-width="120px"
|
|
|
+ prop="saleDate"
|
|
|
+ label="预计下单时间:"
|
|
|
+ >
|
|
|
+ <el-date-picker
|
|
|
+ size="small"
|
|
|
+ v-model="formData.saleOrderEstimatedTime"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ type="date"
|
|
|
+ placeholder="选择日期"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="交货周期:" size="normal">
|
|
|
+ <el-input size="small" v-model="formData.saleLeadTime"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-divider>货品明细</el-divider>
|
|
|
+ </el-col>
|
|
|
+ <el-table
|
|
|
+ :data="productionTableData"
|
|
|
+ border
|
|
|
+ show-summary
|
|
|
+ :summary-method="getSummaries"
|
|
|
+ sum-text="小计"
|
|
|
+ style="width: 100%"
|
|
|
+ >
|
|
|
+ <el-table-column prop="productName" label="品名" width="180">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <!-- <el-input
|
|
|
+ v-model="scope.row.productName"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ ></el-input> -->
|
|
|
+ <el-select
|
|
|
+ v-model="scope.row.productNo"
|
|
|
+ placeholder=""
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in productionOptions"
|
|
|
+ :key="item.productNo"
|
|
|
+ :label="item.productName"
|
|
|
+ :value="item.productNo"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="productNumber" label="数量/kg">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.productNumber"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ @change="computedPrice(scope.row)"
|
|
|
+ ></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="productUnitPrice" label="单价">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.productUnitPrice"
|
|
|
+ size="small"
|
|
|
+ @change="computedPrice(scope.row)"
|
|
|
+ clearable
|
|
|
+ ></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="productAmounts" label="金额">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <!-- <el-input
|
|
|
+ v-model="scope.row.productAmounts"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ ></el-input> -->
|
|
|
+ {{ scope.row.productAmounts }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="remark" label="备注">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.remark"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ ></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ type="danger"
|
|
|
+ size="small"
|
|
|
+ @click="deleteProduct(scope.$index)"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <el-button
|
|
|
+ class="mt5"
|
|
|
+ type="primary"
|
|
|
+ style="width: 100%"
|
|
|
+ size="small"
|
|
|
+ @click="addProduct"
|
|
|
+ >添加货品</el-button
|
|
|
+ >
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label-width="120px" label="合计金额(大写)">
|
|
|
<el-input
|
|
|
- v-model="scope.row.productNumber"
|
|
|
+ v-model="formData.saleAmountInWords"
|
|
|
size="small"
|
|
|
clearable
|
|
|
></el-input>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="productUnitPrice" label="单价">
|
|
|
- <template slot-scope="scope">
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="付款方式">
|
|
|
<el-input
|
|
|
- v-model="scope.row.productUnitPrice"
|
|
|
+ v-model="formData.salePayType"
|
|
|
size="small"
|
|
|
clearable
|
|
|
></el-input>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="productAmounts" label="金额">
|
|
|
- <template slot-scope="scope">
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-divider>工艺要求</el-divider>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="网格:">
|
|
|
<el-input
|
|
|
- v-model="scope.row.productAmounts"
|
|
|
+ v-model="formData.craftGrid"
|
|
|
size="small"
|
|
|
clearable
|
|
|
></el-input>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="remark" label="备注">
|
|
|
- <template slot-scope="scope">
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="油剂:">
|
|
|
<el-input
|
|
|
- v-model="scope.row.remark"
|
|
|
+ v-model="formData.craftOil"
|
|
|
size="small"
|
|
|
clearable
|
|
|
></el-input>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button
|
|
|
- type="danger"
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="卷装:">
|
|
|
+ <el-input
|
|
|
+ v-model="formData.craftPackage"
|
|
|
size="small"
|
|
|
- @click="deleteProduct(scope.$index)"
|
|
|
- >删除</el-button
|
|
|
- >
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-button
|
|
|
- class="mt5"
|
|
|
- type="primary"
|
|
|
- style="width: 100%"
|
|
|
- size="small"
|
|
|
- @click="addProduct"
|
|
|
- >添加货品</el-button
|
|
|
- >
|
|
|
- <el-form-item label-width="120px" label="合计金额(大写)">
|
|
|
- <el-input
|
|
|
- v-model="formData.saleAmountInWords"
|
|
|
- size="small"
|
|
|
- clearable
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="付款方式">
|
|
|
- <el-input
|
|
|
- v-model="formData.salePayType"
|
|
|
- size="small"
|
|
|
- clearable
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-divider>工艺要求</el-divider>
|
|
|
- <el-form-item label="网格:">
|
|
|
- <el-input
|
|
|
- v-model="formData.craftGrid"
|
|
|
- size="small"
|
|
|
- clearable
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="油剂:">
|
|
|
- <el-input
|
|
|
- v-model="formData.craftOil"
|
|
|
- size="small"
|
|
|
- clearable
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="卷装:">
|
|
|
- <el-input
|
|
|
- v-model="formData.craftPackage"
|
|
|
- size="small"
|
|
|
- clearable
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="色牢度:">
|
|
|
- <el-input
|
|
|
- v-model="formData.craftColorFastness"
|
|
|
- size="small"
|
|
|
- clearable
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="其它:">
|
|
|
- <el-input
|
|
|
- v-model="formData.craftOther"
|
|
|
- size="small"
|
|
|
- clearable
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="包装/贴唛:">
|
|
|
- <el-input
|
|
|
- v-model="formData.craftMark"
|
|
|
- size="small"
|
|
|
- clearable
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="运输方式:">
|
|
|
- <el-input
|
|
|
- v-model="formData.shippingMethod"
|
|
|
- size="small"
|
|
|
- clearable
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-divider>审计人员数据</el-divider>
|
|
|
- <el-form-item label="业务员:">
|
|
|
- <el-input
|
|
|
+ clearable
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="色牢度:">
|
|
|
+ <el-input
|
|
|
+ v-model="formData.craftColorFastness"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="其它:">
|
|
|
+ <el-input
|
|
|
+ v-model="formData.craftOther"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="包装/贴唛:">
|
|
|
+ <el-input
|
|
|
+ v-model="formData.craftMark"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="运输方式:">
|
|
|
+ <el-input
|
|
|
+ v-model="formData.shippingMethod"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-divider>审计人员数据</el-divider>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="业务员:">
|
|
|
+ <!-- <el-input
|
|
|
v-model="formData.salesman"
|
|
|
size="small"
|
|
|
clearable
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="业务主管:">
|
|
|
- <el-input
|
|
|
- v-model="formData.saleLeader"
|
|
|
- size="small"
|
|
|
- clearable
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="财务部:">
|
|
|
- <el-input
|
|
|
- v-model="formData.finance"
|
|
|
- size="small"
|
|
|
- clearable
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="生产部:">
|
|
|
- <el-input
|
|
|
- v-model="formData.production"
|
|
|
- size="small"
|
|
|
- clearable
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="批准人:">
|
|
|
- <el-input
|
|
|
- v-model="formData.saleApprover"
|
|
|
- size="small"
|
|
|
- clearable
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
-
|
|
|
+ ></el-input> -->
|
|
|
+ {{ nickName }}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="业务主管:">
|
|
|
+ <el-input
|
|
|
+ v-model="formData.saleLeader"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="财务部:">
|
|
|
+ <el-input
|
|
|
+ v-model="formData.finance"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="生产部:">
|
|
|
+ <el-input
|
|
|
+ v-model="formData.production"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="批准人:">
|
|
|
+ <el-input
|
|
|
+ v-model="formData.saleApprover"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-form>
|
|
|
+ </el-row>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button type="primary" @click="editConfirm">确 定</el-button>
|
|
|
<el-button @click="cancel">取 消</el-button>
|
|
@@ -584,6 +637,7 @@ import { checkRole } from "@/utils/permission";
|
|
|
import DialogTemplate from "@/views/dialogTemplate/components/index.vue";
|
|
|
import { queryDropDownBoxData } from "@/api/dragform/form";
|
|
|
import { v4 as uuidv4 } from "uuid";
|
|
|
+import { mapState } from "vuex";
|
|
|
|
|
|
export default {
|
|
|
name: "listInfo",
|
|
@@ -757,6 +811,9 @@ export default {
|
|
|
isShowExcuteCol() {
|
|
|
return !this.excuteBtnArr?.every((arr) => arr.children.length == 0);
|
|
|
},
|
|
|
+ ...mapState({
|
|
|
+ nickName: (state) => state.user.nickName,
|
|
|
+ }),
|
|
|
},
|
|
|
methods: {
|
|
|
// 重置审计表单数据
|
|
@@ -1016,7 +1073,7 @@ export default {
|
|
|
// saleAmounts, //合计金额 小写
|
|
|
saleAmountInWords,
|
|
|
salePayType,
|
|
|
- salesman,
|
|
|
+ salesman: this.nickName,
|
|
|
saleLeader,
|
|
|
finance,
|
|
|
production,
|
|
@@ -1117,7 +1174,11 @@ export default {
|
|
|
craftData.addListMap = [craftValue];
|
|
|
let saleRes = await addTableData(saleData);
|
|
|
let craftRes = await addTableData(craftData);
|
|
|
- let productRes = await addTableData(productData);
|
|
|
+ let productRes = { code: 200 };
|
|
|
+ if (productData.addListMap.length) {
|
|
|
+ productRes = await addTableData(productData);
|
|
|
+ }
|
|
|
+
|
|
|
if (
|
|
|
saleRes.code === 200 &&
|
|
|
craftRes.code === 200 &&
|
|
@@ -1241,6 +1302,11 @@ export default {
|
|
|
console.log(error);
|
|
|
}
|
|
|
},
|
|
|
+ // 计算金额
|
|
|
+ computedPrice(row) {
|
|
|
+ let { productNumber, productUnitPrice } = row;
|
|
|
+ row.productAmounts = Number(productNumber) * Number(productUnitPrice);
|
|
|
+ },
|
|
|
isUpperCase(char) {
|
|
|
return char === char.toUpperCase();
|
|
|
},
|