From f8c92594757c7a3db7188bb384f4fd2fb841604a Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期三, 29 六月 2022 08:43:54 +0800
Subject: [PATCH] 1.完成存货档案2.修改以前bug
---
src/views/zzmx/chda.vue | 310 ++++++++++++++++++++++++++++---------------
public/static/theme/radio-button.css | 2
src/api/zzmx.js | 31 ++++
src/views/jcsz/wldw.vue | 8
src/views/jcsz/yhqd.vue | 10
src/views/jcsz/jsqd.vue | 14 +
src/views/sbgl/sbqd.vue | 27 ++-
public/static/theme/loading.css | 2
8 files changed, 266 insertions(+), 138 deletions(-)
diff --git a/public/static/theme/loading.css b/public/static/theme/loading.css
index 042f7ce..734e892 100644
--- a/public/static/theme/loading.css
+++ b/public/static/theme/loading.css
@@ -1 +1 @@
-.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:rgba(255,255,255,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-loading-spinner .el-loading-text{color:#42B983;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#42B983;stroke-linecap:round}.el-loading-spinner i{color:#42B983}.el-loading-fade-enter,.el-loading-fade-leave-active{opacity:0}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}
\ No newline at end of file
+.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:rgba(255,255,255,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-loading-spinner .el-loading-text{color:#42B983;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#42B983;stroke-linecap:round}.el-loading-spinner i{color:#42B983}.el-loading-fade-enter,.el-loading-fade-leave-active{opacity:0}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}
diff --git a/public/static/theme/radio-button.css b/public/static/theme/radio-button.css
index ea1bb9b..ac4640c 100644
--- a/public/static/theme/radio-button.css
+++ b/public/static/theme/radio-button.css
@@ -1 +1 @@
-@charset "UTF-8";.el-radio-button,.el-radio-button__inner{display:inline-block;position:relative;outline:0}.el-radio-button__inner{line-height:1;white-space:nowrap;vertical-align:middle;background:#FFF;border:1px solid #DCDFE6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#42B983}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#FFF;background-color:#42B983;border-color:#42B983;-webkit-box-shadow:-1px 0 0 0 #42B983;box-shadow:-1px 0 0 0 #42B983}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#F2F6FC}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px #42B983;box-shadow:0 0 2px 2px #42B983}
\ No newline at end of file
+@charset "UTF-8";.el-radio-button,.el-radio-button__inner{display:inline-block;position:relative;outline:0}.el-radio-button__inner{line-height:1;white-space:nowrap;vertical-align:middle;background:#FFF;border:1px solid #DCDFE6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#42B983}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#FFF;background-color:#42B983;border-color:#42B983;-webkit-box-shadow:-1px 0 0 0 #42B983;box-shadow:-1px 0 0 0 #42B983}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#F2F6FC}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px #42B983;box-shadow:0 0 2px 2px #42B983}
diff --git a/src/api/zzmx.js b/src/api/zzmx.js
index 525cb93..712e51e 100644
--- a/src/api/zzmx.js
+++ b/src/api/zzmx.js
@@ -237,3 +237,34 @@
params: data
})
}
+// 鑺傛媿宸ヤ环鎻愪氦
+export function SaveBeatRate(data) {
+ return request({
+ url: 'BasicSetting/SaveBeatRate',
+ method: 'post',
+ data
+ })
+}
+// 鑺傛媿宸ヤ环鍒犻櫎
+export function DeleteBeatRate(data) {
+ return request({
+ url: 'BasicSetting/DeleteBeatRate',
+ method: 'post',
+ params: data
+ })
+}
+
+// 瀛樿揣妗f浣跨敤鍗曚綅涓嬫媺
+export function UomSelect() {
+ return request({
+ url: 'BasicSetting/UomSelect',
+ method: 'get'
+ })
+}
+// 宸ヨ壓璺嚎宸ヨ壓璁剧疆涓嬫媺
+export function RouteSelect() {
+ return request({
+ url: 'BasicSetting/RouteSelect',
+ method: 'get'
+ })
+}
diff --git a/src/views/jcsz/jsqd.vue b/src/views/jcsz/jsqd.vue
index a3325dc..a828cbb 100644
--- a/src/views/jcsz/jsqd.vue
+++ b/src/views/jcsz/jsqd.vue
@@ -193,7 +193,7 @@
</el-dialog>
<!-- 璁剧疆鎸夐挳瀵硅瘽妗�-->
<el-dialog
- title="瑙掕壊绫诲瀷"
+ title="璁剧疆"
:visible.sync="settingDialogVisible"
width="50%"
top="15vh"
@@ -207,12 +207,14 @@
<el-table
:data="RoleTypeCodeArr"
border
+ height="400"
highlight-current-row
- :style="{width: 100+'%',height:tableHeight-300+'px'}"
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
@sort-change="sortChangeOfSetting"
>
+ <!-- :style="{width: 100+'%',height:tableHeight-300+'px'}"-->
+
<!-- <el-table-column-->
<!-- type="selection"-->
<!-- width="50"-->
@@ -348,7 +350,7 @@
:data="dialogFormUserTable"
border
highlight-current-row
- :style="{width: 100+'%',height:tableHeight-300+'px'}"
+ height="300"
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
:row-key="getRowKey"
@@ -804,7 +806,9 @@
},
// 娣诲姞鎸夐挳
addSetting() {
- const data = { roletype_code: '', roletype_name: '', isVisible: 1 }
+ let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
+ number = number === 0 ? Math.random() * Math.random() : number
+ const data = { roletype_code: '', roletype_name: '', isVisible: 1, number: number }
this.RoleTypeCodeArr.unshift(data)
},
// 鍒犻櫎鎸夐挳
@@ -845,7 +849,7 @@
// 璁剧疆琛ㄥ崟鍙栨秷浜嬩欢
formSettingCancel(row) {
this.RoleTypeCodeArr.forEach((item, index) => {
- if (item.isVisible === 1 && item.roletype_code === row.roletype_code) {
+ if (item.isVisible === 1 && item.number === row.number) {
this.RoleTypeCodeArr.splice(index, 1)
}
})
diff --git a/src/views/jcsz/wldw.vue b/src/views/jcsz/wldw.vue
index 269afb5..4084e51 100644
--- a/src/views/jcsz/wldw.vue
+++ b/src/views/jcsz/wldw.vue
@@ -95,7 +95,7 @@
width="120"
>
<template slot-scope="{row}">
- <div v-if="row.btype==='WX'">澶栨枩渚涙柟</div>
+ <div v-if="row.btype==='WX'">澶栧崗渚涙柟</div>
<div v-else>/</div>
</template>
</el-table-column>
@@ -170,13 +170,13 @@
@close="handleClose"
>
<el-form ref="dialogForm" inline :rules="dialogFormRules" :model="dialogForm" label-width="80px">
- <el-form-item label="渚涙柟缂栫爜" prop="unitcode">
+ <el-form-item label="鍗曚綅缂栫爜" prop="unitcode">
<el-input v-model="dialogForm.unitcode" :disabled="operation!=='add'" style="width: 220px" />
</el-form-item>
- <el-form-item label="渚涙柟鍚嶇О" prop="unitname">
+ <el-form-item label="鍗曚綅鍚嶇О" prop="unitname">
<el-input v-model="dialogForm.unitname" style="width: 220px" />
</el-form-item>
- <el-form-item style="width: 100%" label="渚涙柟灞炴��" prop="checkboxIsSelected">
+ <el-form-item style="width: 100%" label="鍗曚綅灞炴��" prop="checkboxIsSelected">
<el-checkbox-group v-model="dialogForm.checkboxIsSelected" @change="checkboxGroupChange">
<el-checkbox key="WG" value="WG" label="澶栬喘渚涙柟" />
<el-checkbox key="WX" value="WX" label="澶栧崗渚涙柟" />
diff --git a/src/views/jcsz/yhqd.vue b/src/views/jcsz/yhqd.vue
index 4af174c..a4ac8ea 100644
--- a/src/views/jcsz/yhqd.vue
+++ b/src/views/jcsz/yhqd.vue
@@ -744,12 +744,12 @@
this.dialogFormRoles.roleTreeSelectedArr.forEach((it, ind) => {
if (it.Code === checkedFatherCode) {
console.log(it.Code, 9)
- console.log(this.dialogFormRoles.roleTreeSelectedArr.splice(ind, 1), 7)
+ this.dialogFormRoles.roleTreeSelectedArr.splice(ind, 1)
}
})
this.dialogFormRoles.rolesArrSelectedArr.forEach((i, i1) => {
if (i === checkedFatherCode) {
- console.log(this.dialogFormRoles.rolesArrSelectedArr.splice(i1, 1), 8)
+ this.dialogFormRoles.rolesArrSelectedArr.splice(i1, 1)
}
})
}
@@ -784,7 +784,7 @@
} else { // 褰撶埗绫荤敱鍗婂彾鍙樹负鍏ㄥ彾鏃�
this.dialogFormRoles.roleTreeSelectedArr.forEach((i1, ind) => {
if (i1.Code === checkedFatherCode) { // i1娌℃壘瀵�
- console.log(i1, this.dialogFormRoles.roleTreeSelectedArr.splice(ind, 1), 8)
+ this.dialogFormRoles.roleTreeSelectedArr.splice(ind, 1)
temp.forEach(it => {
this.dialogFormRoles.roleTreeSelectedArr.push({
Code: it.code,
@@ -847,12 +847,12 @@
console.log(this.dialogFormRoles.rolesArrSelectedArr, 78)
this.dialogFormRoles.rolesArrSelectedArr.forEach((i, i1) => {
if (i === it.code) {
- console.log(this.dialogFormRoles.rolesArrSelectedArr.splice(i1, 1), 6664)
+ this.dialogFormRoles.rolesArrSelectedArr.splice(i1, 1)
}
})
this.dialogFormRoles.roleTreeSelectedArr.forEach((i, i1) => {
if (i.Code === it.code) {
- console.log(i1, this.dialogFormRoles.roleTreeSelectedArr.splice(i1, 1), 6665)
+ this.dialogFormRoles.roleTreeSelectedArr.splice(i1, 1)
}
})
}
diff --git a/src/views/sbgl/sbqd.vue b/src/views/sbgl/sbqd.vue
index ad2373f..22f286a 100644
--- a/src/views/sbgl/sbqd.vue
+++ b/src/views/sbgl/sbqd.vue
@@ -224,7 +224,7 @@
<el-form-item label="璁惧缁�" prop="devicegroupcode">
<el-select v-model="dialogForm.devicegroupcode" :popper-append-to-body="false" :disabled="dialogForm.devicetypecode===''" style="width: 220px" placeholder="璇烽�夋嫨">
<el-option
- v-for="item in DeviceGroupArr"
+ v-for="item in DeviceGroupDialogArr"
:key="item.code"
:label="item.name"
:value="item.code"
@@ -289,6 +289,7 @@
:visible.sync="DeviceTypeDialogVisible"
width="50%"
top="15vh"
+
class="DeviceTypeDialogVisible"
@close="handleCloseDeviceType"
>
@@ -299,8 +300,8 @@
<el-table
:data="DeviceTypeArray"
border
+ height="400"
highlight-current-row
- :style="{width: 100+'%',height:tableHeight-300+'px'}"
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
@sort-change="sortChangeOfDeviceType"
@@ -385,7 +386,7 @@
:data="DeviceGroupArray"
border
highlight-current-row
- :style="{width: 100+'%',height:tableHeight-300+'px'}"
+ height="400"
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
@sort-change="sortChangeOfDeviceGroup"
@@ -547,6 +548,7 @@
status: '',
ratio: ''
},
+ DeviceGroupDialogArr: [], // 璁惧缁勬暟缁�
WorkLineArr: [], // 鎵�灞炰骇绾挎暟缁�
operation: '',
dialogFormRules: {
@@ -626,7 +628,7 @@
},
// 璁惧绫诲瀷鏀瑰彉鏃�
async deviceTypeChange(val) {
- this.form.DeviceType = val
+ this.form.DeviceGroup = ''
const { data: res } = await DeviceTypeSelectGroup({ eqptypecode: val })
this.DeviceGroupArr = res
},
@@ -670,10 +672,11 @@
this.dialogVisible = true
},
// 淇敼鎸夐挳
- edit(operation, row) {
+ async edit(operation, row) {
this.operation = operation
this.dialogVisible = true
- // console.log(row)
+ await this.devicetypecodeChange(row.eqptype_code)
+ await this.workshopcodeChange(row.wksp_code)
this.$nextTick(() => {
this.dialogForm.id = row.id
this.dialogForm.devicecode = row.code
@@ -727,7 +730,7 @@
// 瀵硅瘽妗嗚澶囩被鍨嬩笅鎷夐�夋嫨鏀瑰彉鏃�
async devicetypecodeChange(val) {
const { data: res } = await DeviceTypeSelectGroup({ eqptypecode: val })
- this.DeviceGroupArr = res
+ this.DeviceGroupDialogArr = res
this.dialogForm.devicegroupcode = ''
},
// 瀵硅瘽妗嗗彇娑�
@@ -809,7 +812,8 @@
},
// 鏂板鎸夐挳
addDeviceType() {
- this.DeviceTypeArray.unshift({ code: '', name: '', group: '', remark: '', isVisible: 1 })
+ const number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
+ this.DeviceTypeArray.unshift({ code: '', name: '', group: '', remark: '', isVisible: 1, number: number })
},
// 鍒犻櫎
DeviceTypeDel(row) {
@@ -854,7 +858,7 @@
// 鍙栨秷
DeviceTypeCancel(row) {
this.DeviceTypeArray.forEach((item, index) => {
- if (item.isVisible === 1 && item.code === row.code) {
+ if (item.isVisible === 1 && item.number === row.number) {
this.DeviceTypeArray.splice(index, 1)
}
})
@@ -884,7 +888,8 @@
},
// 鏂板
addDeviceGroup() {
- this.DeviceGroupArray.unshift({ code: '', name: '', eqptype_code: '', eqptype_name: '', remark: '', isVisible: 1 })
+ const number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
+ this.DeviceGroupArray.unshift({ code: '', name: '', eqptype_code: '', eqptype_name: '', remark: '', isVisible: 1, number: number })
},
// 鎺掑簭
sortChangeOfDeviceGroup({ column, prop, order }) {
@@ -958,7 +963,7 @@
// 鍙栨秷鎸夐挳
DeviceGroupCancel(row) {
this.DeviceGroupArray.forEach((item, index) => {
- if (item.isVisible === 1 && item.code === row.code) {
+ if (item.isVisible === 1 && item.number === row.number) {
this.DeviceGroupArray.splice(index, 1)
}
})
diff --git a/src/views/zzmx/chda.vue b/src/views/zzmx/chda.vue
index efadb39..8d917a7 100644
--- a/src/views/zzmx/chda.vue
+++ b/src/views/zzmx/chda.vue
@@ -25,6 +25,7 @@
:popper-append-to-body="false"
style="width: 200px"
placeholder="璇烽�夋嫨"
+ @change="val=>stocktypecodeChange(val,'form')"
>
<el-option
v-for="item in stocktypeArr"
@@ -37,6 +38,7 @@
<el-form-item label="鐗╂枡绫诲瀷" style=" display: flex;">
<el-select
v-model="form.materialtypecode"
+ :disabled="form.stocktypecode===''"
:popper-append-to-body="false"
style="width: 200px"
placeholder="璇烽�夋嫨"
@@ -83,7 +85,7 @@
:data="tableData"
border
:height="tableHeight"
- :style="{width: 100+'%',height:tableHeight+'px',}"
+ width="100%"
highlight-current-row
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
@@ -100,23 +102,27 @@
/>
<el-table-column
prop="partcode"
+ show-overflow-tooltip
label="鐗╂枡缂栫爜"
sortable="custom"
/>
<el-table-column
prop="partname"
+ show-overflow-tooltip
label="鐗╂枡鍚嶇О"
sortable="custom"
/>
<el-table-column
prop="partspec"
label="鐗╂枡瑙勬牸"
+ show-overflow-tooltip
+ width="110"
sortable="custom"
/>
<el-table-column
prop="uom_name"
label="鍗曚綅"
- width="120"
+ width="75"
sortable="custom"
/>
<el-table-column
@@ -132,24 +138,26 @@
<el-table-column
prop="stck_name"
label="浠撳簱鍚嶇О"
+ show-overflow-tooltip
sortable="custom"
/>
<el-table-column
prop="maxqty"
label="搴撳瓨涓婇檺"
- width="120"
+ width="110"
sortable="custom"
/>
<el-table-column
prop="minqty"
label="搴撳瓨涓嬮檺"
- width="120"
+ width="110"
sortable="custom"
/>
<el-table-column
prop="lm_user"
label="鍒涘缓浜哄憳"
sortable="custom"
+ width="110"
/>
<el-table-column
prop="lm_date"
@@ -162,10 +170,18 @@
width="80"
>
<template slot-scope="{row}">
- <div class="operationClass" style="justify-content: center;width: 100%">
+ <div class="operationClass">
<i class="el-icon-share" @click="routeClick(row)" />
-
- <!-- <el-button type="text" @click="edit('edit',row)">淇敼</el-button>-->
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔"
+ >
+ <template slot-scope="{row}">
+ <div class="operationClass">
+ <el-button type="text" @click="edit('edit',row)">淇敼</el-button>
+ <el-button type="text" @click="del(row)">鍒犻櫎</el-button>
</div>
</template>
</el-table-column>
@@ -183,6 +199,7 @@
@pagination="getInventoryFileSelect"
/>
</div>
+
<!--鏂板缂栬緫瀵硅瘽妗�-->
<el-dialog
:title="operation==='add'?'鏂板':'淇敼'"
@@ -193,18 +210,33 @@
@close="handleClose"
>
<el-form ref="dialogForm" inline :rules="dialogFormRules" :model="dialogForm" label-width="80px">
- <el-form-item label="鐗╂枡缂栫爜" prop="OrgCode">
- <el-input v-model="dialogForm.OrgCode" :disabled="operation!=='add'" style="width: 220px" />
+ <el-form-item label="鐗╂枡缂栫爜" prop="materialcode">
+ <el-input v-model="dialogForm.materialcode" :disabled="operation!=='add'" style="width: 220px" />
</el-form-item>
- <el-form-item label="鐗╂枡鍚嶇О" prop="OrgName">
- <el-input v-model="dialogForm.OrgName" style="width: 220px" />
+ <el-form-item label="鐗╂枡鍚嶇О" prop="materialname">
+ <el-input v-model="dialogForm.materialname" style="width: 220px" />
</el-form-item>
- <el-form-item label="鐗╂枡瑙勬牸" prop="OrgName">
- <el-input v-model="dialogForm.OrgName" style="width: 220px" />
+ <el-form-item label="鐗╂枡瑙勬牸" prop="materialspec">
+ <el-input v-model="dialogForm.materialspec" style="width: 220px" />
</el-form-item>
- <el-form-item label="浣跨敤鍗曚綅">
+ <el-form-item label="浣跨敤鍗曚綅" prop="uomcode">
<el-select
- v-model="dialogForm.stockcode"
+ v-model="dialogForm.uomcode"
+ :popper-append-to-body="false"
+ style="width: 220px"
+ placeholder="璇烽�夋嫨"
+ >
+ <el-option
+ v-for="item in uomArr"
+ :key="item.code"
+ :label="item.name"
+ :value="item.code"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鎵�灞炰粨搴�" prop="warehousecode">
+ <el-select
+ v-model="dialogForm.warehousecode"
:popper-append-to-body="false"
style="width: 220px"
placeholder="璇烽�夋嫨"
@@ -217,27 +249,13 @@
/>
</el-select>
</el-form-item>
- <el-form-item label="鎵�灞炰粨搴�">
+ <el-form-item label="瀛樿揣绫诲瀷" prop="stocktypecode">
<el-select
- v-model="dialogForm.stockcode"
+ v-model="dialogForm.stocktypecode"
:popper-append-to-body="false"
style="width: 220px"
placeholder="璇烽�夋嫨"
- >
- <el-option
- v-for="item in storehouseArr"
- :key="item.code"
- :label="item.name"
- :value="item.code"
- />
- </el-select>
- </el-form-item>
- <el-form-item label="瀛樿揣绫诲瀷">
- <el-select
- v-model="dialogForm.stockcode"
- :popper-append-to-body="false"
- style="width: 220px"
- placeholder="璇烽�夋嫨"
+ @change="val=>stocktypecodeChange(val,'dialogForm')"
>
<el-option
v-for="item in stocktypeArr"
@@ -247,26 +265,27 @@
/>
</el-select>
</el-form-item>
- <el-form-item label="鐗╂枡绫诲瀷">
+ <el-form-item label="鐗╂枡绫诲瀷" prop="materialtypecode">
<el-select
- v-model="dialogForm.stockcode"
+ v-model="dialogForm.materialtypecode"
:popper-append-to-body="false"
style="width: 220px"
+ :disabled="dialogForm.stocktypecode===''"
placeholder="璇烽�夋嫨"
>
<el-option
- v-for="item in materialtypeArr"
+ v-for="item in materialtypeDialogArr"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</el-form-item>
- <el-form-item label="鏈�灏忓簱瀛�" prop="SupUnit">
- <el-input v-model="dialogForm.OrgName" style="width: 220px" />
+ <el-form-item label="鏈�灏忓簱瀛�" prop="minstockqty">
+ <el-input v-model="dialogForm.minstockqty" style="width: 220px" />
</el-form-item>
- <el-form-item label="鏈�澶у簱瀛�" prop="SupUnit">
- <el-input v-model="dialogForm.OrgName" style="width: 220px" />
+ <el-form-item label="鏈�澶у簱瀛�" prop="maxstockqty">
+ <el-input v-model="dialogForm.maxstockqty" style="width: 220px" />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
@@ -294,7 +313,7 @@
:data="officeTableData"
border
highlight-current-row
- :style="{width: 100+'%',height:tableHeight-300+'px'}"
+ height="400"
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
@sort-change="sortChangeOfOffice"
@@ -344,8 +363,8 @@
label="鍙栨暣瑙勫垯"
sortable="custom"
>
+
<template slot-scope="{row}">
- <!-- <el-input v-if="row.isVisible===1" v-model="row.r_ule" placeholder="璇疯緭鍏�" />-->
<el-select
v-if="row.isVisible===1"
v-model="row.r_ule"
@@ -361,7 +380,9 @@
:value="item.code"
/>
</el-select>
- <div v-else> {{ row.r_ule }}</div>
+ <div v-else-if="row.isVisible===0&&row.r_ule==='RU'">鍚戜笂鍙栨暣</div>
+ <div v-else-if="row.isVisible===0&&row.r_ule==='RD'">鍚戜笅鍙栨暣</div>
+ <div v-else-if="row.isVisible===0&&row.r_ule==='RO'">鍥涜垗浜斿叆</div>
</template>
</el-table-column>
@@ -440,8 +461,7 @@
<el-table
:data="projectTableData"
border
- :height="tableHeight"
- :style="{width: 100+'%',height:tableHeight+'px',}"
+ height="400"
highlight-current-row
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
@@ -488,7 +508,15 @@
} from '@/api/jcsz'
import { getCookie } from '@/utils/auth'
import { WareHouseSelect } from '@/api/wlgl'
-import { InventoryFileSelect, StockTypeSelect, UomAdd, UomSearch } from '@/api/zzmx'
+import {
+ AddUpdateInventoryFile, DeleteInventoryFile, InventoryFileAssociationRoute,
+ InventoryFileSelect, SaveInventoryFile,
+ StockTypeSelect,
+ StockTypeSelectMaterialType,
+ UomAdd,
+ UomDelete,
+ UomSearch, UomSelect
+} from '@/api/zzmx'
import $ from 'jquery'
const SER_HZ = /^[\u4e00-\u9fa5]+$/
@@ -500,20 +528,13 @@
data() {
const validateName = (rule, value, callback) => {
if (!value) {
- return callback(new Error('璇疯緭鍏ョ紪鐮�'))
+ return callback(new Error('璇疯緭鍏ョ墿鏂欑紪鐮�'))
} else {
if (SER_HZ.test(value)) {
return callback(new Error('缂栫爜涓嶈兘涓轰腑鏂�'))
} else {
callback()
}
- }
- }
- const validateTypeCode = (rule, value, callback) => {
- if (!value) {
- return callback(new Error('璇烽�夋嫨涓婄骇'))
- } else {
- callback()
}
}
return {
@@ -538,24 +559,50 @@
tableData: [],
dialogVisible: false,
dialogForm: {
- OrgType: '',
- OrgCode: '',
- OrgName: ''
+ id: '', // 鐗╂枡id
+ materialcode: '', // 鐗╂枡缂栫爜
+ materialname: '', // 鐗╂枡鍚嶇О
+ materialspec: '', // 鐗╂枡瑙勬牸
+ uomcode: '', // 鍗曚綅缂栫爜
+ warehousecode: '', // 鎵�灞炰粨搴撶紪鐮�
+ stocktypecode: '', // 瀛樿揣绫诲瀷缂栫爜
+ materialtypecode: '', // 鐗╂枡绫诲瀷缂栫爜
+ minstockqty: '', // 鏈�灏忓簱瀛�
+ maxstockqty: '', // 鏈�澶у簱瀛�
+ OperType: '' // 鎿嶄綔绫诲瀷
},
+ uomArr: [], // 鍗曚綅鏁扮粍缂栫爜
+ materialtypeDialogArr: [], // 瀵硅瘽妗嗕腑鐗╂枡绫诲瀷鏁扮粍
operation: '',
dialogFormRules: {
- OrgType: [
- { required: true, message: '璇疯緭鍏ラ�夋嫨绫诲瀷', trigger: ['blur', 'change'] }
- ],
- OrgCode: [
+ materialcode: [
{ required: true, validator: validateName, trigger: ['blur', 'change'] }
],
- OrgName: [
- { required: true, message: '璇疯緭鍏ュ悕绉�', trigger: ['blur', 'change'] }
+ materialname: [
+ { required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉�', trigger: ['blur', 'change'] }
],
- SupUnit: [
- { required: true, validator: validateTypeCode, trigger: ['blur', 'change'] }
+ materialspec: [
+ { required: true, message: '璇疯緭鍏ョ墿鏂欒鏍�', trigger: ['blur', 'change'] }
+ ],
+ uomcode: [
+ { required: true, message: '璇烽�夋嫨浣跨敤鍗曚綅', trigger: ['blur', 'change'] }
+ ],
+ warehousecode: [
+ { required: true, message: '璇烽�夋嫨鎵�灞炰粨搴�', trigger: ['blur', 'change'] }
+ ],
+ stocktypecode: [
+ { required: true, message: '璇烽�夋嫨瀛樿揣绫诲瀷', trigger: ['blur', 'change'] }
+ ],
+ materialtypecode: [
+ { required: true, message: '璇疯緭鍏ョ墿鏂欑被鍨�', trigger: ['blur', 'change'] }
+ ],
+ minstockqty: [
+ { required: true, message: '璇疯緭鍏ユ渶灏忓簱瀛�', trigger: ['blur', 'change'] }
+ ],
+ maxstockqty: [
+ { required: true, message: '璇疯緭鍏ユ渶澶у簱瀛�', trigger: ['blur', 'change'] }
]
+
},
officeDialogVisible: false,
officeForm: {
@@ -599,9 +646,24 @@
async getStockTypeSelect() {
const { data: res } = await StockTypeSelect()
this.stocktypeArr = res
- }, async getWareHouseSelect() {
+ },
+ async getWareHouseSelect() {
const { data: res } = await WareHouseSelect()
this.storehouseArr = res
+ },
+ async getuomSelect() {
+ const { data: res } = await UomSelect()
+ this.uomArr = res
+ },
+ async stocktypecodeChange(val, param) {
+ const { data: res } = await StockTypeSelectMaterialType({ stocktypecode: val })
+ if (param === 'form') {
+ this.form.materialtypecode = ''
+ this.materialtypeArr = res
+ } else if (param === 'dialogForm') {
+ this.dialogForm.materialtypecode = ''
+ this.materialtypeDialogArr = res
+ }
},
// 鎺掑簭鏀瑰彉鏃�
sortChange({ column, prop, order }) {
@@ -637,26 +699,34 @@
add(operation) {
this.operation = operation
this.dialogVisible = true
+ this.getuomSelect()
},
// 淇敼鎸夐挳
- edit(operation, row) {
+ async edit(operation, row) {
this.operation = operation
this.dialogVisible = true
-
+ await this.stocktypecodeChange(row.stocktypecode, 'dialogForm')
this.$nextTick(() => {
- this.dialogForm.OrgCode = row.org_code
- this.dialogForm.OrgName = row.org_name
- this.dialogForm.SupUnit = row.parent_id
+ this.dialogForm.id = row.id
+ this.dialogForm.materialcode = row.partcode
+ this.dialogForm.materialname = row.partname
+ this.dialogForm.materialspec = row.partspec
+ this.dialogForm.uomcode = row.uom_code
+ this.dialogForm.warehousecode = row.stck_code
+ this.dialogForm.stocktypecode = row.stocktypecode
+ this.dialogForm.materialtypecode = row.materialtypecode
+ this.dialogForm.minstockqty = row.maxqty
+ this.dialogForm.maxstockqty = row.minqty
})
},
// 鍒犻櫎鎸夐挳
- async del(id) {
+ async del(row) {
this.$confirm('鏄惁纭鍒犻櫎?', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
- DeleteOrganization({ orgid: id }).then(res => {
+ DeleteInventoryFile({ materialcode: row.partcode }).then(res => {
if (res.code === '200') {
this.$message.success('鍒犻櫎鎴愬姛!')
this.getInventoryFileSelect()
@@ -668,10 +738,15 @@
},
// 瀵硅瘽妗嗗叧闂簨浠�
handleClose() {
- this.dialogForm.OrgType = ''
- this.dialogForm.OrgCode = ''
- this.dialogForm.OrgName = ''
- this.dialogForm.SupUnit = ''
+ this.dialogForm.materialcode = ''
+ this.dialogForm.materialname = ''
+ this.dialogForm.materialspec = ''
+ this.dialogForm.uomcode = ''
+ this.dialogForm.warehousecode = ''
+ this.dialogForm.stocktypecode = ''
+ this.dialogForm.materialtypecode = ''
+ this.dialogForm.minstockqty = ''
+ this.dialogForm.maxstockqty = ''
this.$refs.dialogForm.clearValidate()
},
// 瀵硅瘽妗嗗彇娑�
@@ -683,12 +758,19 @@
this.$refs.dialogForm.validate(valid => {
if (valid) {
const data = {
- OrganCode: this.dialogForm.OrgCode,
- OrganName: this.dialogForm.OrgName,
- OperType: this.operation === 'add' ? 'Add' : 'Update',
- Operator: getCookie('admin')
+ id: this.dialogForm.id,
+ materialcode: this.dialogForm.materialcode,
+ materialname: this.dialogForm.materialname,
+ materialspec: this.dialogForm.materialspec,
+ uomcode: this.dialogForm.uomcode,
+ warehousecode: this.dialogForm.warehousecode,
+ stocktypecode: this.dialogForm.stocktypecode,
+ materialtypecode: this.dialogForm.materialtypecode,
+ minstockqty: this.dialogForm.minstockqty,
+ maxstockqty: this.dialogForm.maxstockqty,
+ OperType: this.operation === 'add' ? 'Add' : 'Update'
}
- AddUpdateOrganization(data).then(res => {
+ AddUpdateInventoryFile(data).then(res => {
if (res.code === '200') {
this.$message.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
this.dialogVisible = false
@@ -709,13 +791,17 @@
},
/* 鐐瑰嚮鍏宠仈宸ヨ壓璺嚎妯″潡*/
// 宸ヨ壓璺嚎鐐瑰嚮
- async routeClick(row) {
+ async routeClick(row) {
console.log(row)
this.dialogFormRoute.projectCode = row.partcode
this.dialogFormRoute.projectName = row.partname
this.dialogVisibleRoute = true
- this.dialogFormRoute.routeOperationArr = [
- { 'flag': 'Y', code: '001', name: '娴嬭瘯1 ',
+ const { data: res } = await InventoryFileAssociationRoute({ partcode: this.dialogFormRoute.projectCode })
+ this.dialogFormRoute.routeOperationArr = res
+ // let waitFlag = false// 鍥炴樉绛夊緟鏄惁鏀捐
+ this.dialogFormRoute.routeOperationArrTest = [
+ {
+ 'flag': 'Y', code: '001', name: '娴嬭瘯1 ',
'Data': [
{
'seq': 1,
@@ -735,7 +821,8 @@
}
]
},
- { 'flag': 'N', code: '002', name: '娴嬭瘯2 ',
+ {
+ 'flag': 'Y', code: '002', name: '娴嬭瘯2 ',
'Data': [
{
'seq': 1,
@@ -765,7 +852,8 @@
}
]
},
- { 'flag': 'N', code: '003', name: '娴嬭瘯3 ',
+ {
+ 'flag': 'N', code: '003', name: '娴嬭瘯3 ',
'Data': [
{
'seq': 1,
@@ -776,7 +864,8 @@
]
},
- { 'flag': 'N', code: '004', name: '娴嬭瘯4 ',
+ {
+ 'flag': 'Y', code: '004', name: '娴嬭瘯4 ',
'Data': [
{
'seq': 1,
@@ -792,9 +881,6 @@
]
}
]
- // const res = await InventoryFileAssociationRoute({ partcode: this.dialogFormRoute.projectCode })
-
- // let waitFlag = false// 鍥炴樉绛夊緟鏄惁鏀捐
this.dialogFormRoute.routeOperationArr.forEach((item, index) => {
item.isSelected1 = false
@@ -829,27 +915,27 @@
},
// 鍙栨秷
routeDialogVisibleCancel() {
-
+ this.dialogVisibleRoute = false
},
// 纭畾
- async routeDialogVisibleConfirm() {
+ async routeDialogVisibleConfirm() {
const data = []
this.dialogFormRoute.routeOperationArr.forEach(item => {
if (item.isSelected2) {
data.push({ code: item.code, name: item.name })
}
})
- // const res=await xxx()
+ const res = await SaveInventoryFile(this.dialogFormRoute.projectCode, data)
+ if (res.code === '200') {
+ this.$message.success('淇濆瓨鎴愬姛锛�')
+ this.dialogVisibleRoute = false
+ }
},
// 澶х洅瀛愮偣鍑讳簨浠�
myCheckboxClick(val) {
console.log(val, 1)
this.dialogFormRoute.routeOperationArr.forEach(item => {
- if (val.code === item.code) {
- item.isSelected1 = true
- } else {
- item.isSelected1 = false
- }
+ item.isSelected1 = val.code === item.code
})
this.projectTableData = val.Data
@@ -875,7 +961,9 @@
},
// 鏂板
addOffice() {
- const data = { code: '', name: '', digdect: '', r_ule: '', isVisible: 1 }
+ let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
+ number = number === 0 ? Math.random() * Math.random() : number
+ const data = { code: '', name: '', digdect: '', r_ule: '', isVisible: 1, number: number }
this.officeTableData.unshift(data)
},
// 鍒犻櫎
@@ -885,12 +973,12 @@
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
- // RoleTypeDelete({ RoleTypeCode: row.code }).then(res => {
- // if (res.code === '200') {
- // this.$message.success('鍒犻櫎鎴愬姛!')
- // this.getRoleTypeSearch()
- // }
- // })
+ UomDelete({ uomcode: row.code }).then(res => {
+ if (res.code === '200') {
+ this.$message.success('鍒犻櫎鎴愬姛!')
+ this.getRoleTypeSearch()
+ }
+ })
}).catch(() => {
this.$message.info('宸插彇娑堝垹闄�')
})
@@ -915,7 +1003,7 @@
digdect: row.digdect,
r_ule: row.r_ule
}
- const res = await UomAdd(data)
+ const res = await UomAdd([data])
if (res.code === '200') {
this.$message.success('淇濆瓨鎴愬姛锛�')
await this.getUomSearch()
@@ -924,7 +1012,7 @@
// 鍙栨秷
cancelOffice(row) {
this.officeTableData.forEach((item, index) => {
- if (item.isVisible === 1 && item.code === row.code) {
+ if (item.isVisible === 1 && item.number === row.number) {
this.officeTableData.splice(index, 1)
}
})
@@ -1012,13 +1100,13 @@
padding: 20px 100px !important;
}
-.dialogVisibleRoute{
+.dialogVisibleRoute {
::v-deep .el-dialog__body {
padding: 20px 20px !important;
}
}
-.officeDialogVisible{
+.officeDialogVisible {
::v-deep .el-dialog__body {
padding: 20px 20px !important;
}
@@ -1127,13 +1215,13 @@
color: $main_color;
}
-::v-deep .el-select .el-input .el-select__caret{
+::v-deep .el-select .el-input .el-select__caret {
display: flex;
align-items: center;
justify-content: center;
}
-.dialogVisibleRoute{
+.dialogVisibleRoute {
.myCheckboxGroup {
display: flex;
flex-wrap: wrap;
--
Gitblit v1.9.3