From f364224aeb8dee19b266c6ff53f29b93fe04911e Mon Sep 17 00:00:00 2001
From: zzq <a13193816592@163.com>
Date: 星期二, 26 九月 2023 19:37:58 +0800
Subject: [PATCH] "库存报表,位置报表"
---
src/views/warehouseManage/bussinessType/AddBussinessType.vue | 218 +++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 167 insertions(+), 51 deletions(-)
diff --git a/src/views/warehouseManage/bussinessType/AddBussinessType.vue b/src/views/warehouseManage/bussinessType/AddBussinessType.vue
index 102d20b..c3e8669 100644
--- a/src/views/warehouseManage/bussinessType/AddBussinessType.vue
+++ b/src/views/warehouseManage/bussinessType/AddBussinessType.vue
@@ -17,6 +17,7 @@
<span class="btn" style="margin-left: 15px">
<i class="el-icon-s-tools"></i>
<span>鍔ㄤ綔</span>
+ <!-- <el-button plain size="mini" style="margin-left: 15px" @click="deleteClick">鍒犻櫎</el-button> -->
</span>
<el-button v-if="showEdit" plain size="mini" style="margin-left: 15px" @click="editClick">缂栬緫</el-button>
</div>
@@ -37,10 +38,10 @@
<el-row>
<el-col :span="24">
<div style="margin-left: 20px">鍏ュ簱绫诲瀷</div>
- <el-form-item label="" prop="client_name" label-width="20px">
+ <el-form-item label="" prop="name" label-width="20px">
<el-input
- v-model="editConfig.infomation.client_name"
- placeholder=""
+ v-model="editConfig.infomation.name"
+ placeholder="璇峰~鍐�"
:disabled="!showFooter"
style="width: 85%"
></el-input>
@@ -49,56 +50,61 @@
</el-row>
<div class="purchase-view">
<div class="left" style="margin-left: 20px">
- <el-form-item label="浣滀笟绫诲瀷" prop="operate_type" :label-width="labelWidth">
+ <el-form-item label="浣滀笟绫诲瀷" prop="baseOperationType" :label-width="labelWidth">
<el-select
- v-model="editConfig.infomation.operate_type"
+ v-model="editConfig.infomation.baseOperationType"
placeholder="璇烽�夋嫨"
size="mini"
style="width: 85%"
:disabled="!showFooter"
>
- <el-option v-for="item in operateTypeOptions" :key="item" :label="item" :value="item"> </el-option>
+ <el-option v-for="item in baseOperationTypeList" :key="item.id" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
- <el-form-item label="搴忓彿鍓嶇紑" prop="client_name" :label-width="labelWidth">
+
+ <el-form-item label="搴忓彿鍓嶇紑" prop="prefix" :label-width="labelWidth">
<el-input
- v-model="editConfig.infomation.client_name"
+ v-model="editConfig.infomation.prefix"
placeholder=""
:disabled="!showFooter"
style="width: 85%"
></el-input>
</el-form-item>
- <el-form-item label="浠撳簱" prop="client_name" :label-width="labelWidth">
+ <el-form-item label="浠撳簱" prop="warehouseId" :label-width="labelWidth">
<el-select
- v-model="editConfig.infomation.memberId"
- multiple
+ v-model="editConfig.infomation.warehouseId"
placeholder="璇烽�夋嫨"
size="mini"
style="width: 85%"
:disabled="!showFooter"
>
- <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
+ <el-option v-for="item in warehouseList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item
- v-if="editConfig.infomation.operate_type !== '鏀惰揣'"
+ v-if="editConfig.infomation.baseOperationType !== 1"
label="淇濈暀鏂瑰紡"
- prop="resource"
+ prop="reservationMethod"
:label-width="labelWidth"
>
<el-radio-group
- v-model="editConfig.infomation.resource"
+ v-model="editConfig.infomation.reservationMethod"
@input="reserveMethodClick"
:disabled="!showFooter"
>
- <div style="margin-top: 8px"><el-radio label="纭鏃�"></el-radio></div>
- <div style="margin-top: 10px"><el-radio label="鎵嬪伐"></el-radio></div>
- <div style="margin-top: 10px"><el-radio label="鍦ㄩ瀹氭棩鏈熶箣鍓�"></el-radio></div>
+ <div style="margin-top: 8px">
+ <el-radio v-for="item in reservationMethodList"
+ :key="item.id"
+ :value="item.id"
+ :label="item.name"
+ >
+ </el-radio>
+ </div>
</el-radio-group>
</el-form-item>
- <el-form-item
- v-if="editConfig.infomation.operate_type !== '鏀惰揣'"
+ <!-- <el-form-item
+ v-if="editConfig.infomation.resource == '鍦ㄩ瀹氭棩鏈熶箣鍓�'"
label="鍦ㄩ瀹氭棩鏈熷墠棰勫畾"
prop="client_name"
:label-width="labelWidth"
@@ -109,44 +115,44 @@
:disabled="!showFooter"
style="width: 85%"
></el-input>
- </el-form-item>
+ </el-form-item> -->
</div>
<div class="right">
- <el-form-item label="閫�璐х被鍨�" prop="client_name">
+
+ <el-form-item label="閫�璐х被鍨�" prop="returnOperationTypeID">
<el-select
- v-model="editConfig.infomation.memberId"
- multiple
+ v-model="editConfig.infomation.returnOperationTypeID"
+ v-if="editConfig.infomation.baseOperationType"
placeholder="璇烽�夋嫨"
size="mini"
style="width: 85%"
:disabled="!showFooter"
>
- <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
+ <el-option v-for="item in returnOperationTypeList" :key="item.id" :label="item.username" :value="item.id">
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="鍒涘缓娆犲崟" prop="client_name">
+ <el-form-item label="鍒涘缓娆犲崟" prop="createBackorder">
<el-select
- v-model="editConfig.infomation.memberId"
- multiple
+ v-model="editConfig.infomation.createBackorder"
placeholder="璇烽�夋嫨"
size="mini"
style="width: 85%"
:disabled="!showFooter"
>
- <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
+ <el-option v-for="item in createBackorderList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="鏄剧ず浣滀笟璇︽儏" prop="showDetail">
- <el-checkbox v-model="editConfig.infomation.showDetail"></el-checkbox>
+ <el-form-item label="鏄剧ず浣滀笟璇︽儏" prop="showOperations">
+ <el-checkbox v-model="editConfig.infomation.showOperations"></el-checkbox>
</el-form-item>
<el-form-item
- v-if="editConfig.infomation.operate_type === '鏀惰揣'"
+ v-if="editConfig.infomation.baseOperationType === 1"
label="棰勫~鍐欎綔涓氳鎯�"
- prop="showDetail"
+ prop="earlyOperations"
>
- <el-checkbox v-model="editConfig.infomation.showDetail"></el-checkbox>
+ <el-checkbox v-model="editConfig.infomation.earlyOperations"></el-checkbox>
</el-form-item>
</div>
</div>
@@ -158,29 +164,27 @@
<div class="purchase-view">
<div class="left">
<div class="second-label">浣嶇疆</div>
- <el-form-item label="榛樿婧愪綅缃�" prop="client_name" style="margin-left: 20px">
+ <el-form-item label="榛樿婧愪綅缃�" prop="defaultLocationSrcId" style="margin-left: 20px">
<el-select
- v-model="editConfig.infomation.memberId"
- multiple
+ v-model="editConfig.infomation.defaultLocationSrcId"
placeholder="璇烽�夋嫨"
size="mini"
style="width: 85%"
:disabled="!showFooter"
>
- <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
+ <el-option v-for="item in positionlist" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="榛樿鐩殑浣嶇疆" prop="client_name" style="margin-left: 20px">
+ <el-form-item label="榛樿鐩殑浣嶇疆" prop="defaultLocationDestId" style="margin-left: 20px">
<el-select
- v-model="editConfig.infomation.memberId"
- multiple
+ v-model="editConfig.infomation.defaultLocationDestId"
placeholder="璇烽�夋嫨"
size="mini"
style="width: 85%"
:disabled="!showFooter"
>
- <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
+ <el-option v-for="item in positionlist" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
@@ -201,6 +205,8 @@
</template>
<script>
+import { addOperationType,updateOperationType,getWarehouseList,deleteOperationType,getLocationList} from "@/api/warehouseManage/warehouse"
+import { getDataByType } from "@/api/data";
export default {
name: "AddBussinessType",
props: {
@@ -222,25 +228,61 @@
dialogWidth: "50%",
editConfig: this.editCommonConfig,
rules: {
- client_name: [{ required: true, message: "璇烽�夋嫨瀹㈡埛鍚嶇О", trigger: "change" }],
- number: [{ required: true, message: "璇疯緭鍏ラ��娆惧崟缂栧彿", trigger: "blur" }],
- refundDate: [{ required: true, message: "璇烽�夋嫨閫�娆炬棩鏈�", trigger: "change" }],
- memberId: [{ required: true, message: "璇烽�夋嫨閿�鍞礋璐d汉", trigger: "change" }],
- sale_return_nunber: [{ required: true, message: "璇烽�夋嫨閿�鍞��璐у崟", trigger: "change" }]
+ // 鍏ュ簱绫诲瀷
+ name: [{ required: true, message: "璇疯緭鍏�", trigger: "change" }],
+ // 鍓嶇紑
+ prefix: [{ required: true, message: "璇疯緭鍏�", trigger: "change" }],
+ baseOperationType: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
},
- memberOptions: [],
- operateTypeOptions: ["鏀惰揣", "鍙戣揣", "鍐呴儴璋冩嫧"], // 鎿嶄綔绫诲瀷
+ // 浣嶇疆
+ locationList: [],
+ warehouseList:[],
+ // 閫�璐х被鍨�
+ returnOperationTypeList:[],
+ // 浣滀笟绫诲瀷
+ baseOperationTypeList:getDataByType('baseOperationType'),
+ // 鍒涘缓娆犲崟
+ createBackorderList:getDataByType('createBackorder'),
+ // 淇濈暀鏂瑰紡
+ reservationMethodList:getDataByType('reservationMethod'),
showButton: true,
showEdit: false, // 鏄惁鏄剧ず缂栬緫鎸夐挳
isDelClick: false, // 鍒犻櫎鎸夐挳鏄惁鍙偣鍑�
showFooter: false, // 鏄惁鏄剧ず鍙栨秷淇濆瓨
- labelWidth: "80px"
+ labelWidth: "90px",
+ positionlist:[],
}
},
created() {
+ this.getList()
this.setBottonView()
},
methods: {
+ // 浠撳簱
+ async getWarehouse() {
+ await getLocationList({
+ keyword:'',
+ page: 0,
+ pageSize: 0
+ }).then((res) => {
+ if (res.code === 200) {
+ this.positionlist = res.data?res.data:[]
+ this.$forceUpdate()
+ }
+ })
+ await getWarehouseList({
+ keyword: '',
+ page: 0,
+ pageSize: 0
+ }).then((res) => {
+ if (res.data.code == 200) {
+ this.warehouseList = res.data.data?res.data.data:[]
+ }
+ })
+ },
+ getList(){
+ this.getWarehouse()
+ },
// 璁剧疆鍒犻櫎/鎵撳嵃/缂栬緫鏄惁鏄剧ず
setBottonView() {
if (this.editConfig.title === "鏂板缓") {
@@ -256,14 +298,88 @@
handleClose() {
this.editConfig.visible = false
},
+ // 鍒櫎
+ deleteClick() {
+ let data = JSON.parse(JSON.stringify(this.editConfig.infomation));
+ deleteOperationType({ id: data.id }).then((res) => {
+ if (res.code === 200) {
+ this.editConfig.visible = false;
+ this.$message.success("鍒櫎鎴愬姛!");
+ this.$emit("refresh");
+ } else {
+ this.$message.warning(res.msg?res.msg:"鍒犻櫎澶辫触!")
+ }
+ });
+ },
// 缂栬緫
editClick() {
this.showEdit = false
this.showButton = false
this.showFooter = true
},
+ saveParams() {
+ let data =JSON.parse(JSON.stringify(this.editConfig.infomation));
+
+ let params = {
+ // 鍏ュ簱绫诲瀷
+ name:data.name,
+ // 鍓嶇紑
+ prefix:data.prefix,
+ // 浣滀笟绫诲瀷
+ baseOperationType:data.baseOperationType,
+ // 閫�璐х被鍨�
+ returnOperationTypeID:data.returnOperationTypeID,
+ // 鍒涘缓娆犲崟
+ createBackorder:data.createBackorder,
+ // 浠撳簱
+ warehouseId:data.warehouseId,
+ // 鏄剧ず浣滀笟璇︽儏
+ showOperations:data.showOperations,
+ earlyOperations:data.earlyOperations,
+ // 淇濈暀鏂瑰紡
+ reservationMethod:data.reservationMethod,
+ // 榛樿鍘熶綅缃�
+ defaultLocationSrcId:data.defaultLocationSrcId,
+ // 榛樿鐩爣浣嶇疆
+ defaultLocationDestId:data.defaultLocationDestId,
+ }
+ if(data.id){
+ params.id=data.id
+ }
+ return params;
+ },
// 淇濆瓨
- saveClick() {},
+ saveClick(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ const params = this.saveParams();
+ if (this.editConfig.title === "鏂板缓") {
+ addOperationType(params).then((res) => {
+ if (res.code === 200) {
+ this.editConfig.visible = false;
+ this.$message.success("娣诲姞鎴愬姛!");
+ this.$emit('refresh')
+ } else {
+ this.$message.warning(res.msg?res.msg:"娣诲姞澶辫触!")
+ }
+ });
+ } else {
+ updateOperationType(params).then((res) => {
+ if (res.code === 200) {
+ this.editConfig.visible = false;
+ this.$message.success("缂栬緫鎴愬姛!");
+ this.$emit('refresh')
+ } else {
+ this.$message.warning(res.msg?res.msg:"缂栬緫澶辫触!")
+ }
+ });
+ }
+ }else {
+ console.log("error submit");
+ return false;
+ }
+ });
+ },
// 鍒犻櫎
delClick() {},
// 浜у搧
--
Gitblit v1.8.0