From 75954b2d3519560691726fd043b99737524491fb Mon Sep 17 00:00:00 2001
From: zuozhengqing <a13193816592@163.com>
Date: 星期一, 05 二月 2024 19:12:46 +0800
Subject: [PATCH] 合并dev
---
src/views/overview/AddOverviewDialog.vue | 717 +++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 547 insertions(+), 170 deletions(-)
diff --git a/src/views/overview/AddOverviewDialog.vue b/src/views/overview/AddOverviewDialog.vue
index c6b7a82..446e496 100644
--- a/src/views/overview/AddOverviewDialog.vue
+++ b/src/views/overview/AddOverviewDialog.vue
@@ -1,12 +1,16 @@
<template>
<div class="add-common">
- <el-dialog :title="editCommonConfig.title + '閲囪喘鍏ュ簱'" :visible.sync="editConfig.visible" :width="dialogWidth"
- :before-close="handleClose">
+ <el-dialog
+ :title="editCommonConfig.title + '閲囪喘鍏ュ簱'"
+ :visible.sync="editConfig.visible"
+ :width="dialogWidth"
+ :before-close="handleClose"
+ >
<!-- 澶� -->
<div slot="title" class="dialog-header">
<span>{{ editCommonConfig.title === "鏌ョ湅" ? editCommonConfig.title : editCommonConfig.title + addName }}</span>
<div class="header_btns">
- <span class="btn" @click="btnPrint">
+ <span class="btn" :style="{ cursor: thatCursor, color: thatColor }" @click="btnPrint" :disabled="true">
<i class="el-icon-printer"></i>
<span>鎵撳嵃</span>
</span>
@@ -14,45 +18,118 @@
<i class="el-icon-s-tools"></i>
<span>鍔ㄤ綔</span>
</span>
- <el-button v-if="showEdit" :disabled="this.editConfig.infomation.status === 5" plain size="mini"
- style="margin-left: 15px" @click="editClick">缂栬緫</el-button>
+ <el-button
+ v-if="showEdit"
+ :disabled="this.editConfig.infomation.status === 5"
+ plain
+ size="mini"
+ style="margin-left: 15px"
+ @click="editClick"
+ >缂栬緫</el-button
+ >
</div>
</div>
<!-- 鍐呭 -->
- <el-form ref="form" :model="editConfig.infomation" :rules="rules" label-position="right" label-width="120px"
- size="mini">
+ <el-form
+ ref="form"
+ :model="editConfig.infomation"
+ :rules="rules"
+ label-position="right"
+ label-width="120px"
+ size="mini"
+ >
<div>
<!-- <div>aaa</div> -->
- <StatusCommonView :showButton="showButton" :isValidateClick="isValidateClick" :isDelClick="isDelClick"
- :isCancel="isCancel" :list="list" :showCancel="showCancel" @delClick="delClick" @validateClick="validateClick"
- @btnCancel="btnCancel" />
+ <StatusCommonView
+ :showButton="showButton"
+ :isValidateClick="isValidateClick"
+ :isDelClick="isDelClick"
+ :isCancel="isCancel"
+ :list="list"
+ :showCancel="showCancel"
+ @delClick="delClick"
+ @validateClick="validateClick"
+ @btnCancel="btnCancel"
+ />
</div>
<div class="basic-info">
<div class="basic-info-view">
<el-row>
<el-col :span="12">
+ <el-form-item prop="number">
+ <span slot="label">{{ workType === 1 ? "鍏ュ簱" : workType === 2 ? "鍑哄簱" : "璋冩嫧" }}鍗曞彿</span>
+ <el-input
+ style="width: 85%"
+ v-if="
+ editConfig.title == '缂栬緫' ||
+ editConfig.title == '鏌ョ湅' ||
+ (editConfig.title == '鏂板缓' && codenumer && (explain != '' || isIdDisabled))
+ "
+ :disabled="editConfig.title != '鏂板缓'"
+ v-model="editConfig.infomation.number"
+ placeholder="璇疯緭鍏ョ紪鐮�"
+ >
+ </el-input>
+ <span v-else-if="editConfig.title == '鏂板缓'" style="color: #f56c6c; width: 85%"
+ >璇蜂紭鍏堥厤缃紪鐮佽鑼� <el-button type="text" @click="numberClick"> 閰嶇疆瑙勮寖 </el-button></span
+ >
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
<el-form-item prop="companyName">
<span slot="label">{{ workType === 1 ? "渚涘簲鍟�" : workType === 2 ? "瀹㈡埛" : "鑱旂郴浜�" }}</span>
- <el-select v-if="workType === 1" v-model="editConfig.infomation.companyName" placeholder="璇烽�夋嫨"
- size="mini" style="width: 90%" :disabled="!showFooter" @change="companyChange">
- <el-option v-for="item in supplierOptions" :key="item.SupplierId" :label="item.SupplierName"
- :value="{ value: item.SupplierId, label: item.SupplierName }">
+ <el-select
+ v-if="workType === 1"
+ v-model="editConfig.infomation.companyName"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 90%"
+ :disabled="!showFooter"
+ @change="companyChange"
+ >
+ <el-option
+ v-for="item in supplierOptions"
+ :key="item.SupplierId"
+ :label="item.SupplierName"
+ :value="{ value: item.SupplierId, label: item.SupplierName }"
+ >
</el-option>
</el-select>
- <el-select v-else-if="workType === 2" v-model="editConfig.infomation.companyName" placeholder="璇烽�夋嫨"
- size="mini" style="width: 90%" :disabled="!showFooter" @change="companyChange">
- <el-option v-for="item in clientOptions" :key="item.ClientId" :label="item.ClientName"
- :value="{ value: item.ClientId, label: item.ClientName }">
+ <el-select
+ v-else-if="workType === 2"
+ v-model="editConfig.infomation.companyName"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 90%"
+ :disabled="!showFooter"
+ @change="companyChange"
+ >
+ <el-option
+ v-for="item in clientOptions"
+ :key="item.ClientId"
+ :label="item.ClientName"
+ :value="{ value: item.ClientId, label: item.ClientName }"
+ >
</el-option>
</el-select>
- <el-select v-else v-model="editConfig.infomation.companyName" placeholder="璇烽�夋嫨" size="mini"
- style="width: 90%" :disabled="!showFooter" @change="companyChange">
- <el-option v-for="item in companyOptions" :key="item.id" :label="item.name"
- :value="{ value: item.id, label: item.name }">
+ <el-select
+ v-else
+ v-model="editConfig.infomation.companyName"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 90%"
+ :disabled="!showFooter"
+ @change="companyChange"
+ >
+ <el-option
+ v-for="item in companyOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="{ value: item.id, label: item.name }"
+ >
</el-option>
</el-select>
-
</el-form-item>
</el-col>
<!-- <el-col :span="12">
@@ -85,15 +162,26 @@
</el-col> -->
<el-col :span="12">
<el-form-item label="鏃ユ湡" prop="operationDate">
- <el-date-picker v-model="editConfig.infomation.operationDate" value-format="yyyy-MM-dd" type="date"
- placeholder="閫夋嫨鏃ユ湡" style="width: 90%" :disabled="!showFooter">
+ <el-date-picker
+ v-model="editConfig.infomation.operationDate"
+ value-format="yyyy-MM-dd"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ style="width: 90%"
+ :disabled="!showFooter"
+ >
</el-date-picker>
</el-form-item>
</el-col>
<el-col v-if="showOperationType" :span="12">
<el-form-item label="鍏ュ簱绫诲瀷" prop="operationTypeId">
- <el-select v-model="editConfig.infomation.operationTypeId" placeholder="璇烽�夋嫨" size="mini"
- style="width: 90%" :disabled="!showFooter">
+ <el-select
+ v-model="editConfig.infomation.operationTypeId"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 90%"
+ :disabled="!showFooter"
+ >
<el-option v-for="item in operationTypeOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
@@ -106,34 +194,70 @@
</el-col>
<el-col :span="12">
<el-form-item label="鏉ユ簮鍗曟嵁" prop="sourceNumber">
- <el-input v-model="editConfig.infomation.sourceNumber" placeholder="渚嬪:PO0032" style="width: 90%"
- :disabled="!showFooter"></el-input>
+ <el-input
+ v-model="editConfig.infomation.sourceNumber"
+ placeholder="渚嬪:PO0032"
+ style="width: 90%"
+ :disabled="!showFooter"
+ ></el-input>
</el-form-item>
</el-col>
- <el-col :span="12">
- <el-form-item v-if="workType !== 1" label="婧愪綅缃�" prop="fromLocationId">
- <el-select v-model="editConfig.infomation.fromLocationId" placeholder="璇烽�夋嫨" size="mini"
- style="width: 90%" :disabled="!showFooter">
- <el-option v-for="item in toLocationOptions" :key="item.id" :label="item.jointName" :value="item.id">
- </el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item v-if="workType !== 2" label="浠撳簱浣嶇疆" prop="toLocationId">
- <el-select v-model="editConfig.infomation.toLocationId" placeholder="璇烽�夋嫨" size="mini" style="width: 90%"
- :disabled="!showFooter">
- <el-option v-for="item in toLocationOptions" :key="item.id" :label="item.jointName" :value="item.id">
+ <el-col :span="12" >
+ <el-form-item :label="workType === 1?'浠撳簱浣嶇疆':'婧愪綅缃�'" prop="location">
+ <el-select
+ @change="rootLocationChange"
+ v-model="editConfig.infomation.location"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 90%"
+ :disabled="!showFooter"
+ >
+ <el-option
+ v-for="item in formLocationOptions"
+ :key="item.id"
+ :label="item.jointName"
+ :value="{label:item.jointName,value:item.id}"
+ >
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="璐熻矗浜�" prop="contacterName">
- <el-select v-model="editConfig.infomation.contacterName" placeholder="璇烽�夋嫨" size="mini"
- style="width: 90%" :disabled="!showFooter" @change="contacterChange">
- <el-option v-for="item in memberOptions" :key="item.id" :label="item.name"
- :value="{ value: item.id, label: item.name }">
+ <el-select
+ v-model="editConfig.infomation.contacterName"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 90%"
+ :disabled="!showFooter"
+ @change="contacterChange"
+ >
+ <el-option
+ v-for="item in memberOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="{ value: item.id, label: item.name }"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12" v-if="workType === 3">
+ <el-form-item label="浠撳簱浣嶇疆" prop="toLocation">
+ <el-select
+ @change="toLocationChange"
+ v-model="editConfig.infomation.toLocation"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 90%"
+ :disabled="!showFooter"
+ >
+ <el-option
+ v-for="item in toLocationOptions"
+ :key="item.id"
+ :label="item.jointName"
+ :value="{label:item.jointName,value:item.id}"
+ >
</el-option>
</el-select>
</el-form-item>
@@ -154,8 +278,14 @@
</el-col> -->
<el-col :span="24">
<el-form-item label="澶囨敞" prop="comment">
- <el-input v-model.trim="editConfig.infomation.comment" size="mini" type="textarea" style="width: 96%"
- :autosize="{ minRows: 3 }" :disabled="!showFooter"></el-input>
+ <el-input
+ v-model.trim="editConfig.infomation.comment"
+ size="mini"
+ type="textarea"
+ style="width: 96%"
+ :autosize="{ minRows: 3 }"
+ :disabled="!showFooter"
+ ></el-input>
</el-form-item>
</el-col>
</el-row>
@@ -168,8 +298,14 @@
</el-tabs>
<!-- 鎿嶄綔 -->
<div v-if="activeName === 'first'">
- <CommonFormTableView :product-table-list="productTableList" :detail-enter="!showFooter"
- @inputContent="inputContent" @addProductClick="addProductClick('鎿嶄綔')">
+ <CommonFormTableView
+ ref="tableView"
+ :islistingrules="true"
+ :product-table-list="productTableList"
+ :detail-enter="!showFooter"
+ @inputContent="inputContent"
+ @addProductClick="addProductClick('鎿嶄綔')"
+ >
<template v-if="showFooter" slot="tableButton">
<el-table-column label="鎿嶄綔" width="60" fixed="right" align="center">
<template slot-scope="scope">
@@ -183,51 +319,88 @@
</div>
<!-- 鐗╂祦淇℃伅 -->
<div v-if="activeName === 'two' && this.workType === 2">
- <el-form :rules="rules" ref="shipmentsInfo" label-position="right" :model="shipmentsInfo" label-width="120px" size="mini"
- style="margin-top: 20px;">
+ <el-form
+ :rules="rules2"
+ ref="shipmentsInfo"
+ label-position="right"
+ :model="editConfig.infomation"
+ label-width="120px"
+ size="mini"
+ style="margin-top: 20px"
+ >
<el-col :span="12">
<el-form-item label="鎵胯繍鍟�">
- <el-select size="mini" :disabled="!showFooter" v-model="editConfig.infomation.logisticCompanyId"
- placeholder="璇烽�夋嫨" style="width: 90%;">
- <el-option v-for="item in shipmentsInfo.carrier" :key="item.id" :label="item.name" :value="item.id">
+ <el-select
+ size="mini"
+ :disabled="!showFooter"
+ v-model="editConfig.infomation.logisticCompanyId"
+ placeholder="璇烽�夋嫨"
+ style="width: 90%"
+ >
+ <el-option
+ v-for="item in editConfig.infomation.carrier"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="杩愬崟鍙�">
- <el-input style="width: 90%;" :disabled="!showFooter"
- v-model="editConfig.infomation.waybillNumber"></el-input>
+ <el-input
+ style="width: 90%"
+ :disabled="!showFooter"
+ v-model="editConfig.infomation.waybillNumber"
+ ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鏀惰揣浜�">
- <el-input style="width: 90%;" :disabled="!showFooter"
- v-model="editConfig.infomation.receiverName"></el-input>
+ <el-input
+ style="width: 90%"
+ :disabled="!showFooter"
+ v-model="editConfig.infomation.receiverName"
+ ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鑱旂郴鐢佃瘽" prop="receiverPhone">
- <el-input style="width: 90%;" :disabled="!showFooter"
- v-model="editConfig.infomation.receiverPhone"></el-input>
+ <el-input
+ style="width: 90%"
+ :disabled="!showFooter"
+ v-model="editConfig.infomation.receiverPhone"
+ ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鏀惰揣鍦板潃">
- <el-input style="width: 90%;" :disabled="!showFooter"
- v-model="editConfig.infomation.receiverAddr"></el-input>
+ <el-input
+ style="width: 90%"
+ :disabled="!showFooter"
+ v-model="editConfig.infomation.receiverAddr"
+ ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="閲嶉噺">
- <el-input style="width: 90%;" :disabled="!showFooter" type="number"
- v-model="editConfig.infomation.weight"></el-input>
+ <el-input
+ style="width: 90%"
+ :disabled="!showFooter"
+ type="number"
+ v-model="editConfig.infomation.weight"
+ ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鐗╂祦閲嶉噺">
- <el-input style="width: 90%;" :disabled="!showFooter" type="number"
- v-model="editConfig.infomation.logisticWeight"></el-input>
+ <el-input
+ style="width: 90%"
+ :disabled="!showFooter"
+ type="number"
+ v-model="editConfig.infomation.logisticWeight"
+ ></el-input>
</el-form-item>
</el-col>
</el-form>
@@ -257,7 +430,7 @@
<!-- 灏� -->
<div slot="footer" class="dialog-footer">
<!-- <el-button type="primary" size="small" @click="editConfig.visible = false">淇濆苟鎻愪氦瀹℃壒</el-button> -->
- <el-button type="primary" size="small" @click="saveClick('form','shipmentsInfo')" :disabled="!showFooter">淇濆瓨</el-button>
+ <el-button type="primary" size="small" @click="saveClick" :disabled="!showFooter">淇濆瓨</el-button>
<el-button size="small" @click="editConfig.visible = false">鍙栨秷</el-button>
</div>
</el-dialog>
@@ -278,8 +451,10 @@
printReceipts
} from "@/api/overview/overview"
import { getSupplierList, getCompanyList, getClientList } from "@/api/common/other"
+import codeMixin from "@/views/overview/mixin/codeMixin"
export default {
name: "AddOverviewDialog",
+ mixins: [codeMixin],
props: {
editCommonConfig: {
type: Object,
@@ -294,7 +469,10 @@
},
workType: {
type: Number,
- default: 1
+ default: function() {
+ // return JSON.parse(window.sessionStorage.getItem('paramsData')).workType|| 1;
+ return 1;
+ }
},
addName: {
type: String,
@@ -314,29 +492,31 @@
rules: {
sourceNumber: [{ required: true, message: "璇疯緭鍏ユ潵婧愬崟鎹�", trigger: "blur" }],
operationDate: [{ required: true, message: "璇烽�夋嫨鏃ユ湡", trigger: "change" }],
- toLocationId: [{ required: true, message: "璇烽�夋嫨浠撳簱浣嶇疆", trigger: "change" }],
- fromLocationId: [{ required: true, message: "璇烽�夋嫨婧愪綅缃�", trigger: "change" }],
+ toLocation: [{ required: true, message: "璇烽�夋嫨浠撳簱浣嶇疆", trigger: "change" }],
+ location: [{ required: true, message: "璇烽�夋嫨婧愪綅缃�", trigger: "change" }],
operationTypeId: [{ required: true, message: "璇烽�夋嫨鍏ュ簱绫诲瀷", trigger: "change" }],
+ number: [{ required: true, validator: this.validateCheckCode, trigger: ["change", "blur"] }]
+ },
+ rules2: {
receiverPhone: [
- {required: true, message: "璇疯緭鍏ユ墜鏈哄彿", trigger: "change" },
+ // {required: true, message: "璇疯緭鍏ユ墜鏈哄彿", trigger: "change" },
{
- pattern:
- /^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/,
+ pattern: /^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/,
message: "璇疯緭鍏ユ纭殑鎵嬫満鍙�",
- trigger: ["blur",'change' ],
- },
- ]
-
- },
+ trigger: ["blur", "change"]
+ }
+ ]
+ },
companyOptions: [], // 鍏徃
- supplierOptions: [],//渚涘簲鍟�
- clientOptions: [],//瀹㈡埛
+ supplierOptions: [], //渚涘簲鍟�
+ clientOptions: [], //瀹㈡埛
memberOptions: [{ id: 1, name: "绠$悊鍛�" }],
- toLocationOptions: [], // 婧愪綅缃� 浠撳簱浣嶇疆
+ formLocationOptions:[],// 婧愪綅缃�
+ toLocationOptions: [], // 浠撳簱浣嶇疆
showButton: true,
activeName: "first",
productTableList: {},
- tableData: [],
+ tableData:[],
countId: 0,
isNoProduct: true, // 娣诲姞鏄庣粏琛屾椂鏄惁鏈変骇鍝佹湭閫夋嫨
showEdit: false, // 鏄惁鏄剧ず缂栬緫鎸夐挳
@@ -356,13 +536,16 @@
operationTypeOptions: [], // 鍏ュ簱绫诲瀷鍒楄〃
shipmentsInfo: {
carrier: [],
- waybillNumber: '',
+ waybillNumber: "",
weight: 0,
logisticWeight: 0,
+ receiverPhone: ""
},
showCancel: false, // 鍙栨秷鏄惁鍙互鏄剧ず
list: [],
- pdfParams:{}
+ pdfParams: {},
+ thatCursor: this.workType === 3 ? "no-drop" : "pointer",
+ thatColor: this.workType === 3 ? "#ccc" : "#000"
}
},
created() {
@@ -372,13 +555,32 @@
this.setBottonView()
this.setDetailTableForm()
this.getLocationList()
- this.receiptType = this.editConfig.title === "鏌ョ湅" ? this.editConfig.infomation.operationTypeName : this.addName
+ this.receiptType =
+ this.editConfig.title === "鏌ョ湅" || this.editConfig.title === "缂栬緫"
+ ? this.editConfig.infomation.operationTypeName
+ : this.addName
if (this.showOperationType) {
this.getListTransfer()
}
this.getLogisticCompanyList()
+ this.formInfo()
+ if(this.editConfig.title==="鏌ョ湅"||this.editConfig.title==="缂栬緫"){
+ setTimeout(() => {
+ this.$refs.tableView.setLocationList(this.editConfig.infomation.location.label)
+ }, 100);
+ }
+ },
+ mounted(){
},
methods: {
+ formInfo() {
+ this.objCode.type = this.workType === 1 ? "鍏ュ簱缂栫爜" : this.workType === 2 ? "鍑哄簱缂栫爜" : "璋冩嫧缂栫爜"
+ this.objCode.codeStandID = ""
+ if (this.editConfig.infomation.codeStandardID) {
+ this.objCode.codeStandID = this.editConfig.infomation.codeStandardID
+ }
+ this.getRCodeStandardList()
+ },
setStatusList() {
if (this.editConfig.infomation.status === 5) {
this.list = [
@@ -422,11 +624,22 @@
})
}
},
- // 鑾峰彇浠撳簱浣嶇疆鍒楄〃
+ // 鑾峰彇婧愪綅缃�/浠撳簱浣嶇疆鍒楄〃
async getLocationList() {
await getLocationList({
keyWord: "",
jointName: this.editConfig.code,
+ page: 0,
+ pageSize: 0
+ }).then((res) => {
+ console.log(res)
+ if (res.code === 200) {
+ this.formLocationOptions = res.data
+ }
+ })
+ await getLocationList({
+ keyWord: "",
+ // jointName: this.editConfig.code,
page: 0,
pageSize: 0
}).then((res) => {
@@ -531,14 +744,24 @@
async getLogisticCompanyList() {
await getLogisticCompanyList().then((res) => {
if (res.code === 200) {
- this.shipmentsInfo.carrier = res.data
+ this.editConfig.infomation.carrier = res.data
}
})
},
// 淇濆瓨
- saveClick(formName,shipmentsInfo) {
- this.$refs[formName,shipmentsInfo].validate((valid) => {
- if (valid) {
+ saveClick() {
+ let validArr = []
+ if (this.workType === 2) {
+ console.log("鍑哄簱")
+ validArr = [this.$refs.form.validate()]
+ } else {
+ console.log("鍏ュ簱")
+ validArr = [this.$refs.form.validate()]
+ }
+ console.log(validArr, "xxx")
+ Promise.all(validArr)
+ .then((results) => {
+ console.log(results, "鎵ц鎴愬姛")
for (let i = 0; i < this.tableData.length; i++) {
if (this.tableData[i].productName.length === 0) {
this.isNoProduct = true
@@ -550,21 +773,112 @@
if (this.isNoProduct) {
this.$message.error("璇锋坊鍔犳槑缁嗚鎴栭�夋嫨浜у搧涓嶈兘涓虹┖")
} else {
- let requestUrl = this.editConfig.title === "鏂板缓" ? addOperation : updateOperation
let params = this.saveParams()
+ // if(this.workType===2){
+ // params.details.map((item)=>{
+ // item.fromLocationId=item.fromLocationId.value
+ // })
+ // }else if(this.workType===3){
+ // params.details.map((item)=>{
+ // item.fromLocationId=item.fromLocationId.value
+ // item.toLocationId=item.toLocationId.value
+ // })
+ // }
+ // 浜у搧鍒楄〃瑙f瀯
+ if(this.editConfig.title === "缂栬緫"||this.editConfig.title === "鏌ョ湅"){
+ let arr=[]
+ if(this.workType===1){
+ params.details.map((item)=>{
+ arr.push({
+ operationId:item.operationId,
+ amount:item.amount,
+ productId:item.productId
+ })
+ })
+ params.details=arr
+ }else if(this.workType===2){
+ params.details.map((item)=>{
+ if(item.fromLocationId.value){
+ arr.push({
+ operationId:item.operationId,
+ amount:item.amount,
+ fromLocationId:item.fromLocationId.value,
+ productId:item.productId,
+ })
+ }else{
+ arr.push({
+ operationId:item.operationId,
+ amount:item.amount,
+ fromLocationId:item.fromLocation.id,
+ productId:item.productId,
+ })
+ }
+ })
+ params.details=arr
+ }else if(this.workType===3){
+ console.log(params.details,"鐪嬬湅")
+ params.details.map((item)=>{
+ arr.push({
+ operationId:item.operationId,
+ amount:item.amount,
+ fromLocationId:item.fromLocationId.value?item.fromLocationId.value:item.fromLocation.id,
+ toLocationId:item.toLocationId.value?item.toLocationId.value:item.toLocation.id,
+ productId:item.productId,
+ })
+ // if(item.fromLocationId.value){
+ // arr.push({
+ // operationId:item.operationId,
+ // amount:item.amount,
+ // fromLocationId:item.fromLocationId.value,
+ // toLocationId:item.toLocation.id,
+ // productId:item.productId,
+ // })
+ // }else{
+ // arr.push({
+ // operationId:item.operationId,
+ // amount:item.amount,
+ // fromLocationId:item.fromLocation.id,
+ // toLocationId:item.toLocation.id,
+ // productId:item.productId,
+ // })
+ // }
+ })
+ params.details=arr
+ }
+ }else if(this.editConfig.title === "鏂板缓"){
+ if(this.workType===2){
+ params.details.map((item)=>{
+ item.fromLocationId=item.fromLocationId.value
+ })
+ }else if(this.workType===3){
+ params.details.map((item)=>{
+ item.fromLocationId=item.fromLocationId.value
+ item.toLocationId=item.toLocationId.value
+ })
+ }
+ }
+ let requestUrl = this.editConfig.title === "鏂板缓" ? addOperation : updateOperation
+ // let params = this.saveParams()
requestUrl({
...params
}).then((res) => {
- console.log(res)
this.editConfig.visible = false
if (res.code === 200) {
- this.$message.success("娣诲姞鎴愬姛")
+ if (this.editConfig.title === "鏂板缓") {
+ this.$message.success("娣诲姞鎴愬姛")
+ } else {
+ this.$message.success("缂栬緫鎴愬姛")
+ }
this.$parent.getData()
+ }else{
+ this.$message.success(res.msg)
}
})
}
- }
- })
+ })
+ .catch((error) => {
+ console.error("琛ㄥ崟鏍¢獙鏈�氳繃:", error)
+ })
},
saveParams() {
let data = this.editConfig.infomation
@@ -583,30 +897,59 @@
contacterID = Object.keys(this.contacterObj).length === 0 ? data.contacterID : this.contacterObj.value
contacterName = Object.keys(this.contacterObj).length === 0 ? data.contacterName : this.contacterObj.label
}
- let params = {
- baseOperationType: data.baseOperationType,
- comment: data.comment || "",
- companyID: companyID,
- companyName: companyName,
- contacterID: contacterID,
- contacterName: contacterName,
- details: this.tableData,
- fromLocationId: data.fromLocationId || 0,
- id: data.id,
- number: data.number || "",
- operationDate: data.operationDate || "",
- operationTypeId: this.showOperationType ? data.operationTypeId : this.editConfig.operationTypeId,
- operationTypeName: this.receiptType,
- sourceNumber: data.sourceNumber || "",
- status: 3,
- toLocationId: data.toLocationId || 0,
- waybillNumber: data.waybillNumber || '',
- weight: data.weight || 0,
- logisticWeight: data.logisticWeight || 0,
- logisticCompanyId: data.logisticCompanyId,
- receiverAddr: data.receiverAddr || '',
- receiverName: data.receiverName || '',
- receiverPhone: data.receiverPhone || ''
+ let params={}
+ if(this.workType===1||this.workType===2){
+ params = {
+ baseOperationType: data.baseOperationType,
+ comment: data.comment || "",
+ companyID: companyID,
+ companyName: companyName,
+ contacterID: contacterID,
+ contacterName: contacterName,
+ details: this.tableData,
+ locationId: data.location.value || 0,
+ id: data.id,
+ number: data.number || "",
+ operationDate: data.operationDate || "",
+ operationTypeId: this.showOperationType ? data.operationTypeId : this.editConfig.operationTypeId,
+ operationTypeName: this.receiptType,
+ sourceNumber:data.sourceNumber || "" ,
+ status: 3,
+ // toLocationId: data.toLocation.value||0,
+ waybillNumber: data.waybillNumber || "",
+ weight: data.weight || 0,
+ logisticWeight: data.logisticWeight || 0,
+ logisticCompanyId: data.logisticCompanyId,
+ receiverAddr: data.receiverAddr || "",
+ receiverName: data.receiverName || "",
+ receiverPhone: data.receiverPhone || ""
+ }
+ }else if(this.workType===3){
+ params = {
+ baseOperationType: data.baseOperationType,
+ comment: data.comment || "",
+ companyID: companyID,
+ companyName: companyName,
+ contacterID: contacterID,
+ contacterName: contacterName,
+ details: this.tableData,
+ locationId: data.location.value || 0,
+ id: data.id,
+ number: data.number || "",
+ operationDate: data.operationDate || "",
+ operationTypeId: this.showOperationType ? data.operationTypeId : this.editConfig.operationTypeId,
+ operationTypeName: this.receiptType,
+ sourceNumber:data.sourceNumber || "" ,
+ status: 3,
+ toLocationId: data.toLocation.value||0,
+ waybillNumber: data.waybillNumber || "",
+ weight: data.weight || 0,
+ logisticWeight: data.logisticWeight || 0,
+ logisticCompanyId: data.logisticCompanyId,
+ receiverAddr: data.receiverAddr || "",
+ receiverName: data.receiverName || "",
+ receiverPhone: data.receiverPhone || ""
+ }
}
return params
},
@@ -640,23 +983,39 @@
this.tableData = []
}
// this.tableData = this.editConfig.title !== "鏂板缓" ? list : []
- this.productTableList = {
- tableData: this.tableData,
- tableColumn: [
+ let tableColumnArr=[]
+ if(this.workType===1){
+ tableColumnArr= [
{ label: "浜у搧", prop: "productName", productName: true, isRequird: true },
- // { label: "璇存槑", prop: "number", input: true },
- // { label: "鏃ユ湡", prop: "amount", date: true, isRequird: true },
- // { label: "鎴鏃ユ湡", prop: "price", date: true },
{ label: "鏁伴噺", prop: "amount", inputFloat: true },
{ label: "璁¢噺鍗曚綅", prop: "unit" }
]
+ }else if(this.workType===2){
+ tableColumnArr = [
+ { label: "浜у搧", prop: "productName", productName: true, isRequird: true },
+ { label: "浠�", prop: "fromLocationId", sonLocation: true, isRequird: true },
+ { label: "鏁伴噺", prop: "amount", inputFloat: true },
+ { label: "璁¢噺鍗曚綅", prop: "unit" }
+ ]
+ }else if(this.workType===3){
+ tableColumnArr = [
+ { label: "浜у搧", prop: "productName", productName: true, isRequird: true },
+ { label: "浠�", prop: "fromLocationId", sonLocation: true, isRequird: true },
+ { label: "鑷�", prop: "toLocationId", toLocation: true,isRequird: true },
+ { label: "鏁伴噺", prop: "amount", inputFloat: true },
+ { label: "璁¢噺鍗曚綅", prop: "unit" }
+ ]
+ }
+ this.productTableList = {
+ tableData: this.tableData,
+ tableColumn: tableColumnArr
}
},
// 鎿嶄綔杈撳叆
inputContent(val, prop, row) {
this.countId = row.countId
this.tableData.map((item) => {
- if (item.countId === row.countId) {
+ if (item.id === row.id) {
item[prop] = val
}
})
@@ -681,7 +1040,7 @@
productId: "",
amount: 0,
unit: "",
- productName: ""
+ productName: "",
})
}
} else {
@@ -776,54 +1135,71 @@
// 鍙栨秷
btnCancel() {
- this.$confirm('纭畾鍙栨秷鍚楋紵', '鎻愮ず', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- }).then(() => {
- stateCancel(this.editConfig.infomation.id).then((res) => {
- console.log(res)
- this.editConfig.visible = false
- if (res.code === 200) {
- this.$message.success("鍙栨秷璋冩嫧")
- this.$parent.getData()
- }
+ this.$confirm("纭畾鍙栨秷鍚楋紵", "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ })
+ .then(() => {
+ stateCancel(this.editConfig.infomation.id).then((res) => {
+ console.log(res)
+ this.editConfig.visible = false
+ if (res.code === 200) {
+ this.$message.success("鍙栨秷璋冩嫧")
+ this.$parent.getData()
+ }
+ })
+ this.list.map((item) => {
+ if (item.label === "宸插彇娑�") {
+ item.status = "active"
+ } else {
+ item.status = "todo"
+ }
+ })
})
- this.list.map((item) => {
- if (item.label === "宸插彇娑�") {
- item.status = "active"
- } else {
- item.status = "todo"
- }
- })
- }).catch(() => {
- });
+ .catch(() => {})
},
//鎵撳嵃
async btnPrint() {
- localStorage.removeItem('pdfParams');
- try {
- let res = await printReceipts(this.editCommonConfig.infomation.id);
- console.log(res);
- if (res.code === 200) {
- console.log(this.editConfig.infomation.baseOperationType,"绫诲瀷")
- let pdfParams = {
- url: res.data,
- baseOperationType: this.editConfig.infomation.baseOperationType || undefined,
- cutAfterWidth: this.editConfig.infomation.baseOperationType === 2 ? 50.8 : 53.3
- };
- var { href } = this.$router.resolve({
- path: '/overview/previewExcel',
- query:{
+ if (this.workType !== 3) {
+ localStorage.removeItem("pdfParams")
+ try {
+ let res = await printReceipts(this.editCommonConfig.infomation.id)
+ console.log(res)
+ if (res.code === 200) {
+ console.log(this.editConfig.infomation.baseOperationType, "绫诲瀷")
+ let pdfParams = {
+ url: res.data,
+ baseOperationType: this.editConfig.infomation.baseOperationType || undefined,
+ cutAfterWidth: this.editConfig.infomation.baseOperationType === 2 ? 50.8 : 53.3
+ }
+ var { href } = this.$router.resolve({
+ path: "/overview/previewExcel",
+ query: {
...pdfParams
}
-
- });
- window.open(href, '_blank');
+ })
+ window.open(href, "_blank")
+ }
+ } catch (error) {
+ console.error(error)
}
- } catch (error) {
- console.error(error);
}
+ },
+ // 婧愪綅缃�夋嫨
+ rootLocationChange(val){
+ this.editConfig.infomation.location=val
+ // this.productTableList.tableData.map((item)=>{
+ // console.log(item,"item")
+ // // item.toLocationId={}
+ // // item.fromLocationId={}
+ // })
+ this.$refs.tableView.setLocationList(val.label,"fromLocation")
+ },
+ // 浠撳簱浣嶇疆閫夋嫨
+ toLocationChange(val){
+ this.editConfig.infomation.toLocation=val
+ this.$refs.tableView.setLocationList(val.label,"toLocation")
}
}
}
@@ -847,6 +1223,7 @@
.btn:nth-of-type(2) {
cursor: no-drop;
+ color: #ccc;
}
}
}
@@ -899,7 +1276,7 @@
}
}
- .el-tabs--card>.el-tabs__header {
+ .el-tabs--card > .el-tabs__header {
border-bottom: none;
}
--
Gitblit v1.8.0