From 22cc58da618739bda45f31c8d5db363ec9dc0456 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期三, 17 四月 2024 13:53:49 +0800
Subject: [PATCH] 产品模块 产品类型,产品类别 2项增加删除+
---
src/views/overview/AddOverviewDialog.vue | 1541 ++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 1,206 insertions(+), 335 deletions(-)
diff --git a/src/views/overview/AddOverviewDialog.vue b/src/views/overview/AddOverviewDialog.vue
index 2097ac0..4f93016 100644
--- a/src/views/overview/AddOverviewDialog.vue
+++ b/src/views/overview/AddOverviewDialog.vue
@@ -8,9 +8,18 @@
>
<!-- 澶� -->
<div slot="title" class="dialog-header">
- <span>{{ editCommonConfig.title === "鏌ョ湅" ? editCommonConfig.title : editCommonConfig.title + addName }}</span>
+ <span>{{
+ editCommonConfig.title === "鏌ョ湅"
+ ? editCommonConfig.title
+ : editCommonConfig.title + addName
+ }}</span>
<div class="header_btns">
- <span class="btn">
+ <span
+ class="btn"
+ :style="{ cursor: thatCursor, color: thatColor }"
+ @click="btnPrint"
+ :disabled="true"
+ >
<i class="el-icon-printer"></i>
<span>鎵撳嵃</span>
</span>
@@ -18,7 +27,15 @@
<i class="el-icon-s-tools"></i>
<span>鍔ㄤ綔</span>
</span>
- <el-button v-if="showEdit" 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>
<!-- 鍐呭 -->
@@ -36,6 +53,7 @@
:showButton="showButton"
:isValidateClick="isValidateClick"
:isDelClick="isDelClick"
+ :isCancel="isCancel"
:list="list"
:showCancel="showCancel"
@delClick="delClick"
@@ -47,9 +65,89 @@
<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>
+ <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-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-option>
+ </el-select>
+ <el-select
+ v-else
v-model="editConfig.infomation.companyName"
placeholder="璇烽�夋嫨"
size="mini"
@@ -117,14 +215,23 @@
style="width: 90%"
:disabled="!showFooter"
>
- <el-option v-for="item in operationTypeOptions" :key="item.id" :label="item.name" :value="item.id">
+ <el-option
+ v-for="item in operationTypeOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col v-else :span="12">
<el-form-item label="鍏ュ簱绫诲瀷">
- <el-input v-model="receiptType" disabled style="width: 90%"></el-input>
+ <el-input
+ v-model="receiptType"
+ disabled
+ style="width: 90%"
+ ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -138,38 +245,23 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item v-if="workType !== 1" label="婧愪綅缃�" prop="fromLocationId">
+ <el-form-item
+ :label="workType === 1 ? '浠撳簱浣嶇疆' : '浠�'"
+ prop="location"
+ >
<el-select
- v-model="editConfig.infomation.fromLocationId"
+ @change="rootLocationChange"
+ v-model="editConfig.infomation.location"
placeholder="璇烽�夋嫨"
size="mini"
style="width: 90%"
:disabled="!showFooter"
>
<el-option
- v-for="item in toLocationOptions"
+ v-for="item in formLocationOptions"
: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"
+ :value="{ label: item.jointName, value: item.id }"
>
</el-option>
</el-select>
@@ -187,6 +279,146 @@
>
<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>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="涓荤" prop="managerObj">
+ <!-- <SimpleSearchInput
+ style="width: 90%"
+ v-model="editConfig.infomation.manager"
+ :echoValue="editConfig.infomation.manager"
+ :echoName="editConfig.infomation.manager"
+ checkedNum="1"
+ :clearable="true"
+ request='2'
+ @select-user="setFormItem($event, 'manager', 'managerName')"
+ >
+ </SimpleSearchInput> -->
+ <el-select
+ v-model="editConfig.infomation.managerObj"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 90%"
+ :disabled="!showFooter"
+ filterable
+ @change="
+ (event) =>
+ personChange(
+ event,
+ 'manager',
+ 'managerId',
+ 'managerObj'
+ )
+ "
+ >
+ <el-option
+ v-for="item in personelOptions"
+ :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">
+ <el-form-item label="浼氳" prop="accountantObj">
+ <!-- <SimpleSearchInput
+ style="width: 90%"
+ v-model="editConfig.infomation.accountant"
+ :echoValue="editConfig.infomation.accountant"
+ :echoName="editConfig.infomation.accountant"
+ checkedNum="1"
+ :clearable="true"
+ request='2'
+ @select-user="setFormItem($event, 'manager', 'accountantName')"
+ >
+ </SimpleSearchInput> -->
+ <el-select
+ v-model="editConfig.infomation.accountantObj"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 90%"
+ filterable
+ :disabled="!showFooter"
+ @change="
+ (event) =>
+ personChange(
+ event,
+ 'accountant',
+ 'accountantId',
+ 'accountantObj'
+ )
+ "
+ >
+ <el-option
+ v-for="item in personelOptions"
+ :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">
+ <el-form-item label="淇濈鍛�" prop="custodianObj">
+ <!-- <SimpleSearchInput
+ style="width: 90%"
+ v-model="editConfig.infomation.custodian"
+ :echoValue="editConfig.infomation.custodian"
+ :echoName="editConfig.infomation.custodian"
+ checkedNum="1"
+ :clearable="true"
+ request='2'
+ @select-user="setFormItem($event, 'custodian', 'custodianName')"
+ >
+ </SimpleSearchInput> -->
+ <el-select
+ v-model="editConfig.infomation.custodianObj"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 90%"
+ filterable
+ :disabled="!showFooter"
+ @change="
+ (event) =>
+ personChange(
+ event,
+ 'custodian',
+ 'custodianId',
+ 'custodianObj'
+ )
+ "
+ >
+ <el-option
+ v-for="item in personelOptions"
:key="item.id"
:label="item.name"
:value="{ value: item.id, label: item.name }"
@@ -227,49 +459,134 @@
<el-tabs v-model="activeName" type="card">
<!-- <el-tab-pane v-if="workType !== 1" label="璇︽儏" name="detail"> </el-tab-pane> -->
<el-tab-pane label="浜у搧" name="first"> </el-tab-pane>
- <el-tab-pane label="鍙戣揣淇℃伅" name="two"></el-tab-pane>
+ <el-tab-pane
+ label="鐗╂祦淇℃伅"
+ name="two"
+ v-if="this.workType === 2"
+ ></el-tab-pane>
</el-tabs>
<!-- 鎿嶄綔 -->
<div v-if="activeName === 'first'">
<CommonFormTableView
+ ref="tableView"
+ :islistingrules="true"
+ :addTypeIdMultiple="true"
:product-table-list="productTableList"
:detail-enter="!showFooter"
@inputContent="inputContent"
@addProductClick="addProductClick('鎿嶄綔')"
+ @getSelectArray="getSelectArray"
+ @emptyProductClick="emptyProductClick"
+ @clearupProduct="clearupProduct"
>
<template v-if="showFooter" slot="tableButton">
- <el-table-column label="鎿嶄綔" width="60" fixed="right" align="center">
+ <el-table-column
+ label="鎿嶄綔"
+ width="60"
+ fixed="right"
+ align="center"
+ >
<template slot-scope="scope">
- <div @click="handleDelClick(scope, '鎿嶄綔')">
+ <!-- <div @click="handleDelClick(scope, '鎿嶄綔')">
<i class="el-icon-delete"></i>
- </div>
+ </div> -->
+ <el-button
+ type="text"
+ size="small"
+ @click.stop="handleDelClick(scope, '鎿嶄綔')"
+ >鍒犻櫎</el-button
+ >
</template>
</el-table-column>
</template>
</CommonFormTableView>
</div>
- <!-- 鍙戣揣淇℃伅 -->
- <div v-if="activeName==='two'">
- <el-form label-position="left" label-width="80px" :model="shipmentsInfo">
- <el-form-item label="鎵胯繍鍟�" style="width: 50%;">
- <el-select :disabled="!showFooter" v-model="editConfig.infomation.logisticCompanyId" placeholder="璇烽�夋嫨" style="width: 100%;">
- <el-option
- v-for="item in shipmentsInfo.carrier"
- :key="item.id"
- :label="item.name"
- :value="item.id">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="杩愬崟鍙�" style="width: 50%;">
- <el-input :disabled="!showFooter" v-model="editConfig.infomation.waybillNumber"></el-input>
- </el-form-item>
- <el-form-item label="閲嶉噺" style="width: 50%;">
- <el-input :disabled="!showFooter" v-model="editConfig.infomation.weight"></el-input>
- </el-form-item>
- <el-form-item label="鐗╂祦閲嶉噺" style="width: 50%;">
- <el-input :disabled="!showFooter" v-model="editConfig.infomation.logisticWeight"></el-input>
- </el-form-item>
+ <!-- 鐗╂祦淇℃伅 -->
+ <div v-if="activeName === 'two' && this.workType === 2">
+ <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 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-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-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-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-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-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-form-item>
+ </el-col>
</el-form>
</div>
<!-- 璇︽儏 -->
@@ -297,15 +614,23 @@
<!-- 灏� -->
<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')" :disabled="!showFooter">淇濆瓨</el-button>
- <el-button size="small" @click="editConfig.visible = false">鍙栨秷</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>
</div>
</template>
<script>
-import CommonFormTableView from "@/components/makepager/CommonFormTableView"
+import CommonFormTableView from "@/components/makepager/CommonFormTableView";
import {
getLocationList,
addOperation,
@@ -314,11 +639,20 @@
stateCancel,
deleteOperation,
getListTransfer,
- getLogisticCompanyList
-} from "@/api/overview/overview"
-import { getCompanyList } from "@/api/common/other"
+ getLogisticCompanyList,
+ printReceipts,
+} from "@/api/overview/overview";
+import {
+ getSupplierList,
+ getCompanyList,
+ getClientList,
+} from "@/api/common/other";
+// import SimpleSearchInput from "@/components/makepager/SimpleSearchInput"
+import { getPersonnelList } from "@/api/product/product";
+import codeMixin from "@/views/overview/mixin/codeMixin";
export default {
name: "AddOverviewDialog",
+ mixins: [codeMixin],
props: {
editCommonConfig: {
type: Object,
@@ -327,46 +661,77 @@
visible: false,
title: "鏂板缓",
operationTypeId: 0,
- infomation: {}
- }
- }
+ infomation: {},
+ };
+ },
},
workType: {
type: Number,
- default: 1
+ default: function () {
+ // return JSON.parse(window.sessionStorage.getItem('paramsData')).workType|| 1;
+ return 1;
+ },
},
addName: {
type: String,
- default: "璋冩嫧"
+ default: "璋冩嫧",
},
showOperationType: {
type: Boolean,
- default: false
- }
+ default: false,
+ },
},
- components: { CommonFormTableView },
+ components: {
+ CommonFormTableView,
+ // SimpleSearchInput,
+ },
computed: {},
data() {
return {
dialogWidth: "50%",
editConfig: this.editCommonConfig,
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" }],
- operationTypeId: [{ required: true, message: "璇烽�夋嫨鍏ュ簱绫诲瀷", trigger: "change" }]
+ sourceNumber: [
+ { required: true, message: "璇疯緭鍏ユ潵婧愬崟鎹�", trigger: "blur" },
+ ],
+ operationDate: [
+ { 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" },
+ {
+ 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"],
+ },
+ ],
},
companyOptions: [], // 鍏徃
+ supplierOptions: [], //渚涘簲鍟�
+ clientOptions: [], //瀹㈡埛
memberOptions: [{ id: 1, name: "绠$悊鍛�" }],
- toLocationOptions: [], // 婧愪綅缃� 浠撳簱浣嶇疆
- list: [
- { label: "鑽夌", status: "todo", value: 1 },
- { label: "姝e湪绛夊緟", status: "todo", value: 2 },
- { label: "灏辩华", status: "todo", value: 3 },
- { label: "瀹屾垚", status: "todo", value: 4 },
- { label: "宸插彇娑�", status: "todo", value: 5 }
- ],
+ personelOptions: [],
+ formLocationOptions: [], // 鑷�
+ toLocationOptions: [], // 浠撳簱浣嶇疆
showButton: true,
activeName: "first",
productTableList: {},
@@ -375,6 +740,7 @@
isNoProduct: true, // 娣诲姞鏄庣粏琛屾椂鏄惁鏈変骇鍝佹湭閫夋嫨
showEdit: false, // 鏄惁鏄剧ず缂栬緫鎸夐挳
isDelClick: false, // 鍒犻櫎鎸夐挳鏄惁鍙偣鍑�
+ isCancel: false, //楠岃瘉鎸夐挳鏄惁鍙偣鍑�
showFooter: false, // 鏄惁鏄剧ず鍙栨秷淇濆瓨
currentState: "todo", // 褰撳墠鐘舵��
detailTableList: {},
@@ -388,228 +754,521 @@
isValidateClick: false, // 楠岃瘉鏄惁鏄剧ず
operationTypeOptions: [], // 鍏ュ簱绫诲瀷鍒楄〃
shipmentsInfo: {
- carrier:[],
- waybillNumber:'',
- weight:0,
- logisticWeight:0,
+ carrier: [],
+ waybillNumber: "",
+ weight: 0,
+ logisticWeight: 0,
+ receiverPhone: "",
},
- showCancel:false, // 鍙栨秷鏄惁鍙互鏄剧ず
- }
+ showCancel: false, // 鍙栨秷鏄惁鍙互鏄剧ず
+ list: [],
+ pdfParams: {},
+ thatCursor: this.workType === 3 ? "no-drop" : "pointer",
+ thatColor: this.workType === 3 ? "#ccc" : "#000",
+ };
},
created() {
- this.setTableForm()
- this.setBottonView()
- this.setDetailTableForm()
- this.getCompanyList()
- this.getLocationList()
- this.receiptType = this.editConfig.title === "鏌ョ湅" ? this.editConfig.infomation.operationTypeName : this.addName
+ this.getCompanyList();
+ this.setStatusList();
+ this.setTableForm();
+ this.setBottonView();
+ this.setDetailTableForm();
+ this.getLocationList();
+ this.receiptType =
+ this.editConfig.title === "鏌ョ湅" || this.editConfig.title === "缂栬緫"
+ ? this.editConfig.infomation.operationTypeName
+ : this.addName;
if (this.showOperationType) {
- this.getListTransfer()
+ this.getListTransfer();
}
- this.getLogisticCompanyList()
+ this.getLogisticCompanyList();
+ this.formInfo();
+ if (this.editConfig.title === "鏌ョ湅" || this.editConfig.title === "缂栬緫") {
+ setTimeout(() => {
+ this.$refs.tableView.setLocationList(
+ this.editConfig.infomation.location.label
+ );
+ }, 100);
+ }
},
+ mounted() {},
methods: {
+ setFormItem(val, itemMark, itemName) {
+ console.log(val, "===val");
+ this.editConfig.infomation[itemMark] = val.id;
+ this.editConfig.infomation[itemName] = val.name;
+ },
+ 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 = [
+ { label: "鑽夌", status: "todo", value: 1 },
+ { label: "姝e湪绛夊緟", status: "todo", value: 2 },
+ { label: "灏辩华", status: "todo", value: 3 },
+ { label: "瀹屾垚", status: "todo", value: 4 },
+ { label: "宸插彇娑�", status: "todo", value: 5 },
+ ];
+ } else {
+ this.list = [
+ { label: "鑽夌", status: "todo", value: 1 },
+ { label: "姝e湪绛夊緟", status: "todo", value: 2 },
+ { label: "灏辩华", status: "todo", value: 3 },
+ { label: "瀹屾垚", status: "todo", value: 4 },
+ ];
+ }
+ },
// 鑾峰彇鍏徃鍒楄〃
async getCompanyList() {
- await getCompanyList().then((res) => {
- console.log(res)
+ await getPersonnelList().then((res) => {
if (res.code === 200) {
- this.companyOptions = res.data
+ this.personelOptions = res.data;
}
- })
+ });
+ if (this.workType === 1) {
+ await getSupplierList().then((res) => {
+ console.log(res);
+ if (res.code === 200) {
+ this.supplierOptions = res.data;
+ }
+ });
+ } else if (this.workType === 2) {
+ await getClientList().then((res) => {
+ console.log(res);
+ if (res.code === 200) {
+ this.clientOptions = res.data;
+ }
+ });
+ } else {
+ await getCompanyList().then((res) => {
+ console.log(res);
+ if (res.code === 200) {
+ this.companyOptions = res.data;
+ }
+ });
+ }
},
- // 鑾峰彇浠撳簱浣嶇疆鍒楄〃
+ personChange(val, name, id, obj) {
+ this.editConfig.infomation[obj] = val;
+ this.editConfig.infomation[name] = val.label;
+ this.editConfig.infomation[id] = val.value;
+ },
+ // 鑾峰彇璋冨嚭浣嶇疆/浠撳簱浣嶇疆鍒楄〃
async getLocationList() {
await getLocationList({
keyWord: "",
jointName: this.editConfig.code,
page: 0,
- pageSize: 0
+ pageSize: 0,
}).then((res) => {
- console.log(res)
+ console.log(res);
if (res.code === 200) {
- this.toLocationOptions = res.data
+ this.formLocationOptions = res.data;
}
- })
+ });
+ await getLocationList({
+ keyWord: "",
+ // jointName: this.editConfig.code,
+ page: 0,
+ pageSize: 0,
+ }).then((res) => {
+ console.log(res);
+ if (res.code === 200) {
+ this.toLocationOptions = res.data;
+ }
+ });
},
// 鑾峰彇浠撳簱绫诲瀷
async getListTransfer() {
await getListTransfer({
keyword: "",
page: 0,
- pageSize: 0
+ pageSize: 0,
}).then((res) => {
- console.log(res.data)
+ console.log(res.data);
if (res.code === 200) {
const list = res.data.map((item) => {
return {
name: item.name,
- id: item.id
- }
- })
- this.operationTypeOptions = list || []
+ id: item.id,
+ };
+ });
+ this.operationTypeOptions = list || [];
}
- })
+ });
},
// 璁剧疆鍒犻櫎/鎵撳嵃/缂栬緫鏄惁鏄剧ず
setBottonView() {
- console.log(this.editConfig.infomation.status)
+ console.log(this.editConfig.infomation.status);
if (this.editConfig.title === "鏂板缓") {
- this.showButton = false
- this.showEdit = false
- this.showFooter = true
- this.isValidateClick = false
+ this.showButton = false;
+ this.showEdit = false;
+ this.showFooter = true;
+ this.isValidateClick = false;
} else if (this.editConfig.title === "缂栬緫") {
- this.showButton = true
- this.showEdit = false
- this.isDelClick = true
- this.showFooter = true
- } else if (this.editConfig.title === "鏌ョ湅" && this.editConfig.infomation.status !== 4) {
- this.showButton = true
- this.showEdit = true
- this.isDelClick = true
- this.showFooter = false
+ this.showButton = true;
+ this.showEdit = false;
+ this.isDelClick = true;
+ this.showFooter = true;
+ } else if (
+ this.editConfig.title === "鏌ョ湅" &&
+ this.editConfig.infomation.status !== 4
+ ) {
+ this.showButton = true;
+ this.showEdit = true;
+ this.isDelClick = true;
+ this.showFooter = false;
if (this.editConfig.infomation.status === "瀹屾垚") {
- this.isValidateClick = false
- }else if(this.editConfig.infomation.status === 3){
- this.isValidateClick = true
- this.showCancel=true
- }else{
- this.isValidateClick = true
-
+ this.isValidateClick = false;
+ } else if (this.editConfig.infomation.status === 3) {
+ this.isValidateClick = true;
+ this.showCancel = true;
+ } else if (this.editConfig.infomation.status === 5) {
+ this.isCancel = true;
+ this.isValidateClick = true;
+ } else {
+ this.isValidateClick = true;
}
- } else if (this.editConfig.infomation.status === 4 || this.editConfig.infomation.status === "瀹屾垚") {
- this.showButton = true
- this.showEdit = false
- this.isDelClick = true
- this.showFooter = false
- this.isValidateClick = false
+ } else if (
+ this.editConfig.infomation.status === 4 ||
+ this.editConfig.infomation.status === "瀹屾垚"
+ ) {
+ this.showButton = true;
+ this.showEdit = false;
+ this.isDelClick = true;
+ this.showFooter = false;
+ this.isValidateClick = false;
} else if (this.editConfig.infomation.status === 5) {
- this.showButton = true
- this.showEdit = false
- this.showFooter = false
- this.isValidateClick = false
+ this.isCancel = true;
+ this.showButton = true;
+ this.showEdit = false;
+ this.showFooter = false;
+ this.isValidateClick = false;
} else {
// 灏辩华---
- this.showButton = true
- this.showEdit = true
- this.showFooter = false
- this.isValidateClick = true
- this.showCancel=true
+ this.showButton = true;
+ this.showEdit = true;
+ this.showFooter = false;
+ this.isValidateClick = true;
+ this.showCancel = true;
}
if (this.editConfig.title === "鏂板缓") {
- this.list[0].status = "active"
+ this.list[0].status = "active";
} else {
this.list.map((item) => {
- console.log(item, this.editConfig.infomation.status, "鎵撳嵃淇℃伅")
- if (item.value === this.editConfig.infomation.status || item.label === this.editConfig.infomation.status) {
- item.status = "active"
+ console.log(item, this.editConfig.infomation.status, "鎵撳嵃淇℃伅");
+ if (
+ item.value === this.editConfig.infomation.status ||
+ item.label === this.editConfig.infomation.status
+ ) {
+ item.status = "active";
} else {
- item.status = "todo"
+ item.status = "todo";
}
- })
+ });
}
},
// 鍏抽棴
handleClose() {
- this.editConfig.visible = false
+ this.editConfig.visible = false;
},
// 缂栬緫
editClick() {
- this.showEdit = false
- this.showButton = false
- this.showFooter = true
- this.setTableForm()
+ this.showEdit = false;
+ this.showButton = false;
+ this.showFooter = true;
+ this.setTableForm();
},
- async getLogisticCompanyList(){
+ async getLogisticCompanyList() {
await getLogisticCompanyList().then((res) => {
- if(res.code===200){
- this.shipmentsInfo.carrier=res.data
+ if (res.code === 200) {
+ this.editConfig.infomation.carrier = res.data;
}
- })
+ });
},
// 淇濆瓨
- saveClick(formName) {
- this.$refs[formName].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, "鎵ц鎴愬姛", this.tableData);
for (let i = 0; i < this.tableData.length; i++) {
if (this.tableData[i].productName.length === 0) {
- this.isNoProduct = true
- break
+ this.isNoProduct = true;
+ break;
} else {
- this.isNoProduct = false
+ this.isNoProduct = false;
}
}
if (this.isNoProduct) {
- this.$message.error("璇锋坊鍔犳槑缁嗚鎴栭�夋嫨浜у搧涓嶈兘涓虹┖")
+ this.$message.error("璇锋坊鍔犳槑缁嗚鎴栭�夋嫨浜у搧涓嶈兘涓虹┖");
} else {
- 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("娣诲姞鎴愬姛")
- this.$parent.getData()
+ let params = this.saveParams();
+ let isContinue=false;
+ // 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) => {
+ if(!item.fromLocationId||!item.toLocationId){
+ isContinue=true
+ return true
+ }
+ item.fromLocationId = item.fromLocationId.value;
+ item.toLocationId = item.toLocationId.value;
+ });
+ }
+ if(isContinue){
+ this.$message.error('璇峰~鍐欏畬鎴愯〃鏍硷紒')
+ return true;
+ }
+ }
+ let requestUrl =
+ this.editConfig.title === "鏂板缓" ? addOperation : updateOperation;
+ // let params = this.saveParams()
+ requestUrl({
+ ...params,
+ }).then((res) => {
+ this.editConfig.visible = false;
+ if (res.code === 200) {
+ 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
- let companyID = 0
- let companyName = ""
- let contacterID = 0
- let contacterName = ""
+ let data = this.editConfig.infomation;
+ let companyID = 0;
+ let companyName = "";
+ let contacterID = 0;
+ let contacterName = "";
if (this.editConfig.title === "鏂板缓") {
- companyID = Object.keys(this.companyObj).length === 0 ? 0 : this.companyObj.value
- companyName = Object.keys(this.companyObj).length === 0 ? "" : this.companyObj.label
- contacterID = Object.keys(this.contacterObj).length === 0 ? 0 : this.contacterObj.value
- contacterName = Object.keys(this.contacterObj).length === 0 ? "" : this.contacterObj.label
+ companyID =
+ Object.keys(this.companyObj).length === 0 ? 0 : this.companyObj.value;
+ companyName =
+ Object.keys(this.companyObj).length === 0
+ ? ""
+ : this.companyObj.label;
+ contacterID =
+ Object.keys(this.contacterObj).length === 0
+ ? 0
+ : this.contacterObj.value;
+ contacterName =
+ Object.keys(this.contacterObj).length === 0
+ ? ""
+ : this.contacterObj.label;
} else {
- companyID = Object.keys(this.companyObj).length === 0 ? data.companyID : this.companyObj.value
- companyName = Object.keys(this.companyObj).length === 0 ? data.companyName : this.companyObj.label
- contacterID = Object.keys(this.contacterObj).length === 0 ? data.contacterID : this.contacterObj.value
- contacterName = Object.keys(this.contacterObj).length === 0 ? data.contacterName : this.contacterObj.label
+ companyID =
+ Object.keys(this.companyObj).length === 0
+ ? data.companyID
+ : this.companyObj.value;
+ companyName =
+ Object.keys(this.companyObj).length === 0
+ ? data.companyName
+ : this.companyObj.label;
+ 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,
+ 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 || "",
+ manager: data.manager || "",
+ managerId: data.managerId || "",
+ accountant: data.accountant || "",
+ accountantId: data.accountantId || "",
+ custodian: data.custodian || "",
+ custodianId: data.custodianId || "",
+ };
+ } 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 || "",
+ manager: data.manager || "",
+ managerId: data.managerId || "",
+ accountant: data.accountant || "",
+ accountantId: data.accountantId || "",
+ custodian: data.custodian || "",
+ custodianId: data.custodianId || "",
+ };
}
- return params
+ return params;
},
// 鍒犻櫎
async delClick() {
await deleteOperation(this.editConfig.infomation.id).then((res) => {
- console.log(res)
- this.editConfig.visible = false
+ console.log(res);
+ this.editConfig.visible = false;
if (res.code === 200) {
- this.$message.success("鍒犻櫎鎴愬姛")
- this.$parent.getData()
+ this.$message.success("鍒犻櫎鎴愬姛");
+ this.$parent.getData();
}
- })
+ });
},
// 鎿嶄綔鍒楄〃
setTableForm() {
@@ -622,99 +1281,243 @@
return {
...item,
productName: item.product.name,
- unit: item.product.unit
- }
- })
- this.tableData = list
+ productId: item.product.id,
+ unit: item.product.unit,
+ };
+ });
+ this.tableData = list;
} else {
- this.tableData = []
+ this.tableData = [];
}
// this.tableData = this.editConfig.title !== "鏂板缓" ? list : []
+ let tableColumnArr = [];
+ if (this.workType === 1) {
+ tableColumnArr = [
+ {
+ label: "浜у搧鍚嶇О",
+ prop: "productName",
+ productName: true,
+ isRequird: true,
+ },
+ { label: "浜у搧缂栫爜", prop: "productId" },
+ { label: "鏁伴噺", prop: "amount", inputFloat: true },
+ { label: "浜у搧瑙勬牸", prop: "specs" },
+ { label: "浜у搧鍨嬪彿", prop: "model" },
+ { label: "璁¢噺鍗曚綅", prop: "unit" },
+ ];
+ } else if (this.workType === 2) {
+ tableColumnArr = [
+ {
+ label: "浜у搧鍚嶇О",
+ prop: "productName",
+ productName: true,
+ isRequird: true,
+ },
+ { label: "浜у搧缂栫爜", prop: "productId" },
+ { label: "鏁伴噺", prop: "amount", inputFloat: true },
+ { label: "浜у搧瑙勬牸", prop: "specs" },
+ { label: "浜у搧鍨嬪彿", prop: "model" },
+ {
+ label: "浠�",
+ prop: "fromLocationId",
+ sonLocation: true,
+ isRequird: true,
+ },
+ { label: "璁¢噺鍗曚綅", prop: "unit" },
+ ];
+ } else if (this.workType === 3) {
+ tableColumnArr = [
+ {
+ label: "浜у搧鍚嶇О",
+ prop: "productName",
+ productName: true,
+ isRequird: true,
+ },
+ { label: "浜у搧缂栫爜", prop: "productId" },
+ { label: "鏁伴噺", prop: "amount", inputFloat: true },
+ { label: "浜у搧瑙勬牸", prop: "specs" },
+ { label: "浜у搧鍨嬪彿", prop: "model" },
+ {
+ label: "浠�",
+ prop: "fromLocationId",
+ sonLocation: true,
+ isRequird: true,
+ },
+ {
+ label: "鑷�",
+ prop: "toLocationId",
+ toLocation: true,
+ isRequird: true,
+ },
+ { label: "璁¢噺鍗曚綅", prop: "unit" },
+ ];
+ } else if (this.workType === 4) {
+ tableColumnArr = [
+ {
+ label: "浜у搧鍚嶇О",
+ prop: "productName",
+ productName: true,
+ isRequird: true,
+ },
+ { label: "浜у搧缂栫爜", prop: "productId" },
+ { label: "鏁伴噺", prop: "amount", inputFloat: true },
+ { label: "浜у搧瑙勬牸", prop: "specs" },
+ { label: "浜у搧鍨嬪彿", prop: "model" },
+ {
+ label: "浠�",
+ prop: "fromLocationId",
+ sonLocation: true,
+ isRequird: true,
+ },
+ {
+ label: "鑷�",
+ prop: "toLocationId",
+ toLocation: true,
+ isRequird: true,
+ },
+ { label: "璁¢噺鍗曚綅", prop: "unit" },
+ ];
+ } else if (this.workType === 5) {
+ tableColumnArr = [
+ {
+ label: "浜у搧鍚嶇О",
+ prop: "productName",
+ productName: true,
+ isRequird: true,
+ },
+ { label: "浜у搧缂栫爜", prop: "productId" },
+ { label: "鏁伴噺", prop: "amount", inputFloat: true },
+ { label: "浜у搧瑙勬牸", prop: "specs" },
+ { label: "浜у搧鍨嬪彿", prop: "model" },
+ {
+ label: "浠�",
+ prop: "fromLocationId",
+ sonLocation: true,
+ isRequird: true,
+ },
+ {
+ label: "鑷�",
+ prop: "toLocationId",
+ toLocation: true,
+ isRequird: true,
+ },
+ { label: "璁¢噺鍗曚綅", prop: "unit" },
+ ];
+ }
this.productTableList = {
tableData: this.tableData,
- tableColumn: [
- { 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" }
- ]
- }
+ tableColumn: tableColumnArr,
+ };
},
// 鎿嶄綔杈撳叆
inputContent(val, prop, row) {
- this.countId = row.countId
+ this.countId = row.countId;
this.tableData.map((item) => {
- if (item.countId === row.countId) {
- item[prop] = val
+ if (item.id === row.id) {
+ item[prop] = val;
}
- })
+ });
},
// 鏂板
addProductClick(value) {
- console.log(value)
- if (value === "鎿嶄綔") {
- console.log(this.tableData)
- for (let i = 0; i < this.tableData.length; i++) {
- if (this.tableData[i].productName.length === 0) {
- this.isNoProduct = false
- break
- } else {
- this.isNoProduct = true
- }
- }
- if (this.isNoProduct) {
- this.countId++
- this.tableData.push({
- countId: this.countId,
- productId: "",
- amount: 0,
- unit: "",
- productName: ""
- })
- }
- } else {
- console.log(this.detailTableData)
- for (let i = 0; i < this.detailTableData.length; i++) {
- if (this.detailTableData[i].name.length === 0) {
- this.isNoDetail = true
- break
- } else {
- this.isNoDetail = false
- }
- }
- if (!this.isNoDetail) {
- this.detailId++
- this.detailTableData.push({
- detailId: this.detailId,
- id: 0,
- amount: 0,
- desc: "",
- name: "",
- number: "",
- price: 0,
- total: 0
- })
- }
+ console.log(value);
+ // if (value === "鎿嶄綔") {
+ // console.log(this.tableData)
+ // for (let i = 0; i < this.tableData.length; i++) {
+ // if (this.tableData[i].productName.length === 0) {
+ // this.isNoProduct = false
+ // break
+ // } else {
+ // this.isNoProduct = true
+ // }
+ // }
+ // if (this.isNoProduct) {
+ // this.countId++
+ // this.tableData.push({
+ // countId: this.countId,
+ // productId: "",
+ // amount: 0,
+ // unit: "",
+ // productName: ""
+ // })
+ // }
+ // } else {
+ // console.log(this.detailTableData)
+ // for (let i = 0; i < this.detailTableData.length; i++) {
+ // if (this.detailTableData[i].name.length === 0) {
+ // this.isNoDetail = true
+ // break
+ // } else {
+ // this.isNoDetail = false
+ // }
+ // }
+ // if (!this.isNoDetail) {
+ // this.detailId++
+ // this.detailTableData.push({
+ // detailId: this.detailId,
+ // id: 0,
+ // amount: 0,
+ // desc: "",
+ // name: "",
+ // number: "",
+ // price: 0,
+ // total: 0
+ // })
+ // }
+ // }
+ },
+ // 鏂板鏂瑰紡淇敼
+ getSelectArray(val, index) {
+ if (this.tableData.length == 1 && this.tableData[0].number.length == 0) {
+ this.tableData = [];
}
+ if (index < this.tableData.length) {
+ this.tableData.splice(index, 1);
+ val.map((item, ind) => {
+ this.tableData.splice(index + ind, 0, item);
+ });
+ } else {
+ this.tableData = this.tableData.concat(val);
+ }
+ console.log(this.tableData);
+ let list = this.tableData.map((res) => {
+ return {
+ ...res,
+ amount: 1,
+ productName: res.name,
+ productId: res.id,
+ };
+ });
+ this.tableData = list;
+ this.productTableList.tableData = list;
+ // this.showSummary.show = true
+ },
+ // 浜у搧娓呯┖
+ emptyProductClick() {
+ this.tableData = [];
+ this.productTableList.tableData = this.tableData;
+ },
+ clearupProduct(data) {
+ this.tableData = data;
+ this.productTableList.tableData = this.tableData;
},
// 鍒犻櫎
handleDelClick(scope, value) {
- console.log(scope)
if (value === "鎿嶄綔") {
- this.tableData.splice(scope.$index, 1)
+ this.tableData.splice(scope.$index, 1);
+ this.productTableList.tableData = this.tableData;
+ this.$message.success("鍒犻櫎鎴愬姛锛�");
} else {
- this.detailTableData.splice(scope.$index, 1)
+ this.detailTableData.splice(scope.$index, 1);
}
},
// 璇︽儏鍒楄〃
setDetailTableForm() {
- this.setTableColumn()
+ this.setTableColumn();
this.detailTableList = {
tableData: this.detailTableData,
- tableColumn: this.tableColumn
- }
+ tableColumn: this.tableColumn,
+ };
},
setTableColumn() {
if (this.workType === "鍐呴儴璋冩嫧") {
@@ -723,74 +1526,121 @@
{ label: "浠�", prop: "number", select: true },
{ label: "鑷�", prop: "amount", select: true },
{ label: "瀹屾垚", prop: "total", inputFloat: true },
- { label: "璁¢噺鍗曚綅", prop: "total", select: true }
- ]
+ { label: "璁¢噺鍗曚綅", prop: "total", select: true },
+ ];
} else {
this.tableColumn = [
{ label: "浜у搧", prop: "name", productName: true, isRequird: true },
{ label: "浠�", prop: "number", select: true },
{ label: "瀹屾垚", prop: "total", inputFloat: true },
- { label: "璁¢噺鍗曚綅", prop: "total", select: true }
- ]
+ { label: "璁¢噺鍗曚綅", prop: "total", select: true },
+ ];
}
},
// 璇︽儏杈撳叆
inputDetail(val, prop, row) {
- this.detailId = row.detailId
+ this.detailId = row.detailId;
this.detailTableData.map((item) => {
if (item.detailId === row.detailId) {
- item[prop] = val
+ item[prop] = val;
}
- })
+ });
},
// 瀹㈡埛閫夋嫨
companyChange(val) {
- console.log(val)
- this.companyObj = val
+ console.log(val);
+ this.companyObj = val;
},
// 璐熻矗浜洪�夋嫨
contacterChange(val) {
- this.contacterObj = val
+ this.contacterObj = val;
},
// 楠岃瘉
async validateClick() {
await updateStatus(this.editConfig.infomation.id).then((res) => {
- console.log(res)
- this.editConfig.visible = false
+ console.log(res);
+ this.editConfig.visible = false;
if (res.code === 200) {
- this.$message.success("楠岃瘉鎴愬姛")
- this.$parent.getData()
+ this.$message.success("楠岃瘉鎴愬姛");
+ this.$parent.getData();
}
- })
+ });
},
// 鍙栨秷
- btnCancel(){
- this.$confirm('纭畾鍙栨秷鍚楋紵', '鎻愮ず', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- }).then(() => {
- stateCancel(this.editConfig.infomation.id).then((res) => {
- console.log(res)
- this.editConfig.visible = false
+ 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.list.map((item) => {
+ if (item.label === "宸插彇娑�") {
+ item.status = "active";
+ } else {
+ item.status = "todo";
+ }
+ });
+ })
+ .catch(() => {});
+ },
+ //鎵撳嵃
+ async btnPrint() {
+ if (this.workType !== 3) {
+ localStorage.removeItem("pdfParams");
+ try {
+ let res = await printReceipts(this.editCommonConfig.infomation.id);
+ console.log(res);
if (res.code === 200) {
- this.$message.success("鍙栨秷璋冩嫧")
- this.$parent.getData()
+ 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");
}
- })
- this.list.map((item) => {
- if (item.label==="宸插彇娑�") {
- item.status = "active"
- } else {
- item.status = "todo"
- }
- })
- }).catch(() => {
- });
- }
- }
-}
+ } 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");
+ },
+ },
+};
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
@@ -800,17 +1650,26 @@
align-items: center;
font-size: 14px;
color: #333;
+
.header_btns {
margin-left: auto;
margin-right: 60px;
+
.btn {
+ cursor: pointer;
+ }
+
+ .btn:nth-of-type(2) {
cursor: no-drop;
+ color: #ccc;
}
}
}
+
.content-status {
display: flex;
}
+
.basic-info {
height: calc(100% - 80px);
overflow: auto;
@@ -823,34 +1682,42 @@
// margin-top: 20px;
// }
}
+
.purchase-view {
display: flex;
+
.left {
width: 50%;
}
+
.right {
width: 50%;
}
}
+
.second-label {
margin-left: 20px;
border-bottom: 1px solid #d9d9d9;
margin-bottom: 10px;
}
+
::v-deep {
.el-dialog__headerbtn {
position: absolute;
top: 15px;
}
+
.el-button {
&:hover {
border: 1px solid #dcdfe6;
color: #333;
}
}
+
.el-tabs--card > .el-tabs__header {
border-bottom: none;
}
+
// .el-tabs__item.is-active {
// color: #333;
// background: #f1f3f8;
@@ -861,20 +1728,24 @@
font-size: 13px;
background: #f3f3f3;
}
+
.el-tabs__header {
margin: 0 0 1px;
}
- .bottom{
- .el-form{
+
+ .bottom {
+ .el-form {
// border-top: 1px solid #EBEEF5;
}
- .el-form-item{
+
+ .el-form-item {
height: 28px;
+
.el-input {
- input{
+ input {
height: 28px;
}
- }
+ }
}
}
}
--
Gitblit v1.8.0