From 2e2fe994aa53c7c2f389bc32d0933995389963be Mon Sep 17 00:00:00 2001
From: zzq <a13193816592@163.com>
Date: 星期三, 27 九月 2023 11:32:20 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/web/WMS
---
src/views/warehouseManage/listingRules/index.vue | 235 +++++++---
src/views/operate/inventoryAdjustment/inventoryAdjustmentHistory.vue | 167 +++++++
src/router/operate/index.js | 10
src/components/makepager/SearchCommonView.vue | 21
src/api/data.js | 98 ++--
src/components/makepager/CommonFormTableView.vue | 151 ++++++
src/views/warehouseManage/position/AddDialog.vue | 302 ++++++-------
src/views/operate/inventoryAdjustment/index.vue | 246 +++++++---
src/views/warehouseManage/position/index.vue | 57 +-
9 files changed, 890 insertions(+), 397 deletions(-)
diff --git a/src/api/data.js b/src/api/data.js
index 36a8533..8e0ad06 100644
--- a/src/api/data.js
+++ b/src/api/data.js
@@ -17,61 +17,61 @@
id: 4
}
]
-// 浠撳簱
+// 浠撳簱
// 鍏ュ悜杩愯緭
-const inboundTransportation=[
+const inboundTransportation = [
{
- name:'鐩存帴鎺ユ敹浜у搧锛�1姝ユ敹璐э級',
- id:1,
- disabled:false,
+ name: "鐩存帴鎺ユ敹浜у搧锛�1姝ユ敹璐э級",
+ id: 1,
+ disabled: false
},
{
- name:'鎺ュ埌浜у搧鍒版敹鏂欏尯锛屽啀鍏ュ簱锛�2姝ユ敹璐э級',
- id:2,
- disabled:true,
+ name: "鎺ュ埌浜у搧鍒版敹鏂欏尯锛屽啀鍏ュ簱锛�2姝ユ敹璐э級",
+ id: 2,
+ disabled: true
},
{
- name:'鎺ユ敹浜у搧鍒版敹鏂欏尯锛屾楠岋紝鐒跺悗鍏ュ簱锛�3姝ユ敹璐э級',
- id:3,
- disabled:true,
+ name: "鎺ユ敹浜у搧鍒版敹鏂欏尯锛屾楠岋紝鐒跺悗鍏ュ簱锛�3姝ユ敹璐э級",
+ id: 3,
+ disabled: true
}
]
// 鍑哄簱杩愯緭
-const outboundTransportation=[
+const outboundTransportation = [
{
- name:'鐩存帴鍑哄簱锛�1姝ワ級',
- id:1,
- disabled:false,
+ name: "鐩存帴鍑哄簱锛�1姝ワ級",
+ id: 1,
+ disabled: false
},
{
- name:'閫佸埌寰呭嚭搴撳尯锛屽啀閫佽揣锛�2姝ュ彂璐э級',
- id:2,
- disabled:true,
+ name: "閫佸埌寰呭嚭搴撳尯锛屽啀閫佽揣锛�2姝ュ彂璐э級",
+ id: 2,
+ disabled: true
},
{
- name:'鍖呰浜у搧锛屽彂閫佸埌寰呭嚭搴撳尯锛屽啀閫佽揣锛�3姝ュ彂璐э級',
- id:3,
- disabled:true,
+ name: "鍖呰浜у搧锛屽彂閫佸埌寰呭嚭搴撳尯锛屽啀閫佽揣锛�3姝ュ彂璐э級",
+ id: 3,
+ disabled: true
}
]
// 涓氬姟绫诲瀷
-// 浣滀笟绫诲瀷
-const baseOperationType=[
+// 浣滀笟绫诲瀷
+const baseOperationType = [
{
- name: "鏀惰揣",
+ name: "鍏ュ簱",
id: 1
},
{
- name: "鍙戣揣",
+ name: "鍑哄簱",
id: 2
},
{
name: "鍐呴儴璋冩嫧",
id: 3
- },
+ }
]
//鍒涘缓娆犲崟
-const createBackorder=[
+const createBackorder = [
{
name: "鎻愰棶",
id: 1
@@ -83,10 +83,10 @@
{
name: "浠庝笉",
id: 3
- },
+ }
]
//淇濈暀鏂瑰紡 鍦ㄩ瀹氭棩鏈熶箣鍓�=3
-const reservationMethod=[
+const reservationMethod = [
{
name: "纭鏃�",
id: 1
@@ -96,9 +96,9 @@
id: 2
}
]
-// 浜у搧绫诲埆
+// 浜у搧绫诲埆
// 寮哄埗涓嬫灦绛栫暐
-const forceRemovalStrategy=[
+const forceRemovalStrategy = [
{
name: "First In First Out (FIFO)",
id: 1
@@ -110,10 +110,10 @@
{
name: "Closest Location",
id: 3
- },
+ }
]
//鎴愭湰鏂规硶
-const costingMethod=[
+const costingMethod = [
{
name: "鏍囧噯浠锋牸",
id: 1
@@ -125,10 +125,10 @@
{
name: "骞冲潎鎴愭湰锛圓VCO锛�",
id: 3
- },
+ }
]
// 搴撳瓨璁′环
-const inventoryValuation=[
+const inventoryValuation = [
{
name: "鎵嬪姩",
id: 1
@@ -140,7 +140,7 @@
]
// 浣嶇疆
// 浣嶇疆绫诲瀷
-const positionType=[
+const positionType = [
{
name: "渚涘簲鍟嗕綅缃�",
id: 1
@@ -173,23 +173,23 @@
export const getDataByType = (type) => {
if (type == "purchaseStatus") {
return purchaseStatus
- }else if(type=='inboundTransportation'){
+ } else if (type == "inboundTransportation") {
return inboundTransportation
- }else if(type=='outboundTransportation'){
+ } else if (type == "outboundTransportation") {
return outboundTransportation
- }else if(type=='baseOperationType'){
- return baseOperationType;
- }else if(type=='createBackorder'){
- return createBackorder;
- }else if(type=='reservationMethod'){
- return reservationMethod;
- }else if(type=='forceRemovalStrategy'){
+ } else if (type == "baseOperationType") {
+ return baseOperationType
+ } else if (type == "createBackorder") {
+ return createBackorder
+ } else if (type == "reservationMethod") {
+ return reservationMethod
+ } else if (type == "forceRemovalStrategy") {
return forceRemovalStrategy
- }else if(type=='costingMethod'){
+ } else if (type == "costingMethod") {
return costingMethod
- }else if(type=='inventoryValuation'){
+ } else if (type == "inventoryValuation") {
return inventoryValuation
- }else if(type=='positionType'){
- return positionType;
+ } else if (type == "positionType") {
+ return positionType
}
}
diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue
index 60108e2..ff7f169 100644
--- a/src/components/makepager/CommonFormTableView.vue
+++ b/src/components/makepager/CommonFormTableView.vue
@@ -5,7 +5,11 @@
:data="tableList.tableData"
style="width: 100%"
:header-cell-style="{ background: '#f1f3f8', color: '#000009' }"
+ :row-class-name="tableRowClassName"
+ @row-click="tableRowClick"
>
+ <el-table-column v-if="tableList.selectBox" type="selection" width="40" align="center"> </el-table-column>
+ <el-table-column v-if="tableList.selectIndex" type="index" label="搴忓彿" width="50"> </el-table-column>
<el-table-column
v-for="(item, i) in tableList.tableColumn"
:key="i"
@@ -73,7 +77,8 @@
:prop="'tableData.' + scope.$index + '.' + item.prop"
:rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
>
- <el-date-picker v-model="scope.row[item.prop]" type="date" size="mini" style="width: 110px">
+ <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span>
+ <el-date-picker v-else v-model="scope.row[item.prop]" type="date" size="mini" style="width: 110px">
</el-date-picker>
</el-form-item>
<el-form-item
@@ -102,7 +107,9 @@
:prop="'tableData.' + scope.$index + '.' + item.prop"
:rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
>
+ <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span>
<el-input-number
+ v-else
v-model="scope.row[item.prop]"
placeholder=""
:min="0"
@@ -130,6 +137,76 @@
</el-select>
</div>
</el-form-item>
+ <!-- 浣嶇疆 -->
+ <el-form-item v-else-if="item.location" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
+ <div class="custom-name">
+ <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span>
+ <el-select
+ v-else
+ v-model="scope.row[item.prop]"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 80%"
+ @change="selLocationClick"
+ >
+ <el-option v-for="item in selLocationOptions" :key="item.id" :label="item.name" :value="item.name">
+ </el-option>
+ </el-select>
+ </div>
+ </el-form-item>
+ <!-- 浜у搧 -->
+ <el-form-item v-else-if="item.product" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
+ <div class="custom-name">
+ <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span>
+ <el-select
+ v-else
+ v-model="scope.row[item.prop]"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 80%"
+ @change="
+ (val) => {
+ selProductClick(val)
+ }
+ "
+ >
+ <el-option
+ v-for="item in productNameOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="{ value: item.id, label: item.name, amount: item.amount, unit: item.unit }"
+ >
+ </el-option>
+ </el-select>
+ </div>
+ </el-form-item>
+ <!-- 鐢ㄦ埛 -->
+ <el-form-item v-else-if="item.user" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
+ <div class="custom-name">
+ <span>{{ "绠$悊鍛�" }}</span>
+ <!-- <el-select
+ v-else
+ v-model="scope.row[item.prop]"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 80%"
+ @change="selCommonClick"
+ >
+ <el-option v-for="item in memberOptions" :key="item.id" :label="item.name" :value="item.name">
+ </el-option>
+ </el-select> -->
+ </div>
+ </el-form-item>
+ <!-- 鍏徃 -->
+ <el-form-item v-else-if="item.company" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
+ <div class="custom-name">
+ <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span>
+ <el-select v-else v-model="scope.row[item.prop]" placeholder="璇烽�夋嫨" size="mini" style="width: 80%">
+ <el-option v-for="item in companyOptions" :key="item.id" :label="item.name" :value="item">
+ </el-option>
+ </el-select>
+ </div>
+ </el-form-item>
<span v-else>{{ scope.row[item.prop] }}</span>
</template>
<span v-else>{{ scope.row[item.prop] }}</span>
@@ -138,7 +215,7 @@
<slot name="tableButton" />
</el-table>
</el-form>
- <div v-if="!detailEnter" style="margin: 10px">
+ <div v-if="!detailEnter && !isinventory && !islistingrules" style="margin: 10px">
<el-button size="small" type="primary" @click="add">娣诲姞鏄庣粏琛�</el-button>
<!-- <el-button size="small" type="primary" @click="empty">娓呯┖</el-button> -->
</div>
@@ -154,6 +231,8 @@
<script>
import { getProductList } from "@/api/product/product"
+import { getLocationList } from "@/api/warehouseManage/warehouse"
+import { getCompanyList } from "@/api/common/other"
// import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog"
export default {
name: "CommmonFormTableView",
@@ -171,6 +250,8 @@
type: Object,
default: () => {
return {
+ selectBox: false,
+ selectIndex: false,
tableData: [], // 鎺ュ彛杩斿洖鏁版嵁
tableColumn: [
// table琛ㄥ崟
@@ -178,6 +259,14 @@
]
}
}
+ },
+ isinventory: {
+ type: Boolean,
+ default: false
+ },
+ islistingrules: {
+ type: Boolean,
+ default: false
}
},
data() {
@@ -192,14 +281,24 @@
},
productIndex: 0,
productNameOptions: [],
+ memberOptions: [{ id: 1, name: "绠$悊鍛�" }],
selOptions: [
{ id: 1, name: "浠�" },
{ id: 2, name: "鎵�" }
- ]
+ ],
+ selLocationOptions: [], // 浣嶇疆
+ companyOptions: [] // 鍏徃
}
},
created() {
this.getProductList()
+ if (this.isinventory) {
+ this.getLocationList()
+ }
+ if (this.islistingrules) {
+ this.getLocationList()
+ this.getCompanyList()
+ }
this.tableList = this.productTableList
},
computed: {},
@@ -223,6 +322,28 @@
}
})
},
+ // 浣嶇疆
+ async getLocationList() {
+ await getLocationList({
+ keyword: "",
+ page: 1,
+ pageSize: 100
+ }).then((res) => {
+ if (res.code === 200) {
+ const list = res.data ? res.data : []
+ this.selLocationOptions = list
+ }
+ })
+ },
+ // 鑾峰彇鍏徃鍒楄〃
+ async getCompanyList() {
+ await getCompanyList().then((res) => {
+ console.log(res)
+ if (res.data.code === 200) {
+ this.companyOptions = res.data.data
+ }
+ })
+ },
// 閫夋嫨浜у搧
selProductClick(item) {
this.tableList.tableData.map((ite) => {
@@ -235,7 +356,20 @@
})
console.log(this.tableList.tableData)
},
- // 閫夋嫨鍗曚綅
+ // 閫夋嫨浣嶇疆
+ selLocationClick(item) {
+ console.log(item)
+ console.log(this.tableList.tableData)
+ // this.tableList.tableData.map((ite) => {
+ // if (ite.location.label === item.label) {
+ // ite.location = item.label
+ // }
+ // if (ite.subLocation.label === item.label) {
+ // ite.subLocation = item.label
+ // }
+ // })
+ },
+ // 閫夋嫨鍗曚綅/鐢ㄦ埛
selCommonClick(item) {
console.log(item)
},
@@ -320,6 +454,14 @@
return true
}
this.tableList.tableData.splice(scope.$index, 1)
+ },
+ // 琛岀偣鍑�
+ tableRowClick(row) {
+ this.$emit("tableRowClick", row, row.index)
+ },
+ // 鍗曢�夎鐩稿叧
+ tableRowClassName({ row, rowIndex }) {
+ row.index = rowIndex
}
}
}
@@ -333,6 +475,7 @@
margin-bottom: 0;
.custom-name {
display: flex;
+ justify-content: center;
.common-select-btn {
margin-left: 5px;
font-size: 18px;
diff --git a/src/components/makepager/SearchCommonView.vue b/src/components/makepager/SearchCommonView.vue
index 16b2170..66c8f07 100644
--- a/src/components/makepager/SearchCommonView.vue
+++ b/src/components/makepager/SearchCommonView.vue
@@ -3,9 +3,13 @@
<div class="search-top">
<div class="left">
<el-button v-if="showAdd" type="primary" size="mini" @click="addBtn">{{ addTitle }}</el-button>
+ <el-button v-if="showDiscard" size="mini" @click="discardBtn" style="margin-left: 0px">{{ "鍙栨秷" }}</el-button>
<div class="download" @click="downloadClick" :style="{ cursor: showDownload ? 'pointer' : 'no-drop' }">
<img src="@/assets/img/xiazai.png" style="width: 13px" />
</div>
+ <el-button v-if="showApply" type="text" size="mini" @click="addBtn" style="margin-left: 10px">{{
+ "搴旂敤鍏ㄩ儴"
+ }}</el-button>
<slot name="leftButton" />
</div>
<div v-if="amountView" class="amount">
@@ -79,7 +83,14 @@
type: Boolean,
default: true
},
+ showDiscard: {
+ default: false
+ },
showDownload: {
+ type: Boolean,
+ default: false
+ },
+ showApply: {
type: Boolean,
default: false
},
@@ -188,9 +199,17 @@
addBtn() {
this.$emit("addCommonClick")
},
+ // 涓㈠純
+ discardBtn() {
+ this.$emit("discardBtnClick")
+ },
// 涓嬭浇
downloadClick() {
this.$emit("downloadClick")
+ },
+ // 涓㈠純
+ applyBtn() {
+ this.$emit("applyBtnClick")
},
// 妯″叿-妫�鏌ラ厤缃�
inspectionConfigClick() {
@@ -212,7 +231,7 @@
align-items: center;
.left {
display: flex;
- width: 150px;
+ width: 210px;
margin-left: 20px;
.download {
width: 30px;
diff --git a/src/router/operate/index.js b/src/router/operate/index.js
index 59f8d89..5aa40ab 100644
--- a/src/router/operate/index.js
+++ b/src/router/operate/index.js
@@ -3,6 +3,8 @@
const allot = (resolve) => require(["@/views/operate/allot/index"], resolve) // 璋冩嫧
const scrap = (resolve) => require(["@/views/operate/scrap/index"], resolve) // 鎶ュ簾
const inventoryAdjustment = (resolve) => require(["@/views/operate/inventoryAdjustment/index"], resolve) // 搴撳瓨璋冩暣
+const inventoryAdjustmentHistory = (resolve) =>
+ require(["@/views/operate/inventoryAdjustment/inventoryAdjustmentHistory"], resolve) // 搴撳瓨璋冩暣鍘嗗彶
const appconfig = [
{
@@ -28,6 +30,14 @@
meta: {
title: "搴撳瓨璋冩暣"
}
+ },
+ {
+ path: "/operate/inventoryAdjustmentHistory",
+ name: "inventoryAdjustmentHistory",
+ component: inventoryAdjustmentHistory,
+ meta: {
+ title: "搴撳瓨璋冩暣 / 鍘嗗彶"
+ }
}
]
diff --git a/src/views/operate/inventoryAdjustment/index.vue b/src/views/operate/inventoryAdjustment/index.vue
index 7d52d43..9f6346e 100644
--- a/src/views/operate/inventoryAdjustment/index.vue
+++ b/src/views/operate/inventoryAdjustment/index.vue
@@ -2,57 +2,90 @@
<div class="rightContent">
<div class="top">
<SearchCommonView
- :add-title="'鏂板缓'"
- :placeholder="'璇疯緭鍏ュ崟鍙�'"
+ :add-title="addTitle"
+ :show-discard="showDiscard"
+ :show-apply="true"
+ :placeholder="'璇疯緭鍏ヤ綅缃�/浜у搧'"
:amount-view="false"
- @addCommonClick="addBtnClick"
+ @addCommonClick="addProductClick"
@searchClick="getList"
+ @discardBtnClick="discardBtnClick"
+ @applyBtnClick="applyBtnClick"
/>
</div>
<div class="list-view">
<div class="table">
- <TableCommonView
- ref="tableListRef"
- :table-list="tableList"
- :show-checkcol="false"
+ <CommonFormTableView
+ :isinventory="true"
+ :product-table-list="tableList"
+ @inputContent="inputContent"
@tableRowClick="tableRowClick"
- ></TableCommonView>
+ >
+ <template slot="tableButton">
+ <el-table-column label="鎿嶄綔" width="180" fixed="right" align="center">
+ <template slot-scope="scope">
+ <span @click="handleHistoryClick(scope.row)">
+ <i class="el-icon-refresh-left"></i>
+ <span>鍘嗗彶</span>
+ </span>
+ <span v-if="scope.row.isSet" @click="handleSetClick(scope)" class="margin_left_5px">
+ <i class="el-icon-setting"></i>
+ <span>璁剧疆</span>
+ </span>
+ <template v-else>
+ <span @click="handleUseClick(scope)" class="margin_left_5px">
+ <i class="el-icon-document"></i>
+ <span>搴旂敤</span>
+ </span>
+ <span @click="handleCleanupClick(scope)" class="margin_left_5px">
+ <i class="el-icon-delete"></i>
+ <span>娓呴櫎</span>
+ </span>
+ </template>
+ </template>
+ </el-table-column>
+ </template>
+ </CommonFormTableView>
</div>
<div class="btn-pager">
<PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
</div>
</div>
- <!-- 鏂板缓/缂栬緫 -->
- <AddDialog
- v-if="editConfig.visible"
- @refresh="refresh"
- :positionList="tableList.tableInfomation"
- :edit-common-config="editConfig"
- />
</div>
</template>
<script>
+import CommonFormTableView from "@/components/makepager/CommonFormTableView"
import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
import { getLocationList } from "@/api/warehouseManage/warehouse"
-import AddDialog from "@/views/warehouseManage/position/AddDialog"
-import { getDataByType } from "@/api/data"
export default {
name: "InventoryAdjustment",
props: {},
- components: { AddDialog },
+ components: { CommonFormTableView },
mixins: [pageMixin],
computed: {},
data() {
return {
+ addTitle: "鏂板缓",
+ showDiscard: false,
tableList: {},
+ tableData: [
+ {
+ location: "HC/閿�鍞尯",
+ productName: "澶忓鐪熶笣鍚婂甫瑁�",
+ amount: "0.00",
+ unit: "浠�",
+ count: "0.00",
+ date: "2023-12-31",
+ user: "绠$悊鍛�",
+ isSet: true,
+ isEdit: true
+ }
+ ],
searchOptions: [],
- editConfig: {
- visible: false,
- title: "鏂板缓",
- infomation: {}
- },
- positionTypeList: getDataByType("positionType")
+ countId: 0,
+ isNoProduct: true, // 娣诲姞鏄庣粏琛屾椂鏄惁鏈変骇鍝佹湭閫夋嫨
+ isRowClick: false
}
},
created() {
@@ -62,55 +95,124 @@
methods: {
setTable() {
this.tableList = {
- tableInfomation: [],
+ tableData: this.tableData,
selectBox: true,
- showcol: this.showcol,
- allcol: [],
- tableColumn: this.setTableColumn(this.showcol)
+ tableColumn: [
+ { label: "浣嶇疆", prop: "location", location: true },
+ { label: "浜у搧", prop: "productName", product: true },
+ { label: "鍦ㄥ簱鏁伴噺", prop: "amount" },
+ { label: "璁¢噺鍗曚綅", prop: "unit" },
+ { label: "璁℃暟鐨勬暟閲�", prop: "count", inputFloat: true },
+ { label: "宸紓", prop: "difference" },
+ { label: "鏃ユ湡", prop: "date", date: true },
+ { label: "鐢ㄦ埛", prop: "user", user: true }
+ ]
}
- let allcol = []
- for (let i = 0; i < this.tableList.tableColumn.length; i++) {
- if (!this.tableList.tableColumn[i].default) {
- const label = this.tableList.tableColumn[i].label
- allcol.push(label)
+ },
+ // 鎿嶄綔杈撳叆
+ inputContent(val, prop, row) {
+ this.countId = row.countId
+ this.tableData.map((item) => {
+ if (item.countId === row.countId) {
+ item[prop] = val
+ }
+ })
+ },
+ // 鏂板
+ addProductClick() {
+ console.log(this.tableData)
+ this.isSel()
+ if (this.isNoProduct && this.addTitle === "鏂板缓") {
+ this.addTitle = "淇濆瓨"
+ this.showDiscard = true
+ this.isRowClick = false
+ this.countId++
+ this.tableData.push({
+ countId: this.countId,
+ productId: "",
+ amount: 0,
+ unit: "",
+ productName: "",
+ count: "0.00",
+ isSet: true,
+ isEdit: false
+ })
+ } else if (this.isNoProduct && this.addTitle === "淇濆瓨") {
+ this.addTitle = "鏂板缓"
+ this.showDiscard = false
+ }
+ },
+ // 鏄惁閫夋嫨浜у搧
+ isSel() {
+ for (let i = 0; i < this.tableData.length; i++) {
+ if (this.tableData[i].productName.length === 0) {
+ this.isNoProduct = false
+ break
+ } else {
+ this.isNoProduct = true
}
}
- this.tableList.allcol = allcol
},
- setTableColumn(showcol) {
- console.log(showcol)
- let tableColumn = [
- {
- label: "浣嶇疆",
- prop: "jointName",
- isShowColumn: true,
- default: true
- },
- {
- label: "浣嶇疆绫诲瀷",
- prop: "type",
- isShowColumn: true,
- default: true,
- conversion: true,
- getStatus: this.getTypesList
- }
- ]
- return tableColumn
- },
- getTypesList(val) {
- let string = "--"
- if (val) {
- for (let i in this.positionTypeList) {
- if (this.positionTypeList[i].id == val) {
- return this.positionTypeList[i].name
- }
- }
+ // 鍙栨秷
+ discardBtnClick() {
+ if (this.isRowClick) {
+ this.tableData.map((item) => {
+ item.isEdit = true
+ })
+ } else {
+ this.tableData.splice(this.tableData.length - 1, 1)
}
- return string
+ this.addTitle = "鏂板缓"
+ this.showDiscard = false
},
- selTableCol(val) {
- this.showcol = val
- this.tableList.tableColumn = this.setTableColumn(val)
+ // 搴旂敤鍏ㄩ儴
+ applyBtnClick() {
+ console.log("搴旂敤鍏ㄩ儴")
+ },
+ // 鍘嗗彶
+ handleHistoryClick(row) {
+ this.isSel()
+ console.log(row)
+ if (this.isNoProduct) {
+ console.log("鍘嗗彶")
+ this.$router.push({
+ name: "inventoryAdjustmentHistory",
+ params: { id: row.id }
+ })
+ }
+ },
+ // 璁剧疆
+ handleSetClick(scope) {
+ this.isSel()
+ if (this.isNoProduct) {
+ scope.row.isSet = !scope.row.isSet
+ }
+ },
+ // 搴旂敤
+ handleUseClick(scope) {
+ scope.row.isSet = !scope.row.isSet
+ },
+ // 娓呴櫎
+ handleCleanupClick(scope) {
+ scope.row.isSet = !scope.row.isSet
+ },
+ // 琛岀偣鍑�
+ tableRowClick(row, rowIndex) {
+ console.log(row, rowIndex)
+ this.addTitle = "淇濆瓨"
+ this.showDiscard = true
+ this.isRowClick = true
+ this.isSel()
+ if (!this.isNoProduct) {
+ this.tableData.splice(this.tableData.length - 1, 1)
+ }
+ this.tableData.map((item, index) => {
+ if (index === rowIndex) {
+ item.isEdit = false
+ } else {
+ item.isEdit = true
+ }
+ })
},
// 璇锋眰鏁版嵁
async getData() {
@@ -126,23 +228,11 @@
}
})
},
- refresh() {
- this.pagerOptions.currPage = 1
- this.getData()
- },
// 鎼滅储
getList(val) {
this.keyword = val
this.pagerOptions.currPage = 1
this.getData()
- },
- // 琛岀偣鍑�
- tableRowClick(row) {
- console.log(row)
- this.editConfig.title = "缂栬緫"
- this.editConfig.infomation = { ...row }
- this.editConfig.infomation.parentId = Number(this.editConfig.infomation.parentId)
- this.editConfig.visible = true
},
// 鏂板缓
addBtnClick() {
diff --git a/src/views/operate/inventoryAdjustment/inventoryAdjustmentHistory.vue b/src/views/operate/inventoryAdjustment/inventoryAdjustmentHistory.vue
new file mode 100644
index 0000000..cb0de4a
--- /dev/null
+++ b/src/views/operate/inventoryAdjustment/inventoryAdjustmentHistory.vue
@@ -0,0 +1,167 @@
+<template>
+ <div class="rightContent">
+ <div class="top">
+ <SearchCommonView
+ :show-add="false"
+ :placeholder="'璇疯緭鍏ュ崟鍙�/浜у搧'"
+ :amount-view="false"
+ @searchClick="getList"
+ />
+ </div>
+ <div class="list-view">
+ <div class="table">
+ <TableCommonView ref="tableListRef" :table-list="tableList" @selTableCol="selTableCol"></TableCommonView>
+ </div>
+ <div class="btn-pager">
+ <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
+import { getAllList } from "@/api/overview/overview"
+
+export default {
+ name: "InventoryAdjustmentHistory",
+ props: {},
+ components: {},
+ mixins: [pageMixin],
+ computed: {},
+ data() {
+ return {
+ tableList: {},
+ showcol: ["鐘舵��"],
+ searchOptions: [],
+ keyword: ""
+ }
+ },
+ created() {
+ this.setTable()
+ this.getData()
+ },
+ methods: {
+ setTable() {
+ this.tableList = {
+ tableInfomation: [],
+ selectBox: true,
+ showcol: this.showcol,
+ allcol: [],
+ tableColumn: this.setTableColumn(this.showcol)
+ }
+ let allcol = []
+ for (let i = 0; i < this.tableList.tableColumn.length; i++) {
+ if (!this.tableList.tableColumn[i].default) {
+ const label = this.tableList.tableColumn[i].label
+ allcol.push(label)
+ }
+ }
+ this.tableList.allcol = allcol
+ },
+ setTableColumn(showcol) {
+ let tableColumn = [
+ {
+ label: "鏃ユ湡",
+ prop: "operationDate",
+ isShowColumn: true,
+ default: true,
+ date: true
+ },
+ {
+ label: "鍗曞彿",
+ prop: "number",
+ isShowColumn: true,
+ default: true
+ },
+ {
+ label: "浜у搧",
+ prop: "productName",
+ isShowColumn: true,
+ default: true
+ },
+ {
+ label: "浠�",
+ prop: "from",
+ isShowColumn: true,
+ default: true
+ },
+ {
+ label: "鑷�",
+ prop: "to",
+ isShowColumn: true,
+ default: true
+ },
+ {
+ label: "鏁伴噺",
+ prop: "amount",
+ isShowColumn: true,
+ default: true
+ },
+ {
+ label: "鍗曚綅",
+ prop: "unit",
+ isShowColumn: true,
+ default: true
+ },
+ {
+ label: "鐘舵��",
+ prop: "status",
+ width: 120,
+ isShowColumn: showcol.includes("鐘舵��"),
+ default: false,
+ status: true,
+ isCallMethod: true,
+ getCallMethod: this.getStatus
+ },
+ {
+ label: "瀹屾垚鑰�",
+ prop: "user",
+ isShowColumn: showcol.includes("瀹屾垚鑰�"),
+ default: false
+ }
+ ]
+ return tableColumn
+ },
+ selTableCol(val) {
+ this.showcol = val
+ this.tableList.tableColumn = this.setTableColumn(val)
+ },
+ // 璇锋眰鏁版嵁
+ async getData() {
+ await getAllList({
+ number: this.keyword,
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize,
+ sourceNumber: this.keyword
+ }).then((res) => {
+ if (res.code === 200) {
+ const list = res.data.map((item) => {
+ return {
+ ...item,
+ from: item.fromLocation.name,
+ to: item.toLocation.name
+ }
+ })
+ this.tableList.tableInfomation = list || []
+ this.pagerOptions.totalCount = res.total
+ }
+ })
+ },
+ // 鎼滅储
+ getList(val) {
+ console.log(val)
+ this.keyword = val
+ this.pagerOptions.currPage = 1
+ this.getData()
+ },
+ // 鐘舵��
+ getStatus(val) {
+ return val === 1 ? "鑽夌" : val === 3 ? "灏辩华" : "瀹屾垚"
+ }
+ }
+}
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style lang="scss" scoped></style>
diff --git a/src/views/warehouseManage/listingRules/index.vue b/src/views/warehouseManage/listingRules/index.vue
index 1b6f8c0..ee066a3 100644
--- a/src/views/warehouseManage/listingRules/index.vue
+++ b/src/views/warehouseManage/listingRules/index.vue
@@ -2,57 +2,74 @@
<div class="rightContent">
<div class="top">
<SearchCommonView
- :add-title="'鏂板缓'"
- :placeholder="'璇疯緭鍏ュ崟鍙�'"
+ :add-title="addTitle"
+ :show-discard="showDiscard"
+ :placeholder="'璇疯緭鍏ヤ綅缃�/浜у搧'"
:amount-view="false"
- @addCommonClick="addBtnClick"
+ @addCommonClick="addProductClick"
@searchClick="getList"
+ @discardBtnClick="discardBtnClick"
+ @applyBtnClick="applyBtnClick"
/>
</div>
<div class="list-view">
<div class="table">
- <TableCommonView
- ref="tableListRef"
- :table-list="tableList"
- :show-checkcol="false"
+ <CommonFormTableView
+ :islistingrules="true"
+ :product-table-list="tableList"
+ @inputContent="inputContent"
@tableRowClick="tableRowClick"
- ></TableCommonView>
+ >
+ </CommonFormTableView>
</div>
<div class="btn-pager">
<PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
</div>
</div>
- <!-- 鏂板缓/缂栬緫 -->
- <AddDialog
- v-if="editConfig.visible"
- @refresh="refresh"
- :positionList="tableList.tableInfomation"
- :edit-common-config="editConfig"
- />
</div>
</template>
<script>
+import CommonFormTableView from "@/components/makepager/CommonFormTableView"
import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
import { getLocationList } from "@/api/warehouseManage/warehouse"
-import AddDialog from "@/views/warehouseManage/position/AddDialog"
-import { getDataByType } from "@/api/data"
export default {
- name: "ListingRules",
+ name: "listingRules",
props: {},
- components: { AddDialog },
+ components: { CommonFormTableView },
mixins: [pageMixin],
computed: {},
data() {
return {
+ addTitle: "鏂板缓",
+ showDiscard: false,
tableList: {},
+ tableData: [
+ {
+ location: "HC/閿�鍞尯",
+ productName: "澶忓鐪熶笣鍚婂甫瑁�",
+ amount: "0.00",
+ unit: "浠�",
+ count: "0.00",
+ date: "2023-12-31",
+ user: "绠$悊鍛�",
+ isSet: true,
+ isEdit: true
+ },
+ {
+ location: "HM/閿�鍞尯",
+ productName: "澶忓鐪熶笣鍚婂甫瑁�",
+ productCategory: "",
+ subLocation: "A鍖�",
+ companyName: "璐濇�濈",
+ isSet: true,
+ isEdit: true
+ }
+ ],
searchOptions: [],
- editConfig: {
- visible: false,
- title: "鏂板缓",
- infomation: {}
- },
- positionTypeList: getDataByType("positionType")
+ countId: 0,
+ isNoProduct: true, // 娣诲姞鏄庣粏琛屾椂鏄惁鏈変骇鍝佹湭閫夋嫨
+ isRowClick: false
}
},
created() {
@@ -62,55 +79,131 @@
methods: {
setTable() {
this.tableList = {
- tableInfomation: [],
+ tableData: this.tableData,
selectBox: true,
- showcol: this.showcol,
- allcol: [],
- tableColumn: this.setTableColumn(this.showcol)
+ tableColumn: [
+ { label: "褰撲骇鍝佸埌杈�", prop: "location", location: true },
+ { label: "浜у搧", prop: "productName", product: true },
+ // { label: "浜у搧绫诲埆", prop: "productCategory", productCategory: true },
+ { label: "瀛樺偍鍒板瓙浣嶇疆", prop: "subLocation", location: true },
+ { label: "鍏徃", prop: "companyName", company: true }
+ ]
}
- let allcol = []
- for (let i = 0; i < this.tableList.tableColumn.length; i++) {
- if (!this.tableList.tableColumn[i].default) {
- const label = this.tableList.tableColumn[i].label
- allcol.push(label)
- }
- }
- this.tableList.allcol = allcol
},
- setTableColumn(showcol) {
- console.log(showcol)
- let tableColumn = [
- {
- label: "浣嶇疆",
- prop: "jointName",
- isShowColumn: true,
- default: true
- },
- {
- label: "浣嶇疆绫诲瀷",
- prop: "type",
- isShowColumn: true,
- default: true,
- conversion: true,
- getStatus: this.getTypesList
+ // 鎿嶄綔杈撳叆
+ inputContent(val, prop, row) {
+ this.countId = row.countId
+ this.tableData.map((item) => {
+ if (item.countId === row.countId) {
+ item[prop] = val
}
- ]
- return tableColumn
+ })
},
- getTypesList(val) {
- let string = "--"
- if (val) {
- for (let i in this.positionTypeList) {
- if (this.positionTypeList[i].id == val) {
- return this.positionTypeList[i].name
+ // 鏂板
+ addProductClick() {
+ console.log(this.tableData)
+ this.isSel()
+ if (this.isNoProduct && this.addTitle === "鏂板缓") {
+ this.addTitle = "淇濆瓨"
+ this.showDiscard = true
+ this.isRowClick = false
+ this.countId++
+ this.tableData.push({
+ countId: this.countId,
+ productId: "",
+ location: 0,
+ subLocation: "",
+ productName: "",
+ companyName: "",
+ isSet: true,
+ isEdit: false
+ })
+ } else if (this.isNoProduct && this.addTitle === "淇濆瓨") {
+ this.addTitle = "鏂板缓"
+ this.showDiscard = false
+ this.tableData.map((item) => {
+ item.isEdit = true
+ console.log(item)
+ if (typeof item.location === "object") {
+ item.location = item.location.name
}
+ if (typeof item.subLocation === "object") {
+ item.location = item.subLocation.name
+ }
+ })
+ }
+ },
+ // 鏄惁閫夋嫨浜у搧
+ isSel() {
+ for (let i = 0; i < this.tableData.length; i++) {
+ if (this.tableData[i].productName.length === 0) {
+ this.isNoProduct = false
+ break
+ } else {
+ this.isNoProduct = true
}
}
- return string
},
- selTableCol(val) {
- this.showcol = val
- this.tableList.tableColumn = this.setTableColumn(val)
+ // 鍙栨秷
+ discardBtnClick() {
+ if (this.isRowClick) {
+ this.tableData.map((item) => {
+ item.isEdit = true
+ })
+ } else {
+ this.tableData.splice(this.tableData.length - 1, 1)
+ }
+ this.addTitle = "鏂板缓"
+ this.showDiscard = false
+ },
+ // 搴旂敤鍏ㄩ儴
+ applyBtnClick() {
+ console.log("搴旂敤鍏ㄩ儴")
+ },
+ // 鍘嗗彶
+ handleHistoryClick(row) {
+ this.isSel()
+ console.log(row)
+ if (this.isNoProduct) {
+ console.log("鍘嗗彶")
+ this.$router.push({
+ name: "inventoryAdjustmentHistory",
+ params: { id: row.id }
+ })
+ }
+ },
+ // 璁剧疆
+ handleSetClick(scope) {
+ this.isSel()
+ if (this.isNoProduct) {
+ scope.row.isSet = !scope.row.isSet
+ }
+ },
+ // 搴旂敤
+ handleUseClick(scope) {
+ scope.row.isSet = !scope.row.isSet
+ },
+ // 娓呴櫎
+ handleCleanupClick(scope) {
+ scope.row.isSet = !scope.row.isSet
+ },
+ // 琛岀偣鍑�
+ tableRowClick(row, rowIndex) {
+ console.log(row, rowIndex)
+ this.addTitle = "淇濆瓨"
+ this.showDiscard = true
+ this.isRowClick = true
+ this.isSel()
+ if (!this.isNoProduct) {
+ this.tableData.splice(this.tableData.length - 1, 1)
+ }
+ this.tableData.map((item, index) => {
+ if (index === rowIndex) {
+ item.isEdit = false
+ } else {
+ item.isEdit = true
+ }
+ })
},
// 璇锋眰鏁版嵁
async getData() {
@@ -126,23 +219,11 @@
}
})
},
- refresh() {
- this.pagerOptions.currPage = 1
- this.getData()
- },
// 鎼滅储
getList(val) {
this.keyword = val
this.pagerOptions.currPage = 1
this.getData()
- },
- // 琛岀偣鍑�
- tableRowClick(row) {
- console.log(row)
- this.editConfig.title = "缂栬緫"
- this.editConfig.infomation = { ...row }
- this.editConfig.infomation.parentId = Number(this.editConfig.infomation.parentId)
- this.editConfig.visible = true
},
// 鏂板缓
addBtnClick() {
diff --git a/src/views/warehouseManage/position/AddDialog.vue b/src/views/warehouseManage/position/AddDialog.vue
index a14916e..e61fef4 100644
--- a/src/views/warehouseManage/position/AddDialog.vue
+++ b/src/views/warehouseManage/position/AddDialog.vue
@@ -34,16 +34,15 @@
>
<div>
<!-- <div>aaa</div> -->
- <FormBtnsView :showPosition="true" :showWarehouse=false @productClick="productClick" />
+ <FormBtnsView :showPosition="true" :showWarehouse="false" @productClick="productClick" />
</div>
<div class="basic-info">
<div class="basic-info-view">
-
<el-row>
<el-col :span="24" class="line_height_30px">
<el-form-item label="浣嶇疆鍚嶇О" prop="name">
<el-input
- :disabled="!showFooter"
+ :disabled="!showFooter"
v-model="editConfig.infomation.name"
placeholder="璇疯緭鍏�"
></el-input>
@@ -58,12 +57,7 @@
style="width: 45%"
:disabled="!showFooter"
>
- <el-option
- v-for="item in positionList"
- :key="item.id"
- :label="item.name"
- :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>
@@ -71,94 +65,81 @@
</el-row>
</div>
<div class="bottom">
- <div class="left">
- <div class="second-label">鍏朵粬淇℃伅</div>
- <el-form-item label="浣嶇疆绫诲瀷" prop="type">
- <el-select
- v-model="editConfig.infomation.type"
- filterable
- :disabled="!showFooter"
- placeholder="璇烽�夋嫨"
- style="width: 100%"
- no-data-text="鏆傛棤鏁版嵁"
- >
- <el-option
- v-for="item in positionTypeList"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="鏄竴涓姤搴熶綅缃�" v-if="editConfig.infomation.type==3||editConfig.infomation.type==5" prop="isScrapLocation">
- <el-checkbox
+ <div class="left">
+ <div class="second-label">鍏朵粬淇℃伅</div>
+ <el-form-item label="浣嶇疆绫诲瀷" prop="type">
+ <el-select
+ v-model="editConfig.infomation.type"
+ filterable
:disabled="!showFooter"
- v-model="editConfig.infomation.isScrapLocation"
- >
- </el-checkbox>
- </el-form-item>
- <el-form-item label="鏄竴涓��鍥炰綅缃�" prop="isReturnLocation">
- <el-checkbox
+ placeholder="璇烽�夋嫨"
+ style="width: 100%"
+ no-data-text="鏆傛棤鏁版嵁"
+ >
+ <el-option v-for="item in positionTypeList" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item
+ label="鏄竴涓姤搴熶綅缃�"
+ v-if="editConfig.infomation.type == 3 || editConfig.infomation.type == 5"
+ prop="isScrapLocation"
+ >
+ <el-checkbox :disabled="!showFooter" v-model="editConfig.infomation.isScrapLocation"> </el-checkbox>
+ </el-form-item>
+ <el-form-item label="鏄竴涓��鍥炰綅缃�" prop="isReturnLocation">
+ <el-checkbox :disabled="!showFooter" v-model="editConfig.infomation.isReturnLocation"> </el-checkbox>
+ </el-form-item>
+ <el-form-item label="琛ュ厖浣嶇疆" v-if="editConfig.infomation.type == 3" prop="replenishLocation">
+ <el-checkbox :disabled="!showFooter" v-model="editConfig.infomation.replenishLocation"> </el-checkbox>
+ </el-form-item>
+ </div>
+ <div class="left" v-if="editConfig.infomation.type == 3 || editConfig.infomation.type == 7">
+ <div class="second-label">寰幆璁℃暟</div>
+ <el-form-item label="鐩樼偣棰戠巼锛堝ぉ锛�" prop="countFrequency">
+ <el-input
:disabled="!showFooter"
- v-model="editConfig.infomation.isReturnLocation"
- >
- </el-checkbox>
- </el-form-item>
- <el-form-item label="琛ュ厖浣嶇疆" v-if="editConfig.infomation.type==3" prop="replenishLocation">
- <el-checkbox
+ v-model="editConfig.infomation.countFrequency"
+ placeholder="璇疯緭鍏�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="鏈�杩戞湁鏁堢洏鐐�" prop="recentlyCount">
+ <el-date-picker
:disabled="!showFooter"
- v-model="editConfig.infomation.replenishLocation"
- >
- </el-checkbox>
- </el-form-item>
- </div>
- <div class="left" v-if="editConfig.infomation.type==3||editConfig.infomation.type==7">
- <div class="second-label">寰幆璁℃暟</div>
- <el-form-item label="鐩樼偣棰戠巼锛堝ぉ锛�" prop="countFrequency">
- <el-input
- :disabled="!showFooter"
- v-model="editConfig.infomation.countFrequency"
- placeholder="璇疯緭鍏�"
- ></el-input>
- </el-form-item>
- <el-form-item label="鏈�杩戞湁鏁堢洏鐐�" prop="recentlyCount">
- <el-date-picker
- :disabled="!showFooter"
- v-model="editConfig.infomation.recentlyCount"
- type="date"
- placeholder="閫夋嫨鏃ユ湡"
- value-format="yyyy-MM-dd"
- >
- </el-date-picker>
- </el-form-item>
- <el-form-item label="棰勮涓嬩竴娆$洏鐐�" prop="nextCount">
- <el-date-picker
- :disabled="!showFooter"
- v-model="editConfig.infomation.nextCount"
- type="date"
- placeholder="閫夋嫨鏃ユ湡"
- value-format="yyyy-MM-dd"
- >
- </el-date-picker>
- </el-form-item>
- </div>
+ v-model="editConfig.infomation.recentlyCount"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ value-format="yyyy-MM-dd"
+ >
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="棰勮涓嬩竴娆$洏鐐�" prop="nextCount">
+ <el-date-picker
+ :disabled="!showFooter"
+ v-model="editConfig.infomation.nextCount"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ value-format="yyyy-MM-dd"
+ >
+ </el-date-picker>
+ </el-form-item>
+ </div>
</div>
<el-form-item label="" prop="notes" label-width="20px">
- <el-input
- :disabled="!showFooter"
- type="textarea"
- placeholder="澶栭儴澶囨敞"
- :autosize="{ minRows: 3, maxRows: 4 }"
- maxlength="500"
- clearable
- v-model="editConfig.infomation.notes"
- ></el-input>
+ <el-input
+ :disabled="!showFooter"
+ type="textarea"
+ placeholder="澶栭儴澶囨敞"
+ :autosize="{ minRows: 3, maxRows: 4 }"
+ maxlength="500"
+ clearable
+ v-model="editConfig.infomation.notes"
+ ></el-input>
</el-form-item>
<div class="bottom">
<!-- <div class="left"> -->
- <!-- <div class="second-label">鐗╂祦</div> -->
- <!-- <el-form-item label="涓嬭浇绛栫暐" prop="desc">
+ <!-- <div class="second-label">鐗╂祦</div> -->
+ <!-- <el-form-item label="涓嬭浇绛栫暐" prop="desc">
<el-select
v-model="editConfig.value1"
filterable
@@ -177,7 +158,7 @@
</el-option>
</el-select>
</el-form-item> -->
- <!-- </div> -->
+ <!-- </div> -->
</div>
</div>
</el-form>
@@ -191,8 +172,8 @@
</template>
<script>
-import { addLocation,updateLocation,deleteLocation } from "@/api/warehouseManage/warehouse"
-import { getDataByType } from "@/api/data";
+import { addLocation, updateLocation, deleteLocation } from "@/api/warehouseManage/warehouse"
+import { getDataByType } from "@/api/data"
export default {
name: "AddScrapDialog",
props: {
@@ -206,8 +187,8 @@
}
}
},
- positionList:{
- type:[Array]
+ positionList: {
+ type: [Array]
}
},
components: {},
@@ -218,19 +199,21 @@
editConfig: this.editCommonConfig,
rules: {
name: [{ required: true, message: "璇疯緭鍏�", trigger: "change" }],
- countFrequency: [{
+ countFrequency: [
+ {
required: false,
message: "璇峰~鍐欎笉灏忎簬0鐨勬暟瀛�",
- trigger: "change",
+ trigger: "change"
},
{
validator: this.validatorNum,
- trigger: "blur",
- },],
+ trigger: "blur"
+ }
+ ]
},
showEdit: false, // 鏄惁鏄剧ず缂栬緫鎸夐挳
showFooter: false, // 鏄惁鏄剧ず鍙栨秷淇濆瓨
- positionTypeList: getDataByType("positionType"),
+ positionTypeList: getDataByType("positionType")
}
},
created() {
@@ -240,23 +223,21 @@
validatorNum(rule, value, callback) {
if (value) {
if (value == undefined || value == null) {
- callback(new Error("璇疯緭鍏ユ湁鏁堟暟瀛�"));
+ callback(new Error("璇疯緭鍏ユ湁鏁堟暟瀛�"))
} else {
- var reg = /^\+?[0-9]\d*$/;
+ var reg = /^\+?[0-9]\d*$/
if (!reg.test(value)) {
- callback(new Error("璇峰~鍐欎笉灏忎簬0鐨勬暟瀛�"));
+ callback(new Error("璇峰~鍐欎笉灏忎簬0鐨勬暟瀛�"))
} else {
- callback();
+ callback()
}
}
} else {
- callback();
+ callback()
}
},
// 璺嚎
- productClick() {
-
- },
+ productClick() {},
// 璁剧疆鍒犻櫎/鎵撳嵃/缂栬緫鏄惁鏄剧ず
setBottonView() {
if (this.editConfig.title === "鏂板缓") {
@@ -276,16 +257,16 @@
},
// 鍒櫎
deleteClick() {
- let data = JSON.parse(JSON.stringify(this.editConfig.infomation));
+ let data = JSON.parse(JSON.stringify(this.editConfig.infomation))
deleteLocation({ id: data.id }).then((res) => {
if (res.code == 200) {
- this.editConfig.visible = false;
- this.$message.success("鍒櫎鎴愬姛!");
- this.$emit("refresh");
+ this.editConfig.visible = false
+ this.$message.success("鍒櫎鎴愬姛!")
+ this.$emit("refresh")
} else {
- this.$message.warning(res.msg?res.msg:"鍒犻櫎澶辫触!")
- }
- });
+ this.$message.warning(res.msg ? res.msg : "鍒犻櫎澶辫触!")
+ }
+ })
},
// 缂栬緫
editClick() {
@@ -293,56 +274,56 @@
this.showFooter = true
},
saveParams() {
- let data =JSON.parse(JSON.stringify(this.editConfig.infomation));
-
+ let data = JSON.parse(JSON.stringify(this.editConfig.infomation))
+
let params = {
- name:data.name,
- parentId:data.parentId+'',
- type:data.type,
- isScrapLocation:data.isScrapLocation,
- isReturnLocation:data.isReturnLocation,
- replenishLocation:data.replenishLocation,
- countFrequency:data.countFrequency?Number(data.countFrequency):0,
- recentlyCount:data.recentlyCount,
- nextCount:data.nextCount,
- notes:data.notes,
+ name: data.name,
+ parentId: data.parentId,
+ type: data.type,
+ isScrapLocation: data.isScrapLocation,
+ isReturnLocation: data.isReturnLocation,
+ replenishLocation: data.replenishLocation,
+ countFrequency: data.countFrequency ? Number(data.countFrequency) : 0,
+ recentlyCount: data.recentlyCount,
+ nextCount: data.nextCount,
+ notes: data.notes
}
- if(data.id){
- params.id=data.id
+ if (data.id) {
+ params.id = data.id
}
- return params;
+ return params
},
// 淇濆瓨
saveClick(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
- const params = this.saveParams();
- if (this.editConfig.title === "鏂板缓") {
- addLocation(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 {
- updateLocation(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;
+ const params = this.saveParams()
+ if (this.editConfig.title === "鏂板缓") {
+ addLocation(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 {
+ updateLocation(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
}
- });
+ })
}
}
}
@@ -376,29 +357,26 @@
-webkit-box-shadow: inset 0 0 2px #dee2e6;
.basic-info-view {
margin-top: 20px;
- padding:0 20px;
-
+ padding: 0 20px;
}
- .bottom{
+ .bottom {
display: flex;
margin-left: 20px;
.left {
width: calc(50% - 10px);
- margin-right:20px;
+ margin-right: 20px;
}
.right {
width: calc(50% - 10px);
}
.second-label {
-
border-bottom: 1px solid #d9d9d9;
margin-bottom: 10px;
}
- ::v-deep .el-tabs__content{
+ ::v-deep .el-tabs__content {
padding: 0 20px;
}
}
-
}
.purchase-view {
display: flex;
diff --git a/src/views/warehouseManage/position/index.vue b/src/views/warehouseManage/position/index.vue
index 5a562a0..5d9c57d 100644
--- a/src/views/warehouseManage/position/index.vue
+++ b/src/views/warehouseManage/position/index.vue
@@ -23,7 +23,12 @@
</div>
</div>
<!-- 鏂板缓/缂栬緫 -->
- <AddDialog v-if="editConfig.visible" @refresh="refresh" :positionList="tableList.tableInfomation" :edit-common-config="editConfig" />
+ <AddDialog
+ v-if="editConfig.visible"
+ @refresh="refresh"
+ :positionList="tableList.tableInfomation"
+ :edit-common-config="editConfig"
+ />
</div>
</template>
@@ -31,7 +36,7 @@
import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
import { getLocationList } from "@/api/warehouseManage/warehouse"
import AddDialog from "@/views/warehouseManage/position/AddDialog"
-import { getDataByType } from "@/api/data";
+import { getDataByType } from "@/api/data"
export default {
name: "WarehouseView",
props: {},
@@ -47,7 +52,7 @@
title: "鏂板缓",
infomation: {}
},
- positionTypeList: getDataByType("positionType"),
+ positionTypeList: getDataByType("positionType")
}
},
created() {
@@ -87,21 +92,21 @@
isShowColumn: true,
default: true,
conversion: true,
- getStatus: this.getTypesList,
+ getStatus: this.getTypesList
}
]
return tableColumn
},
- getTypesList(val){
- let string='--'
- if(val){
+ getTypesList(val) {
+ let string = "--"
+ if (val) {
for (let i in this.positionTypeList) {
if (this.positionTypeList[i].id == val) {
- return this.positionTypeList[i].name;
+ return this.positionTypeList[i].name
}
}
}
- return string;
+ return string
},
selTableCol(val) {
this.showcol = val
@@ -115,20 +120,20 @@
pageSize: this.pagerOptions.pageSize
}).then((res) => {
if (res.code === 200) {
- const list = res.data?res.data:[]
+ const list = res.data ? res.data : []
this.tableList.tableInfomation = list
this.pagerOptions.totalCount = res.total
}
})
},
- refresh(){
- this.pagerOptions.currPage=1
+ refresh() {
+ this.pagerOptions.currPage = 1
this.getData()
},
// 鎼滅储
getList(val) {
- this.keyword=val;
- this.pagerOptions.currPage=1
+ this.keyword = val
+ this.pagerOptions.currPage = 1
this.getData()
},
// 琛岀偣鍑�
@@ -136,22 +141,22 @@
console.log(row)
this.editConfig.title = "缂栬緫"
this.editConfig.infomation = { ...row }
- this.editConfig.infomation.parentId=Number(this.editConfig.infomation.parentId);
+ this.editConfig.infomation.parentId = Number(this.editConfig.infomation.parentId)
this.editConfig.visible = true
},
// 鏂板缓
addBtnClick() {
- this.editConfig.infomation={
- name:'',
- parentId:null,
- type:3,
- isScrapLocation:null,
- isReturnLocation:null,
- replenishLocation:null,
- countFrequency:0,
- recentlyCount:'',
- nextCount:'',
- notes:'',
+ this.editConfig.infomation = {
+ name: "",
+ parentId: null,
+ type: 3,
+ isScrapLocation: null,
+ isReturnLocation: null,
+ replenishLocation: null,
+ countFrequency: 0,
+ recentlyCount: "",
+ nextCount: "",
+ notes: ""
}
this.editConfig.visible = true
this.editConfig.title = "鏂板缓"
--
Gitblit v1.8.0