From 8be15ec008994cbe37562ae1e2706c61c6ffd709 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期一, 11 十一月 2024 15:47:37 +0800 Subject: [PATCH] 前端上传 --- 代码管理/WCS/WIDESEAWCS_Client/src/extension/outbound/extend/outOrderDetail.vue | 421 +++++++ 代码管理/WCS/WIDESEAWCS_Client/src/extension/stock/stockView.js | 58 + 代码管理/WCS/WIDESEAWCS_Client/src/router/viewGird.js | 68 + 代码管理/WCS/WIDESEAWCS_Client/src/views/outbound/outboundOrder.vue | 321 +++++ 代码管理/WCS/WIDESEAWCS_Client/src/extension/outbound/extend/SelectedStock.vue | 230 ++++ 代码管理/WCS/WIDESEAWCS_Client/src/views/outbound/outboundOrderDetail.vue | 221 ++++ 代码管理/WCS/WIDESEAWCS_Client/src/views/stock/stockInfo.vue | 187 +++ 代码管理/WCS/WIDESEAWCS_Client/src/views/stock/stockView.vue | 344 ++++++ 代码管理/WCS/WIDESEAWCS_Client/src/extension/outbound/outboundOrderDetail.js | 58 + 代码管理/WCS/WIDESEAWCS_Client/src/extension/stock/stockInfoDetail.js | 58 + 代码管理/WCS/WIDESEAWCS_Client/src/extension/basic/locationInfo.js | 85 + 代码管理/WCS/WIDESEAWCS_Client/src/extension/outbound/extend/StockSelect.vue | 289 +++++ 代码管理/WCS/WIDESEAWCS_Client/src/extension/basic/materielInfo.js | 58 + 代码管理/WCS/WIDESEAWCS_Client/src/views/stock/stockInfoDetail.vue | 228 ++++ 代码管理/WCS/WIDESEAWCS_Client/src/extension/outbound/outboundOrder.js | 74 + 代码管理/WCS/WIDESEAWCS_Client/src/views/basic/locationInfo.vue | 251 ++++ 代码管理/WCS/WIDESEAWCS_Client/src/extension/stock/stockInfo.js | 58 + 代码管理/WCS/WIDESEAWCS_Client/src/views/basic/materielInfo.vue | 230 ++++ 18 files changed, 3,229 insertions(+), 10 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/basic/locationInfo.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/basic/locationInfo.js" new file mode 100644 index 0000000..862e1a8 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/basic/locationInfo.js" @@ -0,0 +1,85 @@ + +//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜 + +let extension = { + components: { + //鏌ヨ鐣岄潰鎵╁睍缁勪欢 + gridHeader: '', + gridBody: '', + gridFooter: '', + //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢 + modelHeader: '', + modelBody: '', + modelFooter: '' + }, + tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓) + buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽� + methods: { + //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄� + onInit() { + let enableBtn = this.buttons.find(x => x.value == 'Enable'); + if (enableBtn) { + enableBtn.onClick = function () { + this.$message.success('鑷畾涔夋寜閽偣鍑讳簨浠�'); + } + } + let disableBtn = this.buttons.find(x => x.value == 'Disable'); + if (disableBtn) { + disableBtn.onClick = function () { + this.$message.success('鑷畾涔夋寜閽偣鍑讳簨浠�'); + } + } + + this.columns.push({ + field: '鎿嶄綔', + title: '鎿嶄綔', + width: 90, + fixed: 'right', + align: 'center', + formatter: (row) => { + return ( + '<i style="cursor: pointer;color: #2d8cf0;"class="el-icon-view">鏌ョ湅鏄庣粏</i>' + ); + }, + click: (row) => { + this.$refs.gridBody.open(row); + } + }); + }, + onInited() { + //妗嗘灦鍒濆鍖栭厤缃悗 + //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔 + //this.detailOptions.columns.forEach(column=>{ }); + }, + searchBefore(param) { + //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟 + //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ + return true; + }, + searchAfter(result) { + //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊� + return true; + }, + addBefore(formData) { + //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫�� + return true; + }, + updateBefore(formData) { + //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d + return true; + }, + rowClick({ row, column, event }) { + //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠� + // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�; + }, + modelOpenAfter(row) { + //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁 + //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add'; + //(2)缁欏脊鍑烘璁剧疆榛樿鍊� + //(3)this.editFormFields.瀛楁='xxx'; + //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊� + //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions) + } + } +}; +export default extension; diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/basic/materielInfo.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/basic/materielInfo.js" new file mode 100644 index 0000000..a39e193 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/basic/materielInfo.js" @@ -0,0 +1,58 @@ + +//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜 + +let extension = { + components: { + //鏌ヨ鐣岄潰鎵╁睍缁勪欢 + gridHeader: '', + gridBody: '', + gridFooter: '', + //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢 + modelHeader: '', + modelBody: '', + modelFooter: '' + }, + tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓) + buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽� + methods: { + //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄� + onInit() { + }, + onInited() { + //妗嗘灦鍒濆鍖栭厤缃悗 + //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔 + //this.detailOptions.columns.forEach(column=>{ }); + }, + searchBefore(param) { + //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟 + //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ + return true; + }, + searchAfter(result) { + //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊� + return true; + }, + addBefore(formData) { + //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫�� + return true; + }, + updateBefore(formData) { + //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d + return true; + }, + rowClick({ row, column, event }) { + //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠� + // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�; + }, + modelOpenAfter(row) { + //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁 + //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add'; + //(2)缁欏脊鍑烘璁剧疆榛樿鍊� + //(3)this.editFormFields.瀛楁='xxx'; + //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊� + //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions) + } + } + }; + export default extension; + \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/outbound/extend/SelectedStock.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/outbound/extend/SelectedStock.vue" new file mode 100644 index 0000000..b6bdde8 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/outbound/extend/SelectedStock.vue" @@ -0,0 +1,230 @@ +<template> + <div> + <vol-box + v-model="showDetialBox" + :lazy="true" + width="75%" + :padding="15" + title="鍑哄簱璇︽儏" + > + <div class="box-head"> + <el-alert :closable="false" style="width: 100%"> + <el-row> + <el-col :span="24"> + <span class="less-style">鐗╂枡鍚嶇О锛� {{ row.materielName }} </span> + <el-divider direction="vertical"></el-divider> + <span class="less-style">鐗╂枡缂栧彿锛� {{ row.materielCode }} </span> + <el-divider direction="vertical"></el-divider> + <span class="less-style" + >闇�姹傛暟閲忥細 {{ row.orderQuantity }} + </span> + <el-divider direction="vertical"></el-divider> + <span class="less-style" + >宸插垎閰嶆暟閲忥細 {{ row.lockQuantity }} + </span> + </el-col> + </el-row> + </el-alert> + </div> + <div class="box-table" style="margin-top: 1%"> + <el-table + ref="singleTable" + :data="tableData" + style="width: 100%; height: 100%" + highlight-current-row + height="500px" + > + > + <el-table-column + label="搴忓彿" + type="index" + fixed="left" + width="55" + align="center" + ></el-table-column> + <el-table-column + v-for="(item, index) in tableColumns.filter((x) => !x.hidden)" + :key="index" + :prop="item.prop" + :label="item.title" + :width="item.width" + align="center" + > + <template #default="scoped" v-if="item.type == 'icon'"> + <el-tooltip + class="item" + effect="dark" + :content="item.title" + placement="bottom" + ><el-button + type="text" + @click="tableButtonClick(scoped.row, item)" + ><i :class="item.icon" style="font-size: 22px"></i></el-button + ></el-tooltip> + </template> + </el-table-column> + </el-table> + </div> + <template #footer> + <!-- <el-button type="primary" size="small" @click="submit">纭</el-button> --> + <el-button type="danger" size="small" @click="showDetialBox = false" + >鍏抽棴</el-button + > + </template> + </vol-box> + </div> +</template> + <script> +import VolBox from "@/components/basic/VolBox.vue"; +export default { + components: { VolBox }, + data() { + return { + row: null, + showDetialBox: false, + tableData: [], + tableColumns: [ + { + prop: "id", + title: "涓婚敭", + type: "string", + width: 150, + hidden: true, + }, + { + prop: "orderNo", + title: "鍗曟嵁缂栧彿", + type: "string", + width: 150, + }, + { + prop: "orderDetailId", + title: "鍗曟嵁鏄庣粏涓婚敭", + type: "string", + width: 150, + hidden: true, + }, + { + prop: "orderType", + title: "鍗曟嵁绫诲瀷", + type: "string", + width: 90, + }, + { + prop: "batchNo", + title: "鎵规鍙�", + type: "string", + width: 120, + }, + { + prop: "materielCode", + title: "鐗╂枡缂栧彿", + type: "string", + width: 150, + }, + { + prop: "materielName", + title: "鐗╂枡鍚嶇О", + type: "string", + width: 150, + }, + { + prop: "stockId", + title: "搴撳瓨涓婚敭", + type: "string", + width: 150, + hidden: true, + }, + { + prop: "originalQuantity", + title: "鍘熷搴撳瓨閲�", + type: "string", + width: 100, + }, + { + prop: "assignQuantity", + title: "鍒嗛厤鍑哄簱閲�", + type: "string", + width: 100, + }, + { + prop: "palletCode", + title: "鎵樼洏缂栧彿", + type: "string", + width: 150, + }, + { + prop: "locationCode", + title: "璐т綅缂栧彿", + type: "string", + width: 180, + }, + { + prop: "status", + title: "鐘舵��", + type: "string", + }, + ], + }; + }, + methods: { + open(row) { + this.row = row; + this.showDetialBox = true; + this.getData(); + }, + getData() { + this.http + .post( + "api/OutStockLockInfo/GetByOrderDetailId?orderDetailId=" + + this.row.id, + null, + "鏌ヨ涓�" + ) + .then((x) => { + this.tableData = x; + }); + }, + }, +}; +</script> + <style scoped> +.less-style { + color: black; +} +.equle-style { + color: green; +} +.more-style { + color: red; +} +</style> + + <style> +.text-button:hover { + background-color: #f0f9eb !important; +} +.el-table .warning-row { + background: oldlace; +} +.box-table .el-table tbody tr:hover > td { + background-color: #d8e0d4 !important; + /* color: #ffffff; */ +} + +.box-table .el-table tbody tr.current-row > td { + background-color: #f0f9eb !important; + /* color: #ffffff; */ +} + +.el-table .success-row { + background: #f0f9eb; +} + +.box-table .el-table { + border: 1px solid #ebeef5; +} +.box-head .el-alert__content { + width: 100%; +} +</style> \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/outbound/extend/StockSelect.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/outbound/extend/StockSelect.vue" new file mode 100644 index 0000000..a02362a --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/outbound/extend/StockSelect.vue" @@ -0,0 +1,289 @@ +<template> + <div> + <vol-box + v-model="showDetialBox" + :lazy="true" + width="60%" + :padding="15" + title="鎸囧畾搴撳瓨" + > + <div class="box-head"> + <el-alert :closable="false" style="width: 100%"> + <el-row> + <el-col :span="20"> + <span class="less-style">鐗╂枡鍚嶇О锛� {{ row.materielName }} </span> + <el-divider direction="vertical"></el-divider> + <span class="less-style">鐗╂枡缂栧彿锛� {{ row.materielCode }} </span> + <el-divider direction="vertical"></el-divider> + <span class="less-style" + >闇�姹傛暟閲忥細 {{ row.orderQuantity }} + </span> + <el-divider direction="vertical"></el-divider> + <span :class="selectionClass" + >宸查�夋暟閲忥細 {{ selectionSum }} + </span> + </el-col> + <el-col :span="4"> + <el-link + type="primary" + size="small" + style="float: right; height: 20px" + @click="revokeAssign" + >鎾ら攢鍒嗛厤</el-link + ></el-col + > + </el-row> + </el-alert> + </div> + <div class="box-table" style="margin-top: 1%"> + <el-table + ref="singleTable" + :data="tableData" + style="width: 100%; height: 100%" + highlight-current-row + @row-click="handleRowClick" + height="500px" + @selection-change="handleSelectionChange" + > + > + <el-table-column type="selection" width="55"> </el-table-column> + <el-table-column + label="搴忓彿" + type="index" + fixed="left" + width="55" + align="center" + ></el-table-column> + <el-table-column + v-for="(item, index) in tableColumns.filter((x) => !x.hidden)" + :key="index" + :prop="item.prop" + :label="item.title" + :width="item.width" + align="center" + > + <template #default="scoped" v-if="item.type == 'icon'"> + <el-tooltip + class="item" + effect="dark" + :content="item.title" + placement="bottom" + ><el-button + type="text" + @click="tableButtonClick(scoped.row, item)" + ><i :class="item.icon" style="font-size: 22px"></i></el-button + ></el-tooltip> + </template> + </el-table-column> + </el-table> + </div> + <template #footer> + <el-button type="primary" size="small" @click="outbound" + >鐩存帴鍑哄簱</el-button + > + <el-button type="primary" size="small" @click="lockStock" + >閿佸畾搴撳瓨</el-button + > + <el-button type="danger" size="small" @click="showDetialBox = false" + >鍏抽棴</el-button + > + </template> + </vol-box> + </div> +</template> + <script> +import VolBox from "@/components/basic/VolBox.vue"; +export default { + components: { VolBox }, + data() { + return { + row: null, + showDetialBox: false, + tableData: [], + tableColumns: [ + { + prop: "materielCode", + title: "鐗╂枡缂栧彿", + type: "string", + width: 150, + }, + { + prop: "materielName", + title: "鐗╂枡鍚嶇О", + type: "string", + width: 150, + }, + { + prop: "palletCode", + title: "鎵樼洏缂栧彿", + type: "string", + width: 150, + }, + { + prop: "locationCode", + title: "璐т綅缂栧彿", + type: "string", + width: 180, + }, + { + prop: "useableQuantity", + title: "鍙敤鏁伴噺", + type: "string", + }, + ], + selection: [], + selectionSum: 0, + selectionClass: "less-style", + originalQuantity: 0, + }; + }, + methods: { + open(row) { + this.row = row; + this.showDetialBox = true; + this.originalQuantity = this.row.lockQuantity; + this.selectionSum = this.row.lockQuantity; + this.getData(); + if (this.selectionSum == this.row.orderQuantity) { + this.selectionClass = "equle-style"; + } else if (this.selectionSum < this.row.orderQuantity) { + this.selectionClass = "less-style"; + } else { + this.selectionClass = "more-style"; + } + }, + lockStock() { + this.http + .post( + "api/OutboundOrderDetail/LockOutboundStock?id=" + this.row.id, + this.selection, + "鏁版嵁澶勭悊涓�" + ) + .then((x) => { + if (!x.status) return this.$message.error(x.message); + this.$message.success("鎿嶄綔鎴愬姛"); + this.showDetialBox = false; + this.$emit("parentCall", ($vue) => { + $vue.getData(); + }); + }); + }, + outbound() { + this.http + .post( + "api/Task/GenerateOutboundTask?id=" + this.row.id, + this.selection, + "鏁版嵁澶勭悊涓�" + ) + .then((x) => { + if (!x.status) return this.$message.error(x.message); + this.$message.success("鎿嶄綔鎴愬姛"); + this.showDetialBox = false; + this.$emit("parentCall", ($vue) => { + $vue.getData(); + }); + }); + }, + getData() { + this.http + .post( + "api/StockInfo/GetStockSelectViews?materielCode=" + + this.row.materielCode, + null, + "鏌ヨ涓�" + ) + .then((x) => { + this.tableData = x; + }); + }, + revokeAssign() { + console.log(this.row); + this.http + .post( + "api/OutboundOrderDetail/RevokeLockOutboundStock?id=" + this.row.id, + null, + "鏁版嵁澶勭悊涓�" + ) + .then((x) => { + if (!x.status) return this.$message.error(x.message); + this.$message.success("鎿嶄綔鎴愬姛"); + this.showDetialBox = false; + this.$emit("parentCall", ($vue) => { + $vue.getData(); + }); + }); + }, + handleSelectionChange(val) { + this.selection = val; + this.selectionSum = + val.reduce( + (accumulator, currentValue) => + accumulator + currentValue["useableQuantity"], + 0 + ) + this.originalQuantity; + if (this.selectionSum == this.row.orderQuantity) { + this.selectionClass = "equle-style"; + } else if (this.selectionSum < this.row.orderQuantity) { + this.selectionClass = "less-style"; + } else { + this.selectionClass = "more-style"; + } + }, + toggleSelection(rows) { + if (rows) { + rows.forEach((row) => { + this.$refs.singleTable.toggleRowSelection(row); + }); + } else { + this.$refs.singleTable.clearSelection(); + } + }, + clearSelection() { + this.$refs.singleTable.clearSelection(); + }, + handleRowClick(row) { + this.$refs.singleTable.toggleRowSelection(row); + }, + }, +}; +</script> +<style scoped> +.less-style { + color: black; +} +.equle-style { + color: green; +} +.more-style { + color: red; +} +</style> + +<style> +.text-button:hover { + background-color: #f0f9eb !important; +} +.el-table .warning-row { + background: oldlace; +} +.box-table .el-table tbody tr:hover > td { + background-color: #d8e0d4 !important; + /* color: #ffffff; */ +} + +.box-table .el-table tbody tr.current-row > td { + background-color: #f0f9eb !important; + /* color: #ffffff; */ +} + +.el-table .success-row { + background: #f0f9eb; +} + +.box-table .el-table { + border: 1px solid #ebeef5; +} +.box-head .el-alert__content { + width: 100%; +} +</style> \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/outbound/extend/outOrderDetail.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/outbound/extend/outOrderDetail.vue" new file mode 100644 index 0000000..f40e3f9 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/outbound/extend/outOrderDetail.vue" @@ -0,0 +1,421 @@ +<template> + <div> + <vol-box + v-model="showDetialBox" + :lazy="true" + width="75%" + :padding="15" + title="鍗曟嵁鏄庣粏淇℃伅" + > + <div class="box-head"> + <el-alert :closable="false" style="width: 100%"> + <el-row> + <el-col :span="16"> + <span>宸查�変腑 {{ selection.length }} 椤�</span> + </el-col> + <el-col :span="8"> + <el-link + type="primary" + size="small" + style="float: right; height: 20px" + @click="lockstocks" + >閿佸畾搴撳瓨</el-link + > + <el-link + type="primary" + size="small" + style="float: right; height: 20px; margin-right: 10px" + @click="outbound" + >鐩存帴鍑哄簱</el-link + > + <el-link + type="primary" + size="small" + style="float: right; height: 20px; margin-right: 10px" + @click="getData" + >鍒锋柊</el-link + ></el-col + > + </el-row> + </el-alert> + </div> + <div class="box-table" style="margin-top: 1%"> + <el-table + ref="singleTable" + :data="tableData" + style="width: 100%; height: 100%" + highlight-current-row + @current-change="handleCurrentChange" + height="500px" + @row-click="handleRowClick" + @selection-change="handleSelectionChange" + > + <el-table-column type="selection" width="55"> </el-table-column> + <el-table-column + label="搴忓彿" + type="index" + fixed="left" + width="55" + align="center" + ></el-table-column> + <el-table-column + v-for="(item, index) in tableColumns.filter((x) => !x.hidden)" + :key="index" + :prop="item.prop" + :label="item.title" + :width="item.width" + align="center" + > + <template #default="scoped"> + <div v-if="item.type == 'icon'"> + <el-tooltip + class="item" + effect="dark" + :content="item.title" + placement="bottom" + ><el-link + type="primary" + :disabled="getButtonEnable(item.prop, scoped.row)" + @click="tableButtonClick(scoped.row, item)" + ><i :class="item.icon" style="font-size: 22px"></i></el-link + ></el-tooltip> + </div> + + <div v-else-if="item.type == 'tag'"> + <el-tag size="small"> + {{ getDictionary(scoped.row, item) }} + </el-tag> + </div> + </template> + </el-table-column> + </el-table> + </div> + </vol-box> + <stock-select ref="child" @parentCall="parentCall"></stock-select> + <selected-stock + ref="selectedStock" + @parentCall="parentCall" + ></selected-stock> + </div> +</template> +<script> +import VolBox from "@/components/basic/VolBox.vue"; +import VolForm from "@/components/basic/VolForm.vue"; +import StockSelect from "./StockSelect.vue"; +import SelectedStock from "./SelectedStock.vue"; +export default { + components: { VolBox, VolForm, StockSelect, SelectedStock }, + data() { + return { + row: null, + showDetialBox: false, + flag: false, + currentRow: null, + selection: [], + tableData: [], + tableColumns: [ + { + prop: "id", + title: "Id", + type: "int", + width: 90, + hidden: true, + }, + { + prop: "orderId", + title: "鍑哄簱鍗曚富閿�", + type: "string", + width: 90, + hidden: true, + }, + { + prop: "materielCode", + title: "鐗╂枡缂栧彿", + type: "string", + width: 150, + }, + { + prop: "materielName", + title: "鐗╂枡鍚嶇О", + type: "string", + width: 150, + }, + { + prop: "batchNo", + title: "鎵规鍙�", + type: "string", + width: 90, + }, + { + prop: "orderQuantity", + title: "鍗曟嵁鏁伴噺", + type: "string", + width: 90, + }, + { + prop: "lockQuantity", + title: "閿佸畾鏁伴噺", + type: "int", + width: 90, + }, + { + prop: "overOutQuantity", + title: "宸插嚭鏁伴噺", + type: "string", + width: 90, + }, + { + prop: "orderDetailStatus", + title: "璁㈠崟鏄庣粏鐘舵��", + type: "tag", + width: 180, + bindKey:"orderDetailStatusEnum" + }, + { + prop: "assignStock", + title: "鎸囧畾搴撳瓨", + type: "icon", + width: 90, + icon: "el-icon-s-grid", + }, + { + prop: "viewDetail", + title: "鍑哄簱璇︾粏", + type: "icon", + width: 90, + icon: "el-icon-s-operation", + }, + { + prop: "creater", + title: "鍒涘缓浜�", + type: "string", + width: 90, + }, + { + prop: "createDate", + title: "鍒涘缓鏃堕棿", + type: "datetime", + width: 160, + }, + { + prop: "modifier", + title: "淇敼浜�", + type: "string", + width: 100, + }, + { + prop: "modifyDate", + title: "淇敼鏃堕棿", + type: "datetime", + width: 160, + }, + { + prop: "remark", + title: "澶囨敞", + type: "string", + }, + ], + paginations: { + sort: "id", + order: "desc", + Foots: "", + total: 0, + // 2020.08.29澧炲姞鑷畾涔夊垎椤垫潯澶у皬 + sizes: [30, 60, 100, 120], + size: 30, // 榛樿鍒嗛〉澶у皬 + Wheres: [], + page: 1, + rows: 30, + }, + searchFormOptions: [ + [ + { + title: "鍗曟嵁缂栧彿", + field: "allocation_code", + type: "like", + }, + { + title: "鍗曟嵁绫诲瀷", + field: "allocation_type", + type: "select", + dataKey: "OrderType", + data: [], + }, + { + title: "鍗曟嵁鐘舵��", + field: "allocation_state", + type: "select", + dataKey: "OrderState", + data: [], + }, + ], + ], + searchFormFields: { + allocation_code: "", + allocation_type: "", + allocation_state: "", + }, + dictionaryList: null, + }; + }, + methods: { + open(row) { + this.row = row; + this.showDetialBox = true; + this.getDictionaryData(); + this.getData(); + }, + getData() { + var wheres = [{ name: "orderId", value: this.row.id }]; + var param = { + page: this.paginations.page, + rows: this.paginations.rows, + sort: this.paginations.sort, + order: this.paginations.order, + wheres: JSON.stringify(wheres), // 鏌ヨ鏉′欢锛屾牸寮忎负[{ name: "瀛楁", value: "xx" }] + }; + this.http + .post("api/OutboundOrderDetail/GetPageData", param, "鏌ヨ涓�") + .then((x) => { + this.tableData = x.rows; + }); + }, + tableButtonClick(row, column) { + if (column.prop == "assignStock") { + this.$refs.child.open(row); + } else { + this.$refs.selectedStock.open(row); + } + }, + lockstocks() { + if (this.selection.length === 0) { + return this.$message.error("璇烽�夋嫨鍗曟嵁鏄庣粏"); + } + var keys = this.selection.map((item) => item.id); // 鑾峰彇閫変腑琛岀殑id + this.http + .post("api/OutboundOrderDetail/LockOutboundStocks", keys, "鏁版嵁澶勭悊涓�") + .then((x) => { + if (!x.status) return this.$message.error(x.message); + this.$message.success("鎿嶄綔鎴愬姛"); + this.showDetialBox = false; + this.$emit("parentCall", ($vue) => { + $vue.getData(); + }); + }); + }, + outbound() { + if (this.selection.length === 0) { + return this.$message.error("璇烽�夋嫨鍗曟嵁鏄庣粏"); + } + var keys = this.selection.map((item) => item.id); // 鑾峰彇閫変腑琛岀殑id + + this.http + .post("api/Task/GenerateOutboundTasks", keys, "鏁版嵁澶勭悊涓�") + .then((x) => { + if (!x.status) return this.$message.error(x.message); + this.$message.success("鎿嶄綔鎴愬姛"); + this.showDetialBox = false; + this.$emit("parentCall", ($vue) => { + $vue.getData(); + }); + }); + }, + setCurrent(row) { + this.$refs.singleTable.setCurrentRow(row); + }, + handleCurrentChange(val) { + this.currentRow = val; + }, + getButtonEnable(propName, row) { + if (propName == "assignStock") { + if ( + row.orderDetailStatus !== 0 && + row.orderDetailStatus !== 60 && + row.orderDetailStatus !== 70 + ) { + return true; + } else { + return false; + } + } + return false; + }, + parentCall(fun) { + if (typeof fun != "function") { + return console.log("鎵╁睍缁勪欢闇�瑕佷紶鍏ヤ竴涓洖璋冩柟娉曟墠鑳借幏鍙栫埗绾ue瀵硅薄"); + } + fun(this); + }, + handleRowClick(row) { + this.$refs.singleTable.toggleRowSelection(row); + }, + handleSelectionChange(val) { + this.selection = val; + }, + getDictionaryData() { + if (this.dictionaryList) { + return; + } + var param = []; + this.tableColumns.forEach((x) => { + if (x.type == "tag" && x.bindKey != "") { + param.push(x.bindKey); + } + }); + this.http + .post("api/Sys_Dictionary/GetVueDictionary", param, "鏌ヨ涓�") + .then((x) => { + if (x.length > 0) { + this.dictionaryList = x; + } + }); + }, + getDictionary(row, column) { + if (this.dictionaryList) { + var item = this.dictionaryList.find((x) => x.dicNo == column.bindKey); + if (item) { + var dicItem = item.data.find((x) => x.key == row[column.prop]); + if (dicItem) { + return dicItem.value; + } else { + return row[column.prop]; + } + } else { + return row[column.prop]; + } + } + }, + }, +}; +</script> +<style scoped> +.text-button { + border: 0px; +} +</style> + +<style> +.text-button:hover { + background-color: #f0f9eb !important; +} +.el-table .warning-row { + background: oldlace; +} +.box-table .el-table tbody tr:hover > td { + background-color: #d8e0d4 !important; + /* color: #ffffff; */ +} + +.box-table .el-table tbody tr.current-row > td { + background-color: #f0f9eb !important; + /* color: #ffffff; */ +} + +.el-table .success-row { + background: #f0f9eb; +} + +.box-table .el-table { + border: 1px solid #ebeef5; +} +</style> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/outbound/outboundOrder.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/outbound/outboundOrder.js" new file mode 100644 index 0000000..12a97ac --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/outbound/outboundOrder.js" @@ -0,0 +1,74 @@ + +//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜 +import gridBody from './extend/outOrderDetail.vue' +let extension = { + components: { + //鏌ヨ鐣岄潰鎵╁睍缁勪欢 + gridHeader: '', + gridBody: gridBody, + gridFooter: '', + //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢 + modelHeader: '', + modelBody: '', + modelFooter: '' + }, + tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓) + buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽� + methods: { + //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄� + onInit() { + //鎵╁睍椤甸潰鍒濆鍖栨搷浣� + this.columns.push({ + field: '鎿嶄綔', + title: '鎿嶄綔', + width: 90, + fixed: 'right', + align: 'center', + formatter: (row) => { + return ( + '<i style="cursor: pointer;color: #2d8cf0;"class="el-icon-view">鏌ョ湅鏄庣粏</i>' + ); + }, + click: (row) => { + this.$refs.gridBody.open(row); + } + }); + }, + onInited() { + //妗嗘灦鍒濆鍖栭厤缃悗 + //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔 + //this.detailOptions.columns.forEach(column=>{ }); + }, + searchBefore(param) { + //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟 + //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ + return true; + }, + searchAfter(result) { + //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊� + return true; + }, + addBefore(formData) { + //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫�� + return true; + }, + updateBefore(formData) { + //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d + return true; + }, + rowClick({ row, column, event }) { + //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠� + // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�; + }, + modelOpenAfter(row) { + //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁 + //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add'; + //(2)缁欏脊鍑烘璁剧疆榛樿鍊� + //(3)this.editFormFields.瀛楁='xxx'; + //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊� + //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions) + } + } + }; + export default extension; + \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/outbound/outboundOrderDetail.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/outbound/outboundOrderDetail.js" new file mode 100644 index 0000000..a39e193 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/outbound/outboundOrderDetail.js" @@ -0,0 +1,58 @@ + +//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜 + +let extension = { + components: { + //鏌ヨ鐣岄潰鎵╁睍缁勪欢 + gridHeader: '', + gridBody: '', + gridFooter: '', + //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢 + modelHeader: '', + modelBody: '', + modelFooter: '' + }, + tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓) + buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽� + methods: { + //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄� + onInit() { + }, + onInited() { + //妗嗘灦鍒濆鍖栭厤缃悗 + //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔 + //this.detailOptions.columns.forEach(column=>{ }); + }, + searchBefore(param) { + //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟 + //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ + return true; + }, + searchAfter(result) { + //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊� + return true; + }, + addBefore(formData) { + //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫�� + return true; + }, + updateBefore(formData) { + //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d + return true; + }, + rowClick({ row, column, event }) { + //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠� + // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�; + }, + modelOpenAfter(row) { + //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁 + //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add'; + //(2)缁欏脊鍑烘璁剧疆榛樿鍊� + //(3)this.editFormFields.瀛楁='xxx'; + //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊� + //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions) + } + } + }; + export default extension; + \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/stock/stockInfo.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/stock/stockInfo.js" new file mode 100644 index 0000000..a39e193 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/stock/stockInfo.js" @@ -0,0 +1,58 @@ + +//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜 + +let extension = { + components: { + //鏌ヨ鐣岄潰鎵╁睍缁勪欢 + gridHeader: '', + gridBody: '', + gridFooter: '', + //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢 + modelHeader: '', + modelBody: '', + modelFooter: '' + }, + tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓) + buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽� + methods: { + //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄� + onInit() { + }, + onInited() { + //妗嗘灦鍒濆鍖栭厤缃悗 + //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔 + //this.detailOptions.columns.forEach(column=>{ }); + }, + searchBefore(param) { + //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟 + //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ + return true; + }, + searchAfter(result) { + //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊� + return true; + }, + addBefore(formData) { + //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫�� + return true; + }, + updateBefore(formData) { + //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d + return true; + }, + rowClick({ row, column, event }) { + //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠� + // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�; + }, + modelOpenAfter(row) { + //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁 + //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add'; + //(2)缁欏脊鍑烘璁剧疆榛樿鍊� + //(3)this.editFormFields.瀛楁='xxx'; + //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊� + //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions) + } + } + }; + export default extension; + \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/stock/stockInfoDetail.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/stock/stockInfoDetail.js" new file mode 100644 index 0000000..a39e193 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/stock/stockInfoDetail.js" @@ -0,0 +1,58 @@ + +//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜 + +let extension = { + components: { + //鏌ヨ鐣岄潰鎵╁睍缁勪欢 + gridHeader: '', + gridBody: '', + gridFooter: '', + //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢 + modelHeader: '', + modelBody: '', + modelFooter: '' + }, + tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓) + buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽� + methods: { + //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄� + onInit() { + }, + onInited() { + //妗嗘灦鍒濆鍖栭厤缃悗 + //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔 + //this.detailOptions.columns.forEach(column=>{ }); + }, + searchBefore(param) { + //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟 + //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ + return true; + }, + searchAfter(result) { + //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊� + return true; + }, + addBefore(formData) { + //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫�� + return true; + }, + updateBefore(formData) { + //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d + return true; + }, + rowClick({ row, column, event }) { + //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠� + // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�; + }, + modelOpenAfter(row) { + //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁 + //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add'; + //(2)缁欏脊鍑烘璁剧疆榛樿鍊� + //(3)this.editFormFields.瀛楁='xxx'; + //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊� + //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions) + } + } + }; + export default extension; + \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/stock/stockView.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/stock/stockView.js" new file mode 100644 index 0000000..a39e193 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/stock/stockView.js" @@ -0,0 +1,58 @@ + +//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜 + +let extension = { + components: { + //鏌ヨ鐣岄潰鎵╁睍缁勪欢 + gridHeader: '', + gridBody: '', + gridFooter: '', + //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢 + modelHeader: '', + modelBody: '', + modelFooter: '' + }, + tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓) + buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽� + methods: { + //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄� + onInit() { + }, + onInited() { + //妗嗘灦鍒濆鍖栭厤缃悗 + //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔 + //this.detailOptions.columns.forEach(column=>{ }); + }, + searchBefore(param) { + //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟 + //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ + return true; + }, + searchAfter(result) { + //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊� + return true; + }, + addBefore(formData) { + //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫�� + return true; + }, + updateBefore(formData) { + //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d + return true; + }, + rowClick({ row, column, event }) { + //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠� + // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�; + }, + modelOpenAfter(row) { + //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁 + //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add'; + //(2)缁欏脊鍑烘璁剧疆榛樿鍊� + //(3)this.editFormFields.瀛楁='xxx'; + //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊� + //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions) + } + } + }; + export default extension; + \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/router/viewGird.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/router/viewGird.js" index cde4249..20a4120 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/router/viewGird.js" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/router/viewGird.js" @@ -15,7 +15,6 @@ name: 'permission', component: () => import('@/views/system/Permission.vue') }, - { path: '/Sys_Dictionary', name: 'Sys_Dictionary', @@ -25,38 +24,87 @@ path: '/Sys_Role', name: 'Sys_Role', component: () => import('@/views/system/Sys_Role.vue') - }, { + }, + { path: '/Sys_Role1', name: 'Sys_Role1', component: () => import('@/views/system/Sys_Role1.vue') - }, { + }, + { path: '/Sys_DictionaryList', name: 'Sys_DictionaryList', component: () => import('@/views/system/Sys_DictionaryList.vue') - }, { + }, + { path: '/deviceInfo', name: 'deviceInfo', component: () => import('@/views/quartzJob/deviceInfo.vue') - }, { + }, + { path: '/deviceProtocol', name: 'deviceProtocol', component: () => import('@/views/quartzJob/deviceProtocol.vue') - }, { + }, + { path: '/deviceProtocolDetail', name: 'deviceProtocolDetail', component: () => import('@/views/quartzJob/deviceProtocolDetail.vue') - }, { + }, + { path: '/dispatchInfo', name: 'dispatchInfo', component: () => import('@/views/quartzJob/dispatchInfo.vue') - }, { + }, + { path: '/task', name: 'task', component: () => import('@/views/taskinfo/task.vue') - }, { + }, + { path: '/router', name: 'router', component: () => import('@/views/basicinfo/router.vue') - }] + }, + { + path: '/outboundOrder', + name: 'outboundOrder', + component: () => import('@/views/outbound/outboundOrder.vue') + }, + { + path: '/outboundOrderDetail', + name: 'outboundOrderDetail', + component: () => import('@/views/outbound/outboundOrderDetail.vue') + }, + { + path: '/stockInfo', + name: 'stockInfo', + component: () => import('@/views/stock/stockInfo.vue') + }, + { + path: '/stockInfoDetail', + name: 'stockInfoDetail', + component: () => import('@/views/stock/stockInfoDetail.vue') + }, + { + path: '/task', + name: 'task', + component: () => import('@/views/taskinfo/task.vue') + }, + { + path: '/stockView', + name: 'stockView', + component: () => import('@/views/stock/stockView.vue') + }, + { + path: '/locationInfo', + name: 'locationInfo', + component: () => import('@/views/basic/locationInfo.vue') + }, + { + path: '/materielInfo', + name: 'materielInfo', + component: () => import('@/views/basic/materielInfo.vue') + } +] export default viewgird diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/basic/locationInfo.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/basic/locationInfo.vue" new file mode 100644 index 0000000..dd114ec --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/basic/locationInfo.vue" @@ -0,0 +1,251 @@ + +<template> + <view-grid + ref="grid" + :columns="columns" + :detail="detail" + :editFormFields="editFormFields" + :editFormOptions="editFormOptions" + :searchFormFields="searchFormFields" + :searchFormOptions="searchFormOptions" + :table="table" + :extend="extend" + > + </view-grid> +</template> + <script> +import extend from "@/extension/basic/locationInfo.js"; +import { ref, defineComponent } from "vue"; +export default defineComponent({ + setup() { + const table = ref({ + key: "id", + footer: "Foots", + cnName: "璐т綅淇℃伅", + name: "locationInfo", + url: "/LocationInfo/", + sortName: "id", + }); + const editFormFields = ref({ + row: "", + column: "", + layer: "", + depth: "", + locationType: "", + locationStatus: "", + enalbeStatus: "", + remark: "", + }); + const editFormOptions = ref([ + [ + { + title: "璐т綅琛�", + required: true, + field: "row", + type: "string", + }, + { + title: "璐т綅鍒�", + required: true, + field: "column", + type: "string", + }, + { + title: "璐т綅灞�", + required: true, + field: "layer", + type: "string", + }, + { + title: "璐т綅娣卞害", + required: true, + field: "depth", + type: "string", + }, + ], + [ + { + title: "璐т綅绫诲瀷", + required: true, + field: "locationType", + type: "string", + }, + { + title: "鍖哄煙涓婚敭", + required: true, + field: "areaId", + type: "string", + }, + { + title: "宸烽亾缂栧彿", + required: true, + field: "roadwayNo", + type: "string", + }, + ], + ]); + const searchFormFields = ref({ + locationCode: "", + roadwayNo: "", + }); + const searchFormOptions = ref([ + [ + { title: "璐т綅缂栧彿", field: "locationCode" }, + { title: "宸烽亾缂栧彿", field: "roadwayNo" }, + ], + ]); + const columns = ref([ + { + field: "id", + title: "Id", + type: "int", + width: 90, + hidden: true, + readonly: true, + require: true, + align: "left", + }, + { + field: "areaId", + title: "鍖哄煙涓婚敭", + type: "string", + width: 90, + align: "left", + bind: { + key: "areainfo", + data: [] + } + }, + { + field: "locationCode", + title: "璐т綅缂栧彿", + type: "string", + width: 180, + align: "left", + }, + { + field: "locationName", + title: "璐т綅鍚嶇О", + type: "string", + width: 220, + align: "left", + }, + { + field: "roadwayNo", + title: "宸烽亾缂栧彿", + type: "decimal", + width: 90, + align: "left", + }, + { + field: "row", + title: "璐т綅琛�", + type: "string", + width: 90, + align: "left", + hidden: true, + }, + { + field: "column", + title: "璐т綅鍒�", + type: "int", + width: 120, + align: "left", + hidden: true, + }, + { + field: "layer", + title: "璐т綅灞�", + type: "string", + width: 200, + align: "left", + hidden: true, + }, + { + field: "depth", + title: "璐т綅娣卞害", + type: "string", + width: 180, + align: "left", + hidden: true, + }, + { + field: "locationType", + title: "璐т綅绫诲瀷", + type: "string", + width: 120, + align: "left", + bind:{key: "locationTypeEnum", data: []} + }, + { + field: "locationStatus", + title: "璐т綅鐘舵��", + type: "string", + width: 200, + align: "left", + bind: { key: "locationStatusEnum", data: [] }, + }, + { + field: "enableStatus", + title: "绂佺敤鐘舵��", + type: "string", + width: 180, + align: "left", + bind: { key: "enableStatusEnum", data: [] }, + }, + { + field: "creater", + title: "鍒涘缓浜�", + type: "string", + width: 90, + align: "left", + }, + { + field: "createDate", + title: "鍒涘缓鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "modifier", + title: "淇敼浜�", + type: "string", + width: 100, + align: "left", + }, + { + field: "modifyDate", + title: "淇敼鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "remark", + title: "澶囨敞", + type: "string", + width: 100, + align: "left", + }, + ]); + const detail = ref({ + cnName: "#detailCnName", + table: "", + columns: [], + sortName: "", + }); + return { + table, + extend, + editFormFields, + editFormOptions, + searchFormFields, + searchFormOptions, + columns, + detail, + }; + }, +}); +</script> + \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/basic/materielInfo.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/basic/materielInfo.vue" new file mode 100644 index 0000000..e9860cd --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/basic/materielInfo.vue" @@ -0,0 +1,230 @@ + +<template> + <view-grid + ref="grid" + :columns="columns" + :detail="detail" + :editFormFields="editFormFields" + :editFormOptions="editFormOptions" + :searchFormFields="searchFormFields" + :searchFormOptions="searchFormOptions" + :table="table" + :extend="extend" + > + </view-grid> +</template> + <script> +import extend from "@/extension/basic/materielInfo.js"; +import { ref, defineComponent } from "vue"; +export default defineComponent({ + setup() { + const table = ref({ + key: "id", + footer: "Foots", + cnName: "鐗╂枡淇℃伅", + name: "materielInfo", + url: "/MaterielInfo/", + sortName: "id", + }); + const editFormFields = ref({ + areaId: "", + materielCode: "", + materielName: "", + materielDes: "", + isMixBatch: "", + isMixMateriel: "", + }); + const editFormOptions = ref([ + [ + { + title: "鍖哄煙", + required: true, + field: "areaId", + type: "string", + }, + { + title: "鐗╂枡缂栧彿", + required: true, + field: "materielCode", + type: "string", + }, + { + title: "鐗╂枡鍚嶇О", + required: true, + field: "materielName", + type: "string", + }, + { + title: "璁¢噺鍗曚綅", + required: true, + field: "unit", + type: "string", + }, + ], + [ + { + title: "鍏佽娣锋壒", + field: "isMixBatch", + type: "string", + }, + { + title: "鍏佽娣锋枡", + field: "isMixMateriel", + type: "string", + }, + { + title: "鐗╂枡鎻忚堪", + field: "materielDes", + type: "textarea", + }, + ], + ]); + const searchFormFields = ref({ + materielCode: "", + materielName: "", + areaId: "", + }); + const searchFormOptions = ref([ + [ + { title: "鐗╂枡缂栧彿", field: "materielCode", type: "like" }, + { title: "鐗╂枡鍚嶇О", field: "materielName", type: "like" }, + { title: "璁惧鐘舵��", field: "deviceStatus" }, + ], + ]); + const columns = ref([ + { + field: "id", + title: "Id", + type: "int", + width: 90, + hidden: true, + readonly: true, + require: true, + align: "left", + }, + { + field: "areaId", + title: "鍖哄煙涓婚敭", + type: "string", + width: 90, + align: "left", + }, + { + field: "materielCode", + title: "鐗╂枡缂栧彿", + type: "string", + width: 150, + align: "left", + }, + { + field: "materielName", + title: "鐗╂枡鍚嶇О", + type: "string", + width: 150, + align: "left", + }, + { + field: "materielDes", + title: "鐗╂枡鎻忚堪", + type: "decimal", + width: 90, + align: "left", + }, + { + field: "cotainerType", + title: "瀹瑰櫒绫诲瀷", + type: "string", + width: 90, + align: "left", + }, + { + field: "packspes", + title: "鍖呰瑙勬牸", + type: "int", + width: 120, + align: "left", + }, + { + field: "attribute", + title: "鐗╂枡灞炴��", + type: "string", + width: 200, + align: "left", + }, + { + field: "unit", + title: "璁¢噺鍗曚綅", + type: "string", + width: 180, + align: "left", + }, + { + field: "validity", + title: "鏈夋晥鏈�", + type: "string", + width: 120, + align: "left", + }, + { + field: "safetyStock", + title: "瀹夊叏搴撳瓨", + type: "string", + width: 120, + align: "left", + }, + { + field: "creater", + title: "鍒涘缓浜�", + type: "string", + width: 90, + align: "left", + }, + { + field: "createDate", + title: "鍒涘缓鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "modifier", + title: "淇敼浜�", + type: "string", + width: 100, + align: "left", + }, + { + field: "modifyDate", + title: "淇敼鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "remark", + title: "澶囨敞", + type: "string", + width: 100, + align: "left", + }, + ]); + const detail = ref({ + cnName: "#detailCnName", + table: "", + columns: [], + sortName: "", + }); + return { + table, + extend, + editFormFields, + editFormOptions, + searchFormFields, + searchFormOptions, + columns, + detail, + }; + }, +}); +</script> + \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/outbound/outboundOrder.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/outbound/outboundOrder.vue" new file mode 100644 index 0000000..bb4071b --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/outbound/outboundOrder.vue" @@ -0,0 +1,321 @@ + +<template> + <view-grid + ref="grid" + :columns="columns" + :detail="detail" + :editFormFields="editFormFields" + :editFormOptions="editFormOptions" + :searchFormFields="searchFormFields" + :searchFormOptions="searchFormOptions" + :table="table" + :extend="extend" + > + </view-grid> +</template> + <script> +import extend from "@/extension/outbound/outboundOrder.js"; +import { ref, defineComponent } from "vue"; +export default defineComponent({ + setup() { + const table = ref({ + key: "id", + footer: "Foots", + cnName: "鍑哄簱鍗�", + name: "outboundOrder", + url: "/OutboundOrder/", + sortName: "id", + }); + const editFormFields = ref({ + orderType: "", + upperOrderNo: "", + orderStatus: "", + remark: "", + }); + const editFormOptions = ref([ + [ + { + title: "鍗曟嵁绫诲瀷", + required: true, + field: "orderType", + type: "select", + dataKey: "outOrderType", + data: [], + }, + { + title: "涓婃父鍗曟嵁缂栧彿", + field: "upperOrderNo", + type: "string", + }, + { + title: "鍗曟嵁鐘舵��", + field: "orderStatus", + type: "select", + dataKey: "inboundState", + data: [], + readonly: true, + }, + { + title: "澶囨敞", + field: "remark", + type: "textarea", + }, + ], + ]); + const searchFormFields = ref({ + orderNo: "", + upperOrderNo: "", + orderType: "", + orderStatus: "", + createType: "", + creater: "", + createDate: "", + }); + const searchFormOptions = ref([ + [ + { title: "鍗曟嵁缂栧彿", field: "orderNo", type: "like" }, + { title: "涓婃父鍗曟嵁缂栧彿", field: "upperOrderNo", type: "like" }, + { + title: "鍗曟嵁绫诲瀷", + field: "orderType", + type: "select", + dataKey: "outOrderType", + data: [], + }, + { + title: "鍗曟嵁鐘舵��", + field: "orderStatus", + type: "select", + dataKey: "inboundState", + data: [], + }, + ], + [ + { + title: "鍒涘缓鏂瑰紡", + field: "createType", + type: "select", + dataKey: "createType", + data: [], + }, + { title: "鍒涘缓鑰�", field: "creater", type: "like" }, + { title: "鍒涘缓鏃堕棿", field: "createDate", type: "datatime" }, + ], + ]); + const columns = ref([ + { + field: "id", + title: "Id", + type: "int", + width: 90, + hidden: true, + readonly: true, + require: true, + align: "left", + }, + { + field: "orderNo", + title: "鍗曟嵁缂栧彿", + type: "string", + width: 120, + align: "left", + link: true, + }, + { + field: "upperOrderNo", + title: "涓婃父鍗曟嵁缂栧彿", + type: "string", + width: 150, + align: "left", + }, + { + field: "orderType", + title: "鍗曟嵁绫诲瀷", + type: "string", + width: 150, + align: "left", + bind: { key: "outOrderType", data: [] }, + }, + { + field: "orderStatus", + title: "鍗曟嵁鐘舵��", + type: "decimal", + width: 90, + align: "left", + bind: { key: "outboundStatusEnum", data: [] }, + }, + { + field: "createType", + title: "鍒涘缓鏂瑰紡", + type: "string", + width: 90, + align: "left", + bind: { key: "createType", data: [] }, + }, + { + field: "creater", + title: "鍒涘缓浜�", + type: "string", + width: 90, + align: "left", + }, + { + field: "createDate", + title: "鍒涘缓鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "modifier", + title: "淇敼浜�", + type: "string", + width: 100, + align: "left", + }, + { + field: "modifyDate", + title: "淇敼鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "remark", + title: "澶囨敞", + type: "string", + width: 100, + align: "left", + }, + ]); + const detail = ref({ + cnName: "鍑哄簱鏄庣粏鍗�", + table: "OnboundOrderDetail", + columns: [ + { + field: "id", + title: "Id", + type: "int", + width: 90, + hidden: true, + readonly: true, + require: true, + align: "left", + }, + { + field: "orderId", + title: "鍑哄簱鍗曚富閿�", + type: "string", + width: 90, + align: "left", + hidden: true, + }, + { + field: "materielCode", + title: "鐗╂枡缂栧彿", + type: "string", + width: 150, + align: "left", + edit: { type: "string" }, + required: true, + }, + { + field: "materielName", + title: "鐗╂枡鍚嶇О", + type: "string", + width: 150, + align: "left", + }, + { + field: "batchNo", + title: "鎵规鍙�", + type: "decimal", + width: 90, + align: "left", + edit: { type: "string" }, + required: true, + }, + { + field: "orderQuantity", + title: "鍗曟嵁鏁伴噺", + type: "string", + width: 90, + align: "left", + edit: { type: "number" }, + required: true, + }, + { + field: "lockQuantity", + title: "閿佸畾鏁伴噺", + type: "int", + width: 120, + align: "left", + }, + { + field: "overOutQuantity", + title: "宸插嚭鏁伴噺", + type: "string", + width: 200, + align: "left", + }, + { + field: "orderDetailStatus", + title: "璁㈠崟鏄庣粏鐘舵��", + type: "string", + width: 180, + align: "left", + bind: { key: "orderDetailStatusEnum", data: [] }, + }, + { + field: "creater", + title: "鍒涘缓浜�", + type: "string", + width: 90, + align: "left", + }, + { + field: "createDate", + title: "鍒涘缓鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "modifier", + title: "淇敼浜�", + type: "string", + width: 100, + align: "left", + }, + { + field: "modifyDate", + title: "淇敼鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "remark", + title: "澶囨敞", + type: "string", + width: 100, + align: "left", + }, + ], + sortName: "id", + key: "id", + }); + return { + table, + extend, + editFormFields, + editFormOptions, + searchFormFields, + searchFormOptions, + columns, + detail, + }; + }, +}); +</script> + \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/outbound/outboundOrderDetail.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/outbound/outboundOrderDetail.vue" new file mode 100644 index 0000000..e992c4c --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/outbound/outboundOrderDetail.vue" @@ -0,0 +1,221 @@ + +<template> + <view-grid + ref="grid" + :columns="columns" + :detail="detail" + :editFormFields="editFormFields" + :editFormOptions="editFormOptions" + :searchFormFields="searchFormFields" + :searchFormOptions="searchFormOptions" + :table="table" + :extend="extend" + > + </view-grid> + </template> + <script> + import extend from "@/extension/outbound/outboundOrderDetail.js"; + import { ref, defineComponent } from "vue"; + export default defineComponent({ + setup() { + const table = ref({ + key: "id", + footer: "Foots", + cnName: "鍑哄簱鍗曟槑缁�", + name: "outboundOrderDetail", + url: "/OutboundOrderDetail/", + sortName: "id", + }); + const editFormFields = ref({ + deviceCode: "", + deviceName: "", + deviceType: "", + deviceStatus: "", + deviceIp: "", + devicePort: "", + devicePlcType: "", + deviceRemark: "", + }); + const editFormOptions = ref([ + [ + { + title: "璁惧缂栧彿", + required: true, + field: "deviceCode", + type: "string", + }, + { + title: "璁惧鍚嶇О", + required: true, + field: "deviceName", + type: "string", + }, + { + title: "璁惧绫诲瀷", + required: true, + field: "deviceType", + type: "string", + }, + { + title: "璁惧鐘舵��", + required: true, + field: "deviceStatus", + type: "string", + }, + ], + [ + { title: "璁惧IP", required: true, field: "deviceIp", type: "string" }, + { + title: "璁惧绔彛", + required: true, + field: "devicePort", + type: "string", + }, + { + title: "PLC绫诲瀷", + required: true, + field: "devicePlcType", + type: "string", + }, + { + title: "澶囨敞", + field: "deviceRemark", + type: "string", + }, + ], + ]); + const searchFormFields = ref({ + deviceCode: "", + deviceType: "", + deviceStatus: "", + }); + const searchFormOptions = ref([ + [ + { title: "璁惧缂栧彿", field: "deviceCode" }, + { title: "璁惧绫诲瀷", field: "deviceType" }, + { title: "璁惧鐘舵��", field: "deviceStatus" }, + ], + ]); + const columns = ref([ + { + field: "id", + title: "Id", + type: "int", + width: 90, + hidden: true, + readonly: true, + align: "left", + }, + { + field: "orderId", + title: "鍑哄簱鍗曚富閿�", + type: "string", + width: 90, + align: "left", + hidden: true, + }, + { + field: "materielCode", + title: "鐗╂枡缂栧彿", + type: "string", + width: 150, + align: "left", + }, + { + field: "materielName", + title: "鐗╂枡鍚嶇О", + type: "string", + width: 150, + align: "left", + }, + { + field: "batchNo", + title: "鎵规鍙�", + type: "decimal", + width: 90, + align: "left", + }, + { + field: "orderQuantity", + title: "鍗曟嵁鏁伴噺", + type: "string", + width: 90, + align: "left", + }, + { + field: "lockQuantity", + title: "閿佸畾鏁伴噺", + type: "int", + width: 120, + align: "left", + }, + { + field: "overOutQuantity", + title: "宸插嚭鏁伴噺", + type: "string", + width: 200, + align: "left", + }, + { + field: "orderDetailStatus", + title: "璁㈠崟鏄庣粏鐘舵��", + type: "string", + width: 180, + align: "left", + }, + { + field: "creater", + title: "鍒涘缓浜�", + type: "string", + width: 90, + align: "left", + }, + { + field: "createDate", + title: "鍒涘缓鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "modifier", + title: "淇敼浜�", + type: "string", + width: 100, + align: "left", + }, + { + field: "modifyDate", + title: "淇敼鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "remark", + title: "澶囨敞", + type: "string", + width: 100, + align: "left", + }, + ]); + const detail = ref({ + cnName: "#detailCnName", + table: "", + columns: [], + sortName: "", + }); + return { + table, + extend, + editFormFields, + editFormOptions, + searchFormFields, + searchFormOptions, + columns, + detail, + }; + }, + }); + </script> + \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/stock/stockInfo.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/stock/stockInfo.vue" new file mode 100644 index 0000000..0adaf93 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/stock/stockInfo.vue" @@ -0,0 +1,187 @@ + +<template> + <view-grid + ref="grid" + :columns="columns" + :detail="detail" + :editFormFields="editFormFields" + :editFormOptions="editFormOptions" + :searchFormFields="searchFormFields" + :searchFormOptions="searchFormOptions" + :table="table" + :extend="extend" + > + </view-grid> + </template> + <script> + import extend from "@/extension/stock/stockInfo.js"; + import { ref, defineComponent } from "vue"; + export default defineComponent({ + setup() { + const table = ref({ + key: "id", + footer: "Foots", + cnName: "搴撳瓨淇℃伅", + name: "stockInfo", + url: "/StockInfo/", + sortName: "id", + }); + const editFormFields = ref({ + deviceCode: "", + deviceName: "", + deviceType: "", + deviceStatus: "", + deviceIp: "", + devicePort: "", + devicePlcType: "", + deviceRemark: "", + }); + const editFormOptions = ref([ + [ + { + title: "璁惧缂栧彿", + required: true, + field: "deviceCode", + type: "string", + }, + { + title: "璁惧鍚嶇О", + required: true, + field: "deviceName", + type: "string", + }, + { + title: "璁惧绫诲瀷", + required: true, + field: "deviceType", + type: "string", + }, + { + title: "璁惧鐘舵��", + required: true, + field: "deviceStatus", + type: "string", + }, + ], + [ + { title: "璁惧IP", required: true, field: "deviceIp", type: "string" }, + { + title: "璁惧绔彛", + required: true, + field: "devicePort", + type: "string", + }, + { + title: "PLC绫诲瀷", + required: true, + field: "devicePlcType", + type: "string", + }, + { + title: "澶囨敞", + field: "deviceRemark", + type: "string", + }, + ], + ]); + const searchFormFields = ref({ + deviceCode: "", + deviceType: "", + deviceStatus: "", + }); + const searchFormOptions = ref([ + [ + { title: "璁惧缂栧彿", field: "deviceCode" }, + { title: "璁惧绫诲瀷", field: "deviceType" }, + { title: "璁惧鐘舵��", field: "deviceStatus" }, + ], + ]); + const columns = ref([ + { + field: "id", + title: "Id", + type: "int", + width: 90, + hidden: true, + readonly: true, + require: true, + align: "left", + }, + { + field: "palletCode", + title: "鎵樼洏缂栧彿", + type: "string", + width: 90, + align: "left", + }, + { + field: "locationCode", + title: "璐т綅缂栧彿", + type: "string", + width: 150, + align: "left", + }, + { + field: "isFull", + title: "鏄惁婊$洏", + type: "string", + width: 150, + align: "left", + bind: { key: "yesno", data: [] }, + }, + { + field: "creater", + title: "鍒涘缓浜�", + type: "string", + width: 90, + align: "left", + }, + { + field: "createDate", + title: "鍒涘缓鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "modifier", + title: "淇敼浜�", + type: "string", + width: 100, + align: "left", + }, + { + field: "modifyDate", + title: "淇敼鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "remark", + title: "澶囨敞", + type: "string", + width: 100, + align: "left", + }, + ]); + const detail = ref({ + cnName: "#detailCnName", + table: "", + columns: [], + sortName: "", + }); + return { + table, + extend, + editFormFields, + editFormOptions, + searchFormFields, + searchFormOptions, + columns, + detail, + }; + }, + }); + </script> + \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/stock/stockInfoDetail.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/stock/stockInfoDetail.vue" new file mode 100644 index 0000000..e9a039c --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/stock/stockInfoDetail.vue" @@ -0,0 +1,228 @@ + +<template> + <view-grid + ref="grid" + :columns="columns" + :detail="detail" + :editFormFields="editFormFields" + :editFormOptions="editFormOptions" + :searchFormFields="searchFormFields" + :searchFormOptions="searchFormOptions" + :table="table" + :extend="extend" + > + </view-grid> + </template> + <script> + import extend from "@/extension/stock/stockInfoDetail.js"; + import { ref, defineComponent } from "vue"; + export default defineComponent({ + setup() { + const table = ref({ + key: "id", + footer: "Foots", + cnName: "搴撳瓨淇℃伅鏄庣粏", + name: "stockInfoDetail", + url: "/StockInfoDetail/", + sortName: "id", + }); + const editFormFields = ref({ + deviceCode: "", + deviceName: "", + deviceType: "", + deviceStatus: "", + deviceIp: "", + devicePort: "", + devicePlcType: "", + deviceRemark: "", + }); + const editFormOptions = ref([ + [ + { + title: "璁惧缂栧彿", + required: true, + field: "deviceCode", + type: "string", + }, + { + title: "璁惧鍚嶇О", + required: true, + field: "deviceName", + type: "string", + }, + { + title: "璁惧绫诲瀷", + required: true, + field: "deviceType", + type: "string", + }, + { + title: "璁惧鐘舵��", + required: true, + field: "deviceStatus", + type: "string", + }, + ], + [ + { title: "璁惧IP", required: true, field: "deviceIp", type: "string" }, + { + title: "璁惧绔彛", + required: true, + field: "devicePort", + type: "string", + }, + { + title: "PLC绫诲瀷", + required: true, + field: "devicePlcType", + type: "string", + }, + { + title: "澶囨敞", + field: "deviceRemark", + type: "string", + }, + ], + ]); + const searchFormFields = ref({ + deviceCode: "", + deviceType: "", + deviceStatus: "", + }); + const searchFormOptions = ref([ + [ + { title: "璁惧缂栧彿", field: "deviceCode" }, + { title: "璁惧绫诲瀷", field: "deviceType" }, + { title: "璁惧鐘舵��", field: "deviceStatus" }, + ], + ]); + const columns = ref([ + { + field: "id", + title: "Id", + type: "int", + width: 90, + hidden: true, + readonly: true, + require: true, + align: "left", + }, + { + field: "stockId", + title: "搴撳瓨淇℃伅涓婚敭", + type: "string", + width: 90, + align: "left", + }, + { + field: "materielCode", + title: "鐗╂枡缂栧彿", + type: "string", + width: 150, + align: "left", + }, + { + field: "materielName", + title: "鐗╂枡鍚嶇О", + type: "string", + width: 150, + align: "left", + }, + { + field: "orderNo", + title: "鍗曟嵁缂栧彿", + type: "decimal", + width: 90, + align: "left", + }, + { + field: "batchNo", + title: "鎵规鍙�", + type: "string", + width: 90, + align: "left", + }, + { + field: "serialNumber", + title: "搴忓垪鍙�", + type: "int", + width: 120, + align: "left", + }, + { + field: "stockQuantity", + title: "搴撳瓨鏁伴噺", + type: "string", + width: 200, + align: "left", + }, + { + field: "outboundQuantity", + title: "鍑哄簱鏁伴噺", + type: "string", + width: 180, + align: "left", + }, + { + field: "status", + title: "搴撳瓨鏄庣粏鐘舵��", + type: "string", + width: 120, + align: "left", + }, + { + field: "creater", + title: "鍒涘缓浜�", + type: "string", + width: 90, + align: "left", + }, + { + field: "createDate", + title: "鍒涘缓鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "modifier", + title: "淇敼浜�", + type: "string", + width: 100, + align: "left", + }, + { + field: "modifyDate", + title: "淇敼鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "remark", + title: "澶囨敞", + type: "string", + width: 100, + align: "left", + }, + ]); + const detail = ref({ + cnName: "#detailCnName", + table: "", + columns: [], + sortName: "", + }); + return { + table, + extend, + editFormFields, + editFormOptions, + searchFormFields, + searchFormOptions, + columns, + detail, + }; + }, + }); + </script> + \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/stock/stockView.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/stock/stockView.vue" new file mode 100644 index 0000000..26d463e --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/stock/stockView.vue" @@ -0,0 +1,344 @@ + +<template> + <view-grid + ref="grid" + :columns="columns" + :detail="detail" + :editFormFields="editFormFields" + :editFormOptions="editFormOptions" + :searchFormFields="searchFormFields" + :searchFormOptions="searchFormOptions" + :table="table" + :extend="extend" + > + </view-grid> +</template> + <script> +import extend from "@/extension/stock/stockView.js"; +import { ref, defineComponent } from "vue"; +export default defineComponent({ + setup() { + const table = ref({ + key: "stockId", + footer: "Foots", + cnName: "搴撳瓨瑙嗗浘", + name: "stockView", + url: "/stockView/", + sortName: "stockId", + }); + const editFormFields = ref({ + palletCode: "", + locationCode: "", + locationName: "", + }); + const editFormOptions = ref([ + [ + { + title: "鎵樼洏缂栧彿", + required: true, + field: "palletCode", + type: "string", + }, + { + title: "璐т綅缂栧彿", + required: true, + field: "locationCode", + type: "string", + }, + { + title: "璐т綅鍚嶇О", + required: true, + field: "locationName", + type: "string", + }, + ], + ]); + const searchFormFields = ref({ + palletCode: "", + locationCode: "", + }); + const searchFormOptions = ref([ + [ + { title: "鎵樼洏缂栧彿", field: "palletCode" }, + { title: "璐т綅缂栧彿", field: "locationCode" }, + ], + ]); + const columns = ref([ + { + field: "stockId", + title: "Id", + type: "int", + width: 90, + hidden: true, + readonly: true, + require: true, + align: "left", + }, + { + field: "palletCode", + title: "鎵樼洏缂栧彿", + type: "string", + width: 150, + link: true, + align: "left", + }, + { + field: "locationCode", + title: "璐т綅缂栧彿", + type: "string", + width: 180, + align: "left", + }, + { + field: "locationName", + title: "璐т綅鍚嶇О", + type: "string", + width: 220, + align: "left", + }, + { + field: "roadwayNo", + title: "宸烽亾缂栧彿", + type: "decimal", + width: 90, + align: "left", + }, + { + field: "row", + title: "璐т綅琛�", + type: "string", + width: 90, + align: "left", + hidden: true, + }, + { + field: "column", + title: "璐т綅鍒�", + type: "int", + width: 120, + align: "left", + hidden: true, + }, + { + field: "layer", + title: "璐т綅灞�", + type: "string", + width: 200, + align: "left", + hidden: true, + }, + { + field: "depth", + title: "璐т綅娣卞害", + type: "string", + width: 180, + align: "left", + hidden: true, + }, + { + field: "stockStatus", + title: "搴撳瓨鐘舵��", + type: "string", + width: 200, + align: "left", + bind: { key: "stockStatusEmun", data: [] }, + }, + { + field: "locationType", + title: "璐т綅绫诲瀷", + type: "string", + width: 120, + align: "left", + bind:{key: "locationTypeEnum", data: []} + }, + { + field: "locationStatus", + title: "璐т綅鐘舵��", + type: "string", + width: 200, + align: "left", + bind: { key: "locationStatusEnum", data: [] }, + }, + { + field: "enalbeStatus", + title: "绂佺敤鐘舵��", + type: "string", + width: 180, + align: "left", + bind: { key: "enableStatusEnum", data: [] }, + }, + { + field: "isFull", + title: "鏄惁婊$洏", + type: "string", + width: 150, + align: "left", + hidden: true, + bind: { key: "yesno", data: [] }, + }, + { + field: "creater", + title: "鍒涘缓浜�", + type: "string", + width: 90, + align: "left", + }, + { + field: "createDate", + title: "鍒涘缓鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "modifier", + title: "淇敼浜�", + type: "string", + width: 100, + align: "left", + }, + { + field: "modifyDate", + title: "淇敼鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "remark", + title: "澶囨敞", + type: "string", + width: 100, + align: "left", + }, + ]); + const detail = ref({ + cnName: "搴撳瓨鏄庣粏淇℃伅", + table: "StockInfoDetail", + columns: [ + { + field: "id", + title: "Id", + type: "int", + width: 90, + hidden: true, + readonly: true, + require: true, + align: "left", + }, + { + field: "stockId", + title: "搴撳瓨淇℃伅涓婚敭", + type: "string", + width: 90, + align: "left", + }, + { + field: "materielCode", + title: "鐗╂枡缂栧彿", + type: "string", + width: 150, + align: "left", + }, + { + field: "materielName", + title: "鐗╂枡鍚嶇О", + type: "string", + width: 150, + align: "left", + }, + { + field: "orderNo", + title: "鍗曟嵁缂栧彿", + type: "decimal", + width: 90, + align: "left", + }, + { + field: "batchNo", + title: "鎵规鍙�", + type: "string", + width: 90, + align: "left", + }, + { + field: "serialNumber", + title: "搴忓垪鍙�", + type: "int", + width: 120, + align: "left", + }, + { + field: "stockQuantity", + title: "搴撳瓨鏁伴噺", + type: "string", + width: 200, + align: "left", + }, + { + field: "outboundQuantity", + title: "鍑哄簱鏁伴噺", + type: "string", + width: 180, + align: "left", + }, + { + field: "status", + title: "搴撳瓨鏄庣粏鐘舵��", + type: "string", + width: 120, + align: "left", + }, + { + field: "creater", + title: "鍒涘缓浜�", + type: "string", + width: 90, + align: "left", + }, + { + field: "createDate", + title: "鍒涘缓鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "modifier", + title: "淇敼浜�", + type: "string", + width: 100, + align: "left", + }, + { + field: "modifyDate", + title: "淇敼鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "remark", + title: "澶囨敞", + type: "string", + width: 100, + align: "left", + }, + ], + sortName: "id", + key: "id", + }); + return { + table, + extend, + editFormFields, + editFormOptions, + searchFormFields, + searchFormOptions, + columns, + detail, + }; + }, +}); +</script> + \ No newline at end of file -- Gitblit v1.9.3