|
@@ -299,9 +299,11 @@
|
|
|
:inline="true"
|
|
|
size="normal"
|
|
|
>
|
|
|
- <!-- <el-form-item prop="saleNo" label="合同号:">
|
|
|
- <el-input size="small" v-model="formData.saleNo"></el-input>
|
|
|
- </el-form-item> -->
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item prop="saleNo" label="合同号:">
|
|
|
+ <el-input size="small" v-model="formData.saleNo"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item prop="saleDate" label="日期:">
|
|
|
<el-date-picker
|
|
@@ -364,10 +366,23 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="交货周期:" size="normal" prop="saleLeadTime">
|
|
|
+ <el-form-item label="交货天数:" size="normal" prop="saleLeadTime">
|
|
|
<el-input size="small" v-model="formData.saleLeadTime"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="交货日期:" size="normal" prop="deliveryDate">
|
|
|
+ <el-date-picker
|
|
|
+ size="small"
|
|
|
+ v-model="formData.deliveryDate"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ format="yyyy-MM-dd"
|
|
|
+ type="date"
|
|
|
+ placeholder="选择日期"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
<el-col :span="24">
|
|
|
<el-divider>货品明细</el-divider>
|
|
|
</el-col>
|
|
@@ -510,11 +525,33 @@
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="付款方式">
|
|
|
- <el-input
|
|
|
+ <!-- <el-input
|
|
|
v-model="formData.salePayType"
|
|
|
size="small"
|
|
|
clearable
|
|
|
- ></el-input>
|
|
|
+ ></el-input> -->
|
|
|
+ <el-select
|
|
|
+ v-model="formData.salePayType"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in dict.type.payment_method"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" v-show="formData.salePayType == '1'">
|
|
|
+ <el-form-item prop="earnestMoney" label="定金">
|
|
|
+ <el-input
|
|
|
+ v-model="formData.earnestMoney"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
@@ -556,6 +593,23 @@
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="捻向:">
|
|
|
+ <el-select
|
|
|
+ v-model="formData.directionOfTwist"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in dict.type.direction_of_twist"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="其它:">
|
|
|
<el-input
|
|
@@ -670,6 +724,7 @@ import {
|
|
|
batchEdit,
|
|
|
getStatisticList,
|
|
|
getTableList1,
|
|
|
+ checkOrderNo,
|
|
|
} from "@/api/tablelist/commonTable";
|
|
|
import { listData } from "@/api/system/tenant/data";
|
|
|
import { getToken } from "@/utils/auth";
|
|
@@ -686,6 +741,7 @@ import moment from "moment";
|
|
|
|
|
|
export default {
|
|
|
name: "listInfo",
|
|
|
+ dicts: ["payment_method", "direction_of_twist"],
|
|
|
components: { Queryfrom, Menu, DialogTemplate },
|
|
|
data() {
|
|
|
return {
|
|
@@ -705,9 +761,11 @@ export default {
|
|
|
saleDate: "", //销售单日期
|
|
|
saleOrderEstimatedTime: "", //预计下单时间
|
|
|
saleLeadTime: "", //交货周期
|
|
|
+ deliveryDate: "", //交货日期
|
|
|
saleAmounts: "", //合计金额 小写
|
|
|
saleAmountInWords: "", //合计金额 大写
|
|
|
salePayType: "", //支付方式
|
|
|
+ earnestMoney: "", //定金
|
|
|
salesman: "", //业务员
|
|
|
saleLeader: "", //业务主管
|
|
|
finance: "", //财务部
|
|
@@ -733,6 +791,7 @@ export default {
|
|
|
craftOil: "", //油剂
|
|
|
craftPackage: "", //卷装
|
|
|
craftColorFastness: "", //色牢度
|
|
|
+ directionOfTwist: "", //捻向
|
|
|
craftOther: "", //其它工艺要求
|
|
|
craftMark: "", //包装/贴唛
|
|
|
shippingMethod: "", //运输方式
|
|
@@ -750,6 +809,17 @@ export default {
|
|
|
// },
|
|
|
],
|
|
|
rules: {
|
|
|
+ saleNo: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: "请输入销售单号",
|
|
|
+ trigger: "blur",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ validator: this.validateOrderNo,
|
|
|
+ trigger: "blur",
|
|
|
+ },
|
|
|
+ ],
|
|
|
saleDate: [
|
|
|
{
|
|
|
required: true,
|
|
@@ -778,6 +848,12 @@ export default {
|
|
|
trigger: "blur",
|
|
|
},
|
|
|
],
|
|
|
+ earnestMoney: [
|
|
|
+ {
|
|
|
+ validator: this.validateEarnestMoney,
|
|
|
+ trigger: "blur",
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
|
|
|
// end
|
|
@@ -925,9 +1001,11 @@ export default {
|
|
|
saleDate: "", //销售单日期
|
|
|
saleOrderEstimatedTime: "", //预计下单时间
|
|
|
saleLeadTime: "", //交货周期
|
|
|
+ deliveryDate: "",
|
|
|
saleAmounts: "", //合计金额 小写
|
|
|
saleAmountInWords: "", //合计金额 大写
|
|
|
salePayType: "", //支付方式
|
|
|
+ earnestMoney: "",
|
|
|
salesman: "", //业务员
|
|
|
saleLeader: "", //业务主管
|
|
|
finance: "", //财务部
|
|
@@ -953,6 +1031,7 @@ export default {
|
|
|
craftOil: "", //油剂
|
|
|
craftPackage: "", //卷装
|
|
|
craftColorFastness: "", //色牢度
|
|
|
+ directionOfTwist: "",
|
|
|
craftOther: "", //其它工艺要求
|
|
|
craftMark: "", //包装/贴唛
|
|
|
shippingMethod: "", //运输方式
|
|
@@ -1211,19 +1290,58 @@ export default {
|
|
|
});
|
|
|
});
|
|
|
},
|
|
|
+ // 校验定金
|
|
|
+ validateEarnestMoney(rule, value, callback) {
|
|
|
+ console.log(value);
|
|
|
+ if (this.formData.salePayType == "1") {
|
|
|
+ if (value == "" || value == null || value == undefined) {
|
|
|
+ callback(new Error("请输入定金金额"));
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 校验订单号是否有效
|
|
|
+ async validateOrderNo(rule, value, callback) {
|
|
|
+ console.log(value);
|
|
|
+ // let saleNo = this.formData.orderNo;
|
|
|
+ // 检验订单号合法
|
|
|
+ let checkNoPayload = {
|
|
|
+ saleNo: value,
|
|
|
+ };
|
|
|
+ if (this.isEdit) {
|
|
|
+ checkNoPayload.id = this.formData.id;
|
|
|
+ }
|
|
|
+ let result = await checkOrderNo(checkNoPayload);
|
|
|
+ if (result.code == 200) {
|
|
|
+ if (result.data) {
|
|
|
+ callback();
|
|
|
+ } else {
|
|
|
+ callback(new Error("订单号已存在"));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ callback(new Error("校验失败,请稍后再试"));
|
|
|
+ }
|
|
|
+ },
|
|
|
// 审计 提交编辑结果按钮回调
|
|
|
async editConfirm() {
|
|
|
this.$refs.formDataRef.validate(async (valid) => {
|
|
|
if (valid) {
|
|
|
+ console.log(valid);
|
|
|
let {
|
|
|
//订单表数据
|
|
|
+ saleNo,
|
|
|
saleCustomNo,
|
|
|
saleDate,
|
|
|
saleOrderEstimatedTime,
|
|
|
saleLeadTime,
|
|
|
+ deliveryDate,
|
|
|
saleAmounts,
|
|
|
saleAmountInWords,
|
|
|
salePayType,
|
|
|
+ earnestMoney,
|
|
|
salesman,
|
|
|
saleLeader,
|
|
|
finance,
|
|
@@ -1235,12 +1353,14 @@ export default {
|
|
|
craftOil,
|
|
|
craftPackage,
|
|
|
craftColorFastness,
|
|
|
+ directionOfTwist,
|
|
|
craftOther,
|
|
|
craftMark,
|
|
|
shippingMethod,
|
|
|
} = this.formData;
|
|
|
- let saleCraftNo = this.isEdit ? this.formData.saleCraftNo : uuidv4(),
|
|
|
- saleNo = this.isEdit ? this.formData.saleNo : uuidv4();
|
|
|
+
|
|
|
+ let saleCraftNo = this.isEdit ? this.formData.saleCraftNo : uuidv4();
|
|
|
+ // saleNo = this.isEdit ? this.formData.saleNo : uuidv4();
|
|
|
let saleProductsNo = this.productionTableData
|
|
|
.map((item) => item.saleProductNo)
|
|
|
.join(","); //销售单表sale_products_no字段存货品表的sale_product_no,逗号分割
|
|
@@ -1254,10 +1374,12 @@ export default {
|
|
|
saleOrderEstimatedTime: moment(
|
|
|
new Date(saleOrderEstimatedTime)
|
|
|
).format("YYYY-MM-DD"),
|
|
|
+ deliveryDate: moment(new Date(deliveryDate)).format("YYYY-MM-DD"),
|
|
|
saleLeadTime,
|
|
|
// saleAmounts, //合计金额 小写
|
|
|
saleAmountInWords,
|
|
|
salePayType,
|
|
|
+ earnestMoney,
|
|
|
salesman: this.nickName,
|
|
|
saleLeader,
|
|
|
finance,
|
|
@@ -1271,6 +1393,7 @@ export default {
|
|
|
craftOil,
|
|
|
craftPackage,
|
|
|
craftColorFastness,
|
|
|
+ directionOfTwist,
|
|
|
craftOther,
|
|
|
craftMark,
|
|
|
shippingMethod,
|
|
@@ -1433,10 +1556,12 @@ export default {
|
|
|
...sale_craft[0],
|
|
|
...sale_order[0],
|
|
|
});
|
|
|
- let { saleDate, saleOrderEstimatedTime } = sale_order[0];
|
|
|
+ let { saleDate, saleOrderEstimatedTime, deliveryDate } =
|
|
|
+ sale_order[0];
|
|
|
saleDate && (this.formData.saleDate = new Date(saleDate));
|
|
|
saleOrderEstimatedTime &&
|
|
|
(this.formData.saleOrderEstimatedTime = saleOrderEstimatedTime);
|
|
|
+ deliveryDate && (this.formData.deliveryDate = new Date(deliveryDate));
|
|
|
this.productionTableData = sale_products;
|
|
|
this.productIds = sale_products.map((item) => item.saleProductNo);
|
|
|
|
|
@@ -2358,6 +2483,14 @@ export default {
|
|
|
window.location.reload();
|
|
|
return false;
|
|
|
},
|
|
|
+ // 根据字典value获取字典label
|
|
|
+ getDictLabel(value, dict) {
|
|
|
+ return (
|
|
|
+ this.dict.type[dict].find((item) => {
|
|
|
+ return item.value === value;
|
|
|
+ })?.label || ""
|
|
|
+ );
|
|
|
+ },
|
|
|
// 获取详情html字符串
|
|
|
async getDetailTableString(row) {
|
|
|
let { saleOrderSaleNo } = row;
|
|
@@ -2398,9 +2531,11 @@ export default {
|
|
|
saleDate, //销售单日期
|
|
|
saleOrderEstimatedTime, //预计下单时间
|
|
|
saleLeadTime, //交货周期
|
|
|
+ deliveryDate,
|
|
|
saleAmounts, //合计金额 小写
|
|
|
saleAmountInWords, //合计金额 大写
|
|
|
salePayType, //支付方式
|
|
|
+ earnestMoney,
|
|
|
salesman, //业务员
|
|
|
saleLeader, //业务主管
|
|
|
finance, //财务部
|
|
@@ -2422,6 +2557,7 @@ export default {
|
|
|
craftOil, //油剂
|
|
|
craftPackage, //卷装
|
|
|
craftColorFastness, //色牢度
|
|
|
+ directionOfTwist,
|
|
|
craftOther, //其它工艺要求
|
|
|
craftMark, //包装/贴唛
|
|
|
shippingMethod, //运输方式
|
|
@@ -2433,6 +2569,9 @@ export default {
|
|
|
let customAddress = customData?.customAddress || "无";
|
|
|
let customCountryType = customData?.customCountryType || "";
|
|
|
let contactPerson = customData?.contactPerson || "无";
|
|
|
+ let directionOfTwistDescription = directionOfTwist
|
|
|
+ ? this.getDictLabel(directionOfTwist, "direction_of_twist")
|
|
|
+ : "";
|
|
|
let printStr = `
|
|
|
<table style="width:1050px; border-collapse:collapse;" border="1" cellpadding="10" align="center">
|
|
|
<div style="text-align:center;font-size: 20px;">诸暨市新丝维纤维有限公司</div>
|
|
@@ -2459,12 +2598,14 @@ export default {
|
|
|
</tr>
|
|
|
<tr align="center">
|
|
|
<td width="300px" colspan="2">预计下单时间:</td>
|
|
|
- <td width="300px" colspan="2">${saleOrderEstimatedTime.replace(
|
|
|
+ <td colspan="1">${saleOrderEstimatedTime.replace(
|
|
|
"T",
|
|
|
" "
|
|
|
)}</td>
|
|
|
- <td width="300px" colspan="2">交货周期:</td>
|
|
|
+ <td colspan="1">交货周期:</td>
|
|
|
<td >${saleLeadTime}</td>
|
|
|
+ <td colspan="1">交货日期:</td>
|
|
|
+ <td >${deliveryDate.replace("T", " ")}</td>
|
|
|
</tr>
|
|
|
<tr align="center">
|
|
|
<td colspan="7">货品明细</td>
|
|
@@ -2491,9 +2632,8 @@ export default {
|
|
|
);
|
|
|
console.log("item", item);
|
|
|
item.sliceTypeLabel =
|
|
|
- this.sliceTypeOptions.find(
|
|
|
- (k) => k.materielCode == item.sliceType
|
|
|
- )?.materielName || "";
|
|
|
+ this.sliceTypeOptions.find((k) => k.materielCode == item.sliceType)
|
|
|
+ ?.materielName || "";
|
|
|
item.colourNumberLabel = this.colourNumberOptions.find(
|
|
|
(k) => k.materielCode == item.colourNumber
|
|
|
)?.materieColorNumber;
|
|
@@ -2522,10 +2662,22 @@ export default {
|
|
|
<tr>
|
|
|
<td colspan="7">合计金额(大写):${saleAmountInWords}</td>
|
|
|
</tr>
|
|
|
- <tr>
|
|
|
- <td colspan="7">付款方式:${salePayType}</td>
|
|
|
- </tr>
|
|
|
- <tr align="center">
|
|
|
+ `;
|
|
|
+
|
|
|
+ if (salePayType == "1") {
|
|
|
+ //定金
|
|
|
+ printStr += `
|
|
|
+ <tr>
|
|
|
+ <td colspan="4">付款方式:${salePayType}</td>
|
|
|
+ <td colspan="3">定金:${earnestMoney}</td>
|
|
|
+ </tr>`;
|
|
|
+ } else {
|
|
|
+ printStr += `
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">付款方式:${salePayType}</td>
|
|
|
+ </tr>`;
|
|
|
+ }
|
|
|
+ printStr += `<tr align="center">
|
|
|
<td colspan="7">工艺要求</td>
|
|
|
</tr>
|
|
|
<tr align="center">
|
|
@@ -2533,18 +2685,18 @@ export default {
|
|
|
<td width="150px">油剂</td>
|
|
|
<td width="150px">卷装</td>
|
|
|
<td width="150px">色牢度</td>
|
|
|
+ <td width="150px">捻向</td>
|
|
|
<td width="150px">其他</td>
|
|
|
<td width="150px"></td>
|
|
|
- <td width="150px"></td>
|
|
|
</tr>
|
|
|
<tr align="center">
|
|
|
<td >${craftGrid}</td>
|
|
|
<td>${craftOil}</td>
|
|
|
<td>${craftPackage}</td>
|
|
|
<td>${craftColorFastness}</td>
|
|
|
+ <td>${directionOfTwistDescription}</td>
|
|
|
<td>${craftOther}</td>
|
|
|
<td width="150px"></td>
|
|
|
- <td width="150px"></td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td colspan="7">包装/贴唛:${craftMark}</td>
|