From b01acc5451b09593762522e9baff2615120696ec Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期四, 30 十月 2025 14:04:50 +0800
Subject: [PATCH] 1.新增 订单开启、工单开启功能 2.新增顶级物料字段
---
src/views/kanbanManager/ckgl.vue | 2
src/api/WorkOrder.js | 19 +
vue.config.js | 2
src/views/basicSettings/powerDivider.vue | 76 ++--
src/styles/global.css | 30 +-
src/views/workOrder/workOrderClose.vue | 326 ++++++++++++---------
src/views/workOrder/produceOrderList.vue | 319 +++++++++++++-------
src/views/kanbanManager/cj.vue | 2
src/views/kanbanManager/zhkb.vue | 2
src/views/workOrder/workOrderList.vue | 71 ++++
src/views/workOrder/workOrderSend.vue | 2
11 files changed, 523 insertions(+), 328 deletions(-)
diff --git a/src/api/WorkOrder.js b/src/api/WorkOrder.js
index 4cf7550..0cef4f0 100644
--- a/src/api/WorkOrder.js
+++ b/src/api/WorkOrder.js
@@ -43,6 +43,15 @@
})
}
+// ERP璁㈠崟鍙嶅叧闂�
+export function ReverseClosedErpOrder(data) {
+ return request({
+ url: 'WorkOrder/ReverseClosedErpOrder',
+ method: 'post',
+ params: data
+ })
+}
+
// ERP璁㈠崟鍒犻櫎
export function DeleteErpOrder(data) {
return request({
@@ -61,6 +70,16 @@
})
}
+// MES宸ュ崟鍚姩鎻愪氦
+export function MesOrderBitchReverseClosedSeave(data) {
+ return request({
+ url: 'WorkOrder/MesOrderBitchReverseClosedSeave',
+ method: 'post',
+ data
+ })
+}
+
+
// MES鎶ュ簾琛ュ崟宸ュ崟鏌ヨ
export function MesBadOrderSearch(data) {
return request({
diff --git a/src/styles/global.css b/src/styles/global.css
index 6f5c868..fff4c7b 100644
--- a/src/styles/global.css
+++ b/src/styles/global.css
@@ -179,22 +179,22 @@
瀹氫箟婊氬姩鏉¢珮瀹藉強鑳屾櫙
楂樺鍒嗗埆瀵瑰簲妯珫婊氬姩鏉$殑灏哄
*/
-::-webkit-scrollbar {
- width: 7px;
- height: 7px;
- /*background-color: white;*/
- background-color: #f8f8fa;
-}
+/*::-webkit-scrollbar {*/
+/* width: 7px;*/
+/* height: 7px;*/
+/* !*background-color: white;*!*/
+/* background-color: #f8f8fa;*/
+/*}*/
-::-webkit-scrollbar-thumb {
- /*box-shadow: inset 0 0 0px white;*/
- box-shadow: inset 0 0 0px #f8f8fa;
- /*-webkit-box-shadow: inset 0 0 0px white;*/
- -webkit-box-shadow: inset 0 0 0px #f8f8fa;
- background-color: rgb(193, 193, 193);
- /*婊氬姩鏉$殑鑳屾櫙棰滆壊*/
- border-radius: 20px;
-}
+/*::-webkit-scrollbar-thumb {*/
+/* !*box-shadow: inset 0 0 0px white;*!*/
+/* box-shadow: inset 0 0 0px #f8f8fa;*/
+/* !*-webkit-box-shadow: inset 0 0 0px white;*!*/
+/* -webkit-box-shadow: inset 0 0 0px #f8f8fa;*/
+/* background-color: rgb(193, 193, 193);*/
+/* !*婊氬姩鏉$殑鑳屾櫙棰滆壊*!*/
+/* border-radius: 20px;*/
+/*}*/
/*瑙e喅琛ㄦ牸鍥哄畾鍒楁椂鐨勫帇鏍峰紡闂*/
.el-table__fixed {
diff --git a/src/views/basicSettings/powerDivider.vue b/src/views/basicSettings/powerDivider.vue
index f8a0267..0806996 100644
--- a/src/views/basicSettings/powerDivider.vue
+++ b/src/views/basicSettings/powerDivider.vue
@@ -64,7 +64,7 @@
@mouseover="isScroll='left'"
>
<div style=" ">
- <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" /> 鑿滃崟鏉冮檺
+ <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}"/> 鑿滃崟鏉冮檺
</div>
<el-tree
@@ -131,36 +131,36 @@
<!-- </div>-->
</div>
</el-tab-pane>
-<!-- <el-tab-pane label="APP绔�" name="APP">-->
-<!-- <div style="display: flex;">-->
-<!-- <div-->
-<!-- ref="scrollLeft"-->
-<!-- style="border-right: 1px solid rgba(0,0,0,0.2);width:100%;-->
-<!-- overflow-y: auto;overflow-x:hidden;"-->
-<!-- :style="{height:(tableHeight-40)+'px'}"-->
-<!-- @scroll="scrollLeftScroll()"-->
-<!-- @mouseover="isScroll='left'"-->
-<!-- >-->
-<!-- <div style=" ">-->
-<!-- <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" /> 鑿滃崟鏉冮檺-->
-<!-- </div>-->
+ <!-- <el-tab-pane label="APP绔�" name="APP">-->
+ <!-- <div style="display: flex;">-->
+ <!-- <div-->
+ <!-- ref="scrollLeft"-->
+ <!-- style="border-right: 1px solid rgba(0,0,0,0.2);width:100%;-->
+ <!-- overflow-y: auto;overflow-x:hidden;"-->
+ <!-- :style="{height:(tableHeight-40)+'px'}"-->
+ <!-- @scroll="scrollLeftScroll()"-->
+ <!-- @mouseover="isScroll='left'"-->
+ <!-- >-->
+ <!-- <div style=" ">-->
+ <!-- <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" /> 鑿滃崟鏉冮檺-->
+ <!-- </div>-->
-<!-- <el-tree-->
-<!-- ref="treeCenterAPPRef"-->
-<!-- style="padding-top: 10px;"-->
-<!-- :data="treeCenter"-->
-<!-- highlight-current-->
-<!-- :props="defaultPropsCenter"-->
-<!-- show-checkbox-->
-<!-- node-key="menucode"-->
-<!-- :default-expand-all="true"-->
-<!-- @check-change="handleTreeCenterCheckChange"-->
-<!-- @check="handleTreeCenterCheck"-->
-<!-- @node-click="getLeftTreeNode"-->
-<!-- />-->
-<!-- </div>-->
-<!-- </div>-->
-<!-- </el-tab-pane>-->
+ <!-- <el-tree-->
+ <!-- ref="treeCenterAPPRef"-->
+ <!-- style="padding-top: 10px;"-->
+ <!-- :data="treeCenter"-->
+ <!-- highlight-current-->
+ <!-- :props="defaultPropsCenter"-->
+ <!-- show-checkbox-->
+ <!-- node-key="menucode"-->
+ <!-- :default-expand-all="true"-->
+ <!-- @check-change="handleTreeCenterCheckChange"-->
+ <!-- @check="handleTreeCenterCheck"-->
+ <!-- @node-click="getLeftTreeNode"-->
+ <!-- />-->
+ <!-- </div>-->
+ <!-- </div>-->
+ <!-- </el-tab-pane>-->
<!-- <el-tab-pane label="宸ユ帶绔�" name="宸ユ帶绔�">宸ユ帶绔�</el-tab-pane>-->
</el-tabs>
@@ -185,7 +185,7 @@
export default {
name: 'PowerDivider',
- directives: { waves },
+ directives: {waves},
data() {
return {
mainHeight: 0,
@@ -234,7 +234,7 @@
// 鑾峰彇瑙掕壊鏉冮檺鏌ヨ瑙掕壊
async getRolePermissionSearchRole() {
- const { data: res } = await RolePermissionSearchRole()
+ const {data: res} = await RolePermissionSearchRole()
this.treeLeft = res
let rolecode = ''
@@ -262,12 +262,12 @@
// 鑾峰彇鑿滃崟鏉冮檺瀵瑰簲鐨勬寜閽�
async getRolePermissionSearchRoleMenuButton(rolecode) {
- const { data: res } = await RolePermissionSearchRoleMenuButton({ rolecode, type: this.activeName })
+ const {data: res} = await RolePermissionSearchRoleMenuButton({rolecode, type: this.activeName})
this.allButtonData = res.length > 0 ? JSON.parse(res[0].jsondate) : []
},
// 鑾峰彇鑿滃崟鏉冮檺
async getRolePermissionSearchRoleMenu(rolecode) {
- const { data: res } = await RolePermissionSearchRoleMenu({ rolecode, type: this.activeName })
+ const {data: res} = await RolePermissionSearchRoleMenu({rolecode, type: this.activeName})
// 鎷垮埌鏁扮粍list杞崲鎴愭爲褰ree
const result = arrayToTree(res, {
@@ -277,7 +277,7 @@
})
this.treeCenter = [
- { menucode: '-1', menuname: '鍏ㄩ儴', children: result }
+ {menucode: '-1', menuname: '鍏ㄩ儴', children: result}
]
this.treeCenter[0].children.sort((a, b) => a.menu_seq - b.menu_seq)
@@ -429,7 +429,7 @@
this.$forceUpdate()
},
// 澶勭悊涓棿鏍戝舰鍕鹃��
- handleTreeCenterCheck(obj, { checkedNodes, checkedKeys, halfCheckedNodes, halfCheckedKeys }) {
+ handleTreeCenterCheck(obj, {checkedNodes, checkedKeys, halfCheckedNodes, halfCheckedKeys}) {
// console.log(obj, checkedNodes, checkedKeys, halfCheckedNodes, halfCheckedKeys, '鍔犲瀹�')
if (checkedKeys.length === 0) { // 鏍戝舰鑿滃崟鍏ㄤ笉閫夌殑鎯呭喌涓�
@@ -513,6 +513,10 @@
this.$notify.success(rolename + '鐨勮鑹叉潈闄愭彁浜ゆ垚鍔燂紒')
await this.getRolePermissionSearchRoleMenuButton(rolecode)
this.$store.state.app.buttonIsDisabled = false
+
+ setTimeout(() => {
+ location.reload()
+ }, 2000)
}
},
// 鑾峰彇椤甸潰楂樺害
diff --git a/src/views/kanbanManager/cj.vue b/src/views/kanbanManager/cj.vue
index 9127e56..43abef2 100644
--- a/src/views/kanbanManager/cj.vue
+++ b/src/views/kanbanManager/cj.vue
@@ -6,7 +6,7 @@
<div class="kb_header">
<div class="kb_headTime" style="top: 35px;left: 20px">
- <span>娴欐睙瀵呭瘏绉戞妧鏈夐檺鍏徃</span>
+ <span>娴欐睙闃块瞾鍏嬪仴韬櫒鏉愭湁闄愬叕鍙�</span>
</div>
<div class="kb_headTime kb_header_text" style="top: 35px;left: 828px">
diff --git a/src/views/kanbanManager/ckgl.vue b/src/views/kanbanManager/ckgl.vue
index 01439a3..d2143e6 100644
--- a/src/views/kanbanManager/ckgl.vue
+++ b/src/views/kanbanManager/ckgl.vue
@@ -5,7 +5,7 @@
<div class="kb_backgroundCustom" />
<div class="kb_header">
<div class="kb_headTime" style="top: 35px;left: 20px">
- <span>娴欐睙瀵呭瘏绉戞妧鏈夐檺鍏徃</span>
+ <span>娴欐睙闃块瞾鍏嬪仴韬櫒鏉愭湁闄愬叕鍙�</span>
</div>
<div class="kb_headTime kb_header_text" style="top: 35px;left: 800px">
diff --git a/src/views/kanbanManager/zhkb.vue b/src/views/kanbanManager/zhkb.vue
index 3187bb3..41f9fa9 100644
--- a/src/views/kanbanManager/zhkb.vue
+++ b/src/views/kanbanManager/zhkb.vue
@@ -6,7 +6,7 @@
<div class="kb_header">
<div class="kb_headTime" style="top: 35px;left: 20px">
- <span>娴欐睙瀵呭瘏绉戞妧鏈夐檺鍏徃</span>
+ <span>娴欐睙闃块瞾鍏嬪仴韬櫒鏉愭湁闄愬叕鍙�</span>
</div>
<div class="kb_headTime kb_header_text" style="top: 35px;left: 800px">
diff --git a/src/views/workOrder/produceOrderList.vue b/src/views/workOrder/produceOrderList.vue
index 978206d..82a6d56 100644
--- a/src/views/workOrder/produceOrderList.vue
+++ b/src/views/workOrder/produceOrderList.vue
@@ -7,10 +7,17 @@
>
<div style="font-weight: bolder;">璁㈠崟鐘舵��</div>
<div class="statusItem" :class="{statusItemLight:form.erporderstus===''}" @click="statusChange('')">鍏ㄩ儴</div>
- <div class="statusItem" :class="{statusItemLight:form.erporderstus==='NEW'}" @click="statusChange('NEW')">鏂拌鍗�</div>
- <div class="statusItem" :class="{statusItemLight:form.erporderstus==='CREATING'}" @click="statusChange('CREATING')">閮ㄥ垎涓嬭揪</div>
- <div class="statusItem" :class="{statusItemLight:form.erporderstus==='CREATED'}" @click="statusChange('CREATED')">鍏ㄩ儴涓嬭揪</div>
- <div class="statusItem" :class="{statusItemLight:form.erporderstus==='CLOSED'}" @click="statusChange('CLOSED')">宸插叧闂�</div>
+ <div class="statusItem" :class="{statusItemLight:form.erporderstus==='NEW'}" @click="statusChange('NEW')">鏂拌鍗�
+ </div>
+ <div class="statusItem" :class="{statusItemLight:form.erporderstus==='CREATING'}"
+ @click="statusChange('CREATING')">閮ㄥ垎涓嬭揪
+ </div>
+ <div class="statusItem" :class="{statusItemLight:form.erporderstus==='CREATED'}"
+ @click="statusChange('CREATED')">鍏ㄩ儴涓嬭揪
+ </div>
+ <div class="statusItem" :class="{statusItemLight:form.erporderstus==='CLOSED'}" @click="statusChange('CLOSED')">
+ 宸插叧闂�
+ </div>
</div>
<div class="bodyTopButtonGroup" style="justify-content: space-between;margin-top: 5px;">
@@ -74,22 +81,22 @@
</el-select>
</el-form-item>
<el-form-item label="璁㈠崟缂栧彿" style=" display: flex;">
- <el-input v-model="form.erpordercode" placeholder="璇疯緭鍏�" style="width: 200px" />
+ <el-input v-model="form.erpordercode" placeholder="璇疯緭鍏�" style="width: 200px"/>
</el-form-item>
<el-form-item label="閿�鍞鍗�" style=" display: flex;">
- <el-input v-model="form.saleordercode" style="width: 200px" placeholder="璇疯緭鍏�" />
+ <el-input v-model="form.saleordercode" style="width: 200px" placeholder="璇疯緭鍏�"/>
</el-form-item>
<el-form-item v-show="isExpandForm" label="浜у搧缂栫爜" style=" display: flex;">
- <el-input v-model="form.partcode" style="width: 200px" placeholder="璇疯緭鍏�" />
+ <el-input v-model="form.partcode" style="width: 200px" placeholder="璇疯緭鍏�"/>
</el-form-item>
<el-form-item v-show="isExpandForm" label="浜у搧鍚嶇О" style=" display: flex;">
- <el-input v-model="form.partname" style="width: 200px" placeholder="璇疯緭鍏�" />
+ <el-input v-model="form.partname" style="width: 200px" placeholder="璇疯緭鍏�"/>
</el-form-item>
<el-form-item v-show="isExpandForm" label="浜у搧瑙勬牸" style=" display: flex;">
- <el-input v-model="form.partspec" style="width: 200px" placeholder="璇疯緭鍏�" />
+ <el-input v-model="form.partspec" style="width: 200px" placeholder="璇疯緭鍏�"/>
</el-form-item>
<DateType
@@ -237,7 +244,7 @@
<el-table-column
show-tooltip-when-overflow
prop="saleOrderCode"
- label="閿�鍞鍗�"
+ label="閿�鍞鍗�/棰勬祴鍗�"
sortable="custom"
width="150"
>
@@ -273,6 +280,30 @@
</template>
</el-table-column>
<el-table-column
+ prop="TopInventoryCode"
+ label="椤剁骇鐗╂枡缂栫爜"
+ sortable="custom"
+ show-tooltip-when-overflow
+ min-width="130"
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.TopInventoryCode">{{ row.TopInventoryCode }}</div>
+ <div v-else>/</div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="TopInventoryName"
+ label="椤剁骇鐗╂枡鍚嶇О"
+ sortable="custom"
+ show-tooltip-when-overflow
+ min-width="130"
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.TopInventoryName">{{ row.TopInventoryName }}</div>
+ <div v-else>/</div>
+ </template>
+ </el-table-column>
+ <el-table-column
prop="qty"
label="璁㈠崟鏁伴噺"
width="150"
@@ -286,66 +317,66 @@
width="150"
sortable="custom"
/>
-<!-- <el-table-column-->
-<!-- prop="priuserdefnvc1"-->
-<!-- label="瀹㈡埛鍚嶇О"-->
-<!-- width="110"-->
-<!-- sortable="custom"-->
-<!-- >-->
-<!-- <template slot-scope="{row}">-->
-<!-- {{ row.priuserdefnvc1 ? row.priuserdefnvc1 : '/' }}-->
-<!-- </template>-->
-<!-- </el-table-column>-->
-<!-- <el-table-column-->
-<!-- prop="priuserdefnvc6"-->
-<!-- label="瀹㈡埛缂栫爜"-->
-<!-- width="110"-->
-<!-- sortable="custom"-->
-<!-- >-->
-<!-- <template slot-scope="{row}">-->
-<!-- {{ row.priuserdefnvc6 ? row.priuserdefnvc6 : '/' }}-->
-<!-- </template>-->
-<!-- </el-table-column>-->
-<!-- <el-table-column-->
-<!-- prop="priuserdefnvc2"-->
-<!-- label="瀵瑰唴鍚嶇О"-->
-<!-- width="110"-->
-<!-- sortable="custom"-->
-<!-- >-->
-<!-- <template slot-scope="{row}">-->
-<!-- {{ row.priuserdefnvc2 ? row.priuserdefnvc2 : '/' }}-->
-<!-- </template>-->
-<!-- </el-table-column>-->
-<!-- <el-table-column-->
-<!-- prop="priuserdefnvc3"-->
-<!-- label="CTP鏃ユ湡"-->
-<!-- width="110"-->
-<!-- sortable="custom"-->
-<!-- >-->
-<!-- <template slot-scope="{row}">-->
-<!-- {{ row.priuserdefnvc3 ? row.priuserdefnvc3 : '/' }}-->
-<!-- </template>-->
-<!-- </el-table-column>-->
-<!-- <el-table-column-->
-<!-- prop="priuserdefnvc4"-->
-<!-- label="閽㈠垁缂栧彿"-->
-<!-- width="110"-->
-<!-- sortable="custom"-->
-<!-- >-->
-<!-- <template slot-scope="{row}">-->
-<!-- {{ row.priuserdefnvc4 ? row.priuserdefnvc4 : '/' }}-->
-<!-- </template>-->
-<!-- </el-table-column>-->
-<!-- <el-table-column-->
-<!-- prop="priuserdefnvc5"-->
-<!-- label="鐩掑瀷"-->
-<!-- width="110"-->
-<!-- sortable="custom"-->
-<!-- >-->
-<!-- <template slot-scope="{row}">-->
-<!-- {{ row.priuserdefnvc5 ? row.priuserdefnvc5 : '/' }}-->
-<!-- </template>-->
-<!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="priuserdefnvc1"-->
+ <!-- label="瀹㈡埛鍚嶇О"-->
+ <!-- width="110"-->
+ <!-- sortable="custom"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- {{ row.priuserdefnvc1 ? row.priuserdefnvc1 : '/' }}-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="priuserdefnvc6"-->
+ <!-- label="瀹㈡埛缂栫爜"-->
+ <!-- width="110"-->
+ <!-- sortable="custom"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- {{ row.priuserdefnvc6 ? row.priuserdefnvc6 : '/' }}-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="priuserdefnvc2"-->
+ <!-- label="瀵瑰唴鍚嶇О"-->
+ <!-- width="110"-->
+ <!-- sortable="custom"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- {{ row.priuserdefnvc2 ? row.priuserdefnvc2 : '/' }}-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="priuserdefnvc3"-->
+ <!-- label="CTP鏃ユ湡"-->
+ <!-- width="110"-->
+ <!-- sortable="custom"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- {{ row.priuserdefnvc3 ? row.priuserdefnvc3 : '/' }}-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="priuserdefnvc4"-->
+ <!-- label="閽㈠垁缂栧彿"-->
+ <!-- width="110"-->
+ <!-- sortable="custom"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- {{ row.priuserdefnvc4 ? row.priuserdefnvc4 : '/' }}-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="priuserdefnvc5"-->
+ <!-- label="鐩掑瀷"-->
+ <!-- width="110"-->
+ <!-- sortable="custom"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- {{ row.priuserdefnvc5 ? row.priuserdefnvc5 : '/' }}-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
<el-table-column
prop="clerkuser"
label="閿�鍞笟鍔″憳"
@@ -473,12 +504,21 @@
@click="edit('edit',row)"
/>
</el-tooltip>
- <el-tooltip v-del-tab-index class="item" effect="dark" content="璁㈠崟鍏抽棴" placement="top">
+ <el-tooltip v-del-tab-index class="item" effect="dark" :content="row.status!=='CLOSED'?'璁㈠崟鍏抽棴':'璁㈠崟鍚姩'" placement="top">
<i
+ v-if="row.status!=='CLOSED'"
class="el-icon-switch-button"
+ :style="{color:'red'}"
+ style="cursor: pointer;margin-left: 15px"
+ @click="orderClose(row)"
+ />
+
+ <i
+ v-if="row.status==='CLOSED'"
+ class="el-icon-thumb"
:style="{color:$store.state.settings.theme}"
style="cursor: pointer;margin-left: 15px"
- @click="orderClose(row.id)"
+ @click="orderOpen(row)"
/>
</el-tooltip>
@@ -519,26 +559,35 @@
>
<el-form ref="dialogForm" inline :rules="dialogFormRules" :model="dialogForm" label-width="106px">
<el-form-item label="璁㈠崟缂栧彿" prop="erpordercode">
- <el-input v-model="dialogForm.erpordercode" disabled style="width: 200px" />
+ <el-input v-model="dialogForm.erpordercode" disabled style="width: 200px"/>
</el-form-item>
<el-form-item label="浜у搧缂栫爜" prop="partcode">
- <el-input v-model="dialogForm.partcode" disabled style="width: 200px" />
+ <el-input v-model="dialogForm.partcode" disabled style="width: 200px"/>
</el-form-item>
<el-form-item label="浜у搧鍚嶇О" prop="partname">
- <el-input v-model="dialogForm.partname" disabled style="width: 200px" />
+ <el-input v-model="dialogForm.partname" disabled style="width: 200px"/>
</el-form-item>
<el-form-item label="浜у搧瑙勬牸" prop="partspec">
- <el-input v-model="dialogForm.partspec" disabled style="width: 200px" />
+ <el-input v-model="dialogForm.partspec" disabled style="width: 200px"/>
</el-form-item>
+
+ <el-form-item label="椤剁骇鐗╂枡缂栫爜" prop="TopInventoryCode">
+ <el-input v-model="dialogForm.TopInventoryCode" disabled style="width: 200px"/>
+ </el-form-item>
+
+ <el-form-item label="椤剁骇鐗╂枡鍚嶇О" prop="TopInventoryName">
+ <el-input v-model="dialogForm.TopInventoryName" disabled style="width: 200px"/>
+ </el-form-item>
+
<el-form-item label="鐢熶骇杞﹂棿" prop="wkshopname">
- <el-input v-model="dialogForm.wkshopname" disabled style="width: 200px" />
+ <el-input v-model="dialogForm.wkshopname" disabled style="width: 200px"/>
</el-form-item>
<el-form-item label="鎵�灞炰粨搴�" prop="warehousename">
- <el-input v-model="dialogForm.warehousename" disabled style="width: 200px" />
+ <el-input v-model="dialogForm.warehousename" disabled style="width: 200px"/>
</el-form-item>
<el-form-item label="璁㈠崟鏁伴噺" prop="erpqty">
- <el-input v-model="dialogForm.erpqty" disabled style="width: 200px" />
+ <el-input v-model="dialogForm.erpqty" disabled style="width: 200px"/>
</el-form-item>
<el-form-item label="宸蹭笅鍗曟暟" prop="relse_qty">
<el-input
@@ -636,7 +685,7 @@
<script>
import Pagination from '@/components/Pagination'
-import { handleDatetime } from '@/utils/global'
+import {handleDatetime} from '@/utils/global'
import elDragDialog from '@/directive/el-drag-dialog'
import waves from '@/directive/waves'
import {
@@ -644,10 +693,10 @@
DeleteErpOrder,
ErpOrderSearch,
MarkBatchSaveErpOrder,
- MarkSaveErpOrder
+ MarkSaveErpOrder, ReverseClosedErpOrder
} from '@/api/WorkOrder'
-import { SeaveSearchErpOrder } from '@/api/ErpSyncMes'
-import { PrentOrganizationNoCompany } from '@/api/GeneralBasicData'
+import {SeaveSearchErpOrder} from '@/api/ErpSyncMes'
+import {PrentOrganizationNoCompany} from '@/api/GeneralBasicData'
import DateType from '@/components/DateType'
const SER_HZ = /^[\u4e00-\u9fa5]+$/
@@ -656,7 +705,7 @@
components: {
Pagination, DateType
},
- directives: { elDragDialog, waves },
+ directives: {elDragDialog, waves},
data() {
const validateName = (rule, value, callback) => {
if (!value) {
@@ -698,10 +747,10 @@
},
erporderstusArr: [
- { code: 'NEW', name: '鏂拌鍗�' },
- { code: 'CREATING', name: '閮ㄥ垎涓嬭揪' },
- { code: 'CREATED', name: '鍏ㄩ儴涓嬭揪' },
- { code: 'CLOSED', name: '宸插叧闂�' }
+ {code: 'NEW', name: '鏂拌鍗�'},
+ {code: 'CREATING', name: '閮ㄥ垎涓嬭揪'},
+ {code: 'CREATED', name: '鍏ㄩ儴涓嬭揪'},
+ {code: 'CLOSED', name: '宸插叧闂�'}
],
wkshopcodeArr: [],
total: 10,
@@ -729,6 +778,10 @@
ordernum: '', // 涓嬪崟鍗曟暟
relse_qty: '', // 宸蹭笅鍗曟暟閲�
+ idTopInventory: '', // 椤剁骇鐗╂枡id
+ TopInventoryCode: '', // 椤剁骇鐗╂枡缂栫爜
+ TopInventoryName: '', // 椤剁骇鐗╂枡鍚嶇О
+
clerkuser: '', // 閿�鍞笟鍔″憳
saleOrderDeliveryDate: '', // 棰勮浜や粯鏃ユ湡
@@ -745,13 +798,13 @@
// { required: true, validator: validateName, trigger: ['blur', 'change'] }
// ],
markqty: [
- { required: true, message: '璇疯緭鍏ヤ笅鍗曟暟閲�', trigger: ['blur', 'change'] }
+ {required: true, message: '璇疯緭鍏ヤ笅鍗曟暟閲�', trigger: ['blur', 'change']}
],
ordernum: [
- { required: true, message: '璇疯緭鍏ヤ笅鍗曞崟鏁�', trigger: ['blur', 'change'] }
+ {required: true, message: '璇疯緭鍏ヤ笅鍗曞崟鏁�', trigger: ['blur', 'change']}
],
saleOrderDeliveryDate: [
- { required: true, message: '璇烽�夋嫨棰勮浜や粯鏃ユ湡', trigger: ['blur', 'change'] }
+ {required: true, message: '璇烽�夋嫨棰勮浜や粯鏃ユ湡', trigger: ['blur', 'change']}
]
},
@@ -804,7 +857,7 @@
},
async getPrentOrganizationNoCompany() {
- const { data: res } = await PrentOrganizationNoCompany()
+ const {data: res} = await PrentOrganizationNoCompany()
this.wkshopcodeArr = res
},
async getErpOrderSearch() {
@@ -853,7 +906,7 @@
this.total = res.count
},
// 鎺掑簭鏀瑰彉鏃�
- sortChange({ column, prop, order }) {
+ sortChange({column, prop, order}) {
if (order === 'descending') {
order = 'desc'
} else if (order === 'ascending') {
@@ -939,7 +992,7 @@
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
- DeleteErpOrder({ erpordercode: item.wo, erporderid: id }).then(res => {
+ DeleteErpOrder({erpordercode: item.wo, erporderid: id}).then(res => {
if (res.code === '200') {
this.$message.success('璁㈠崟鍒犻櫎鎴愬姛!')
this.getErpOrderSearch()
@@ -953,28 +1006,41 @@
})
},
// 璁㈠崟鍏抽棴
- async orderClose(id) {
- this.tableData.forEach(item => {
- if (item.id === id) {
- if (item.status !== 'NEW') {
- return this.$message.info('姝よ鍗曢潪鏂拌鍗曪紝鏃犳硶鍏抽棴锛�')
- } else {
- this.$confirm('鏄惁纭鍏抽棴璁㈠崟?', '鎻愮ず', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- }).then(() => {
- ClosedErpOrder({ erpordercode: item.wo, erporderid: id }).then(res => {
- if (res.code === '200') {
- this.$message.success('璁㈠崟鍏抽棴鎴愬姛!')
- this.getErpOrderSearch()
- }
- })
- }).catch(() => {
- this.$message.info('宸插彇娑堝叧闂紒')
- })
+ async orderClose(row) {
+ if (row.status !== 'NEW') {
+ return this.$message.info('姝よ鍗曢潪鏂拌鍗曪紝鏃犳硶鍏抽棴锛�')
+ } else {
+ this.$confirm('鏄惁纭鍏抽棴璁㈠崟?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ ClosedErpOrder({erpordercode: row.wo, erporderid: row.id}).then(res => {
+ if (res.code === '200') {
+ this.$message.success('璁㈠崟鍏抽棴鎴愬姛!')
+ this.getErpOrderSearch()
+ }
+ })
+ }).catch(() => {
+ this.$message.info('宸插彇娑堝叧闂紒')
+ })
+ }
+ },
+ // 璁㈠崟寮�鍚�
+ async orderOpen(row) {
+ this.$confirm('鏄惁纭鍚姩璁㈠崟锛岃璁㈠崟涓嬬殑鎵�鏈夊伐鍗曞皢浼氬紑鍚紒', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ ReverseClosedErpOrder({erpordercode: row.wo, erporderid: row.id}).then(res => {
+ if (res.code === '200') {
+ this.$message.success('璁㈠崟鍚姩鎴愬姛!')
+ this.getErpOrderSearch()
}
- }
+ })
+ }).catch(() => {
+ this.$message.info('宸插彇娑堝叧闂紒')
})
},
batchHandle() {
@@ -1065,6 +1131,11 @@
this.dialogForm.markqty = parseFloat(row.qty) - parseFloat(row.relse_qty)
this.dialogForm.ordernum = 1
this.dialogForm.relse_qty = row.relse_qty
+
+ this.dialogForm.idTopInventory = row.idTopInventory
+ this.dialogForm.TopInventoryCode = row.TopInventoryCode
+ this.dialogForm.TopInventoryName = row.TopInventoryName
+
this.dialogForm.clerkuser = row.clerkuser
this.dialogForm.paystartdate = row.planstartdate
@@ -1093,6 +1164,10 @@
markqty: '', // 涓嬪崟鏁伴噺
ordernum: '', // 涓嬪崟鍗曟暟
relse_qty: '', // 宸蹭笅鍗曟暟閲�
+
+ idTopInventory: '', // 椤剁骇鐗╂枡id
+ TopInventoryCode: '', // 椤剁骇鐗╂枡缂栫爜
+ TopInventoryName: '', // 椤剁骇鐗╂枡鍚嶇О
payenddate: '', // 棰勮瀹屽伐鏃ユ湡
paystartdate: '', // 棰勮寮�宸ユ棩鏈�
@@ -1130,6 +1205,11 @@
'partcode': this.dialogForm.partcode,
'wkshopcode': this.dialogForm.wkshopcode,
'warehousecode': this.dialogForm.warehousecode,
+
+ 'idTopInventory': this.dialogForm.idTopInventory,
+ 'TopInventoryCode': this.dialogForm.TopInventoryCode,
+ 'TopInventoryName': this.dialogForm.TopInventoryName,
+
'clerkuser': this.dialogForm.clerkuser,
'erpqty': this.dialogForm.erpqty,
'markqty': this.dialogForm.markqty,
@@ -1162,11 +1242,11 @@
this.$refs.tableDataRef.doLayout()
})
},
- tableRowClassName({ row, rowIndex }) {
+ tableRowClassName({row, rowIndex}) {
return 'custom-row'
},
getSummaries(param) {
- const { columns, data } = param
+ const {columns, data} = param
const sums = []
const i = 7
columns.forEach((column, index) => {
@@ -1363,12 +1443,13 @@
padding: 10px 10px 0 10px;
}
-.statusItem{
+.statusItem {
margin-left: 20px;
cursor: pointer;
color: #a7a7a7;
}
-.statusItemLight{
+
+.statusItemLight {
font-weight: bolder;
color: #42b983;
}
diff --git a/src/views/workOrder/workOrderClose.vue b/src/views/workOrder/workOrderClose.vue
index 1231d45..860b9ce 100644
--- a/src/views/workOrder/workOrderClose.vue
+++ b/src/views/workOrder/workOrderClose.vue
@@ -3,7 +3,8 @@
<div class="body" :style="{height:mainHeight+'px'}">
<div class="bodyTopButtonGroup">
- <el-button v-waves icon="el-icon-switch-button" type="success" @click="orderClose()">宸ュ崟鍏抽棴</el-button>
+ <el-button v-waves icon="el-icon-switch-button" type="danger" @click="orderClose()">宸ュ崟鍏抽棴</el-button>
+ <el-button v-waves icon="el-icon-thumb" type="success" @click="orderOpen()">宸ュ崟鍚姩</el-button>
</div>
<div class="bodyTopFormGroup">
@@ -49,13 +50,13 @@
</el-select>
</el-form-item>
<el-form-item label="宸ュ崟缂栧彿" style=" display: flex;">
- <el-input v-model="form.mesordercode" placeholder="璇疯緭鍏�" style="width: 200px" />
+ <el-input v-model="form.mesordercode" placeholder="璇疯緭鍏�" style="width: 200px"/>
</el-form-item>
<el-form-item label="婧愬崟鍗曞彿" style="display: flex;">
- <el-input v-model="form.sourceorder" style="width: 200px" placeholder="璇疯緭鍏�" />
+ <el-input v-model="form.sourceorder" style="width: 200px" placeholder="璇疯緭鍏�"/>
</el-form-item>
<el-form-item v-show="isExpandForm" label="閿�鍞鍗�" style="display: flex;">
- <el-input v-model="form.saleordercode" style="width: 200px" placeholder="璇疯緭鍏�" />
+ <el-input v-model="form.saleordercode" style="width: 200px" placeholder="璇疯緭鍏�"/>
</el-form-item>
<el-form-item v-show="isExpandForm" label="鍗曟嵁绫诲瀷" style=" display: flex;">
<el-select
@@ -74,16 +75,16 @@
</el-select>
</el-form-item>
<el-form-item v-show="isExpandForm" label="浜у搧缂栫爜" style=" display: flex;">
- <el-input v-model="form.partcode" style="width: 200px" placeholder="璇疯緭鍏�" />
+ <el-input v-model="form.partcode" style="width: 200px" placeholder="璇疯緭鍏�"/>
</el-form-item>
<el-form-item v-show="isExpandForm" label="浜у搧鍚嶇О" style=" display: flex;">
- <el-input v-model="form.partname" style="width: 200px" placeholder="璇疯緭鍏�" />
+ <el-input v-model="form.partname" style="width: 200px" placeholder="璇疯緭鍏�"/>
</el-form-item>
<el-form-item v-show="isExpandForm" label="浜у搧瑙勬牸" style=" display: flex;">
- <el-input v-model="form.partspec" style="width: 200px" placeholder="璇疯緭鍏�" />
+ <el-input v-model="form.partspec" style="width: 200px" placeholder="璇疯緭鍏�"/>
</el-form-item>
<el-form-item v-show="isExpandForm" label="鍒涘缓浜哄憳" style=" display: flex;">
- <el-input v-model="form.creatuser" style="width: 200px" placeholder="璇疯緭鍏�" />
+ <el-input v-model="form.creatuser" style="width: 200px" placeholder="璇疯緭鍏�"/>
</el-form-item>
<el-form-item v-show="isExpandForm" label="鍒涘缓鏃堕棿" style=" display: flex;">
<!-- <el-date-picker-->
@@ -154,8 +155,8 @@
<el-table-column
type="selection"
width="50"
- :selectable="selected"
/>
+<!-- :selectable="selected"-->
<el-table-column
prop="rowNum"
width="50"
@@ -202,7 +203,7 @@
</el-table-column>
<el-table-column
prop="saleOrderCode"
- label="閿�鍞鍗�"
+ label="閿�鍞鍗�/棰勬祴鍗�"
sortable="custom"
show-tooltip-when-overflow
min-width="160"
@@ -258,66 +259,66 @@
show-tooltip-when-overflow
width="100"
/>
-<!-- <el-table-column-->
-<!-- prop="priuserdefnvc1"-->
-<!-- label="瀹㈡埛鍚嶇О"-->
-<!-- width="110"-->
-<!-- sortable="custom"-->
-<!-- >-->
-<!-- <template slot-scope="{row}">-->
-<!-- {{ row.priuserdefnvc1 ? row.priuserdefnvc1 : '/' }}-->
-<!-- </template>-->
-<!-- </el-table-column>-->
-<!-- <el-table-column-->
-<!-- prop="priuserdefnvc6"-->
-<!-- label="瀹㈡埛缂栫爜"-->
-<!-- width="110"-->
-<!-- sortable="custom"-->
-<!-- >-->
-<!-- <template slot-scope="{row}">-->
-<!-- {{ row.priuserdefnvc6 ? row.priuserdefnvc6 : '/' }}-->
-<!-- </template>-->
-<!-- </el-table-column>-->
-<!-- <el-table-column-->
-<!-- prop="priuserdefnvc2"-->
-<!-- label="瀵瑰唴鍚嶇О"-->
-<!-- width="110"-->
-<!-- sortable="custom"-->
-<!-- >-->
-<!-- <template slot-scope="{row}">-->
-<!-- {{ row.priuserdefnvc2 ? row.priuserdefnvc2 : '/' }}-->
-<!-- </template>-->
-<!-- </el-table-column>-->
-<!-- <el-table-column-->
-<!-- prop="priuserdefnvc3"-->
-<!-- label="CTP鏃ユ湡"-->
-<!-- width="110"-->
-<!-- sortable="custom"-->
-<!-- >-->
-<!-- <template slot-scope="{row}">-->
-<!-- {{ row.priuserdefnvc3 ? row.priuserdefnvc3 : '/' }}-->
-<!-- </template>-->
-<!-- </el-table-column>-->
-<!-- <el-table-column-->
-<!-- prop="priuserdefnvc4"-->
-<!-- label="閽㈠垁缂栧彿"-->
-<!-- width="110"-->
-<!-- sortable="custom"-->
-<!-- >-->
-<!-- <template slot-scope="{row}">-->
-<!-- {{ row.priuserdefnvc4 ? row.priuserdefnvc4 : '/' }}-->
-<!-- </template>-->
-<!-- </el-table-column>-->
-<!-- <el-table-column-->
-<!-- prop="priuserdefnvc5"-->
-<!-- label="鐩掑瀷"-->
-<!-- width="110"-->
-<!-- sortable="custom"-->
-<!-- >-->
-<!-- <template slot-scope="{row}">-->
-<!-- {{ row.priuserdefnvc5 ? row.priuserdefnvc5 : '/' }}-->
-<!-- </template>-->
-<!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="priuserdefnvc1"-->
+ <!-- label="瀹㈡埛鍚嶇О"-->
+ <!-- width="110"-->
+ <!-- sortable="custom"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- {{ row.priuserdefnvc1 ? row.priuserdefnvc1 : '/' }}-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="priuserdefnvc6"-->
+ <!-- label="瀹㈡埛缂栫爜"-->
+ <!-- width="110"-->
+ <!-- sortable="custom"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- {{ row.priuserdefnvc6 ? row.priuserdefnvc6 : '/' }}-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="priuserdefnvc2"-->
+ <!-- label="瀵瑰唴鍚嶇О"-->
+ <!-- width="110"-->
+ <!-- sortable="custom"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- {{ row.priuserdefnvc2 ? row.priuserdefnvc2 : '/' }}-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="priuserdefnvc3"-->
+ <!-- label="CTP鏃ユ湡"-->
+ <!-- width="110"-->
+ <!-- sortable="custom"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- {{ row.priuserdefnvc3 ? row.priuserdefnvc3 : '/' }}-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="priuserdefnvc4"-->
+ <!-- label="閽㈠垁缂栧彿"-->
+ <!-- width="110"-->
+ <!-- sortable="custom"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- {{ row.priuserdefnvc4 ? row.priuserdefnvc4 : '/' }}-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="priuserdefnvc5"-->
+ <!-- label="鐩掑瀷"-->
+ <!-- width="110"-->
+ <!-- sortable="custom"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- {{ row.priuserdefnvc5 ? row.priuserdefnvc5 : '/' }}-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
<el-table-column
prop="wkshp_name"
label="鐢熶骇杞﹂棿"
@@ -405,12 +406,20 @@
/>
</el-tooltip>
- <el-tooltip class="item" effect="dark" content="宸ュ崟鍏抽棴" placement="top">
+ <el-tooltip class="item" effect="dark" :content="row.status!=='CLOSED'?'宸ュ崟鍏抽棴':'宸ュ崟鍚姩'" placement="top">
<i
+ v-if="row.status!=='CLOSED'"
class="el-icon-switch-button"
style="cursor: pointer;margin-left: 15px"
- :style="{color:$store.state.settings.theme}"
+ :style="{color:'red'}"
@click.stop="orderClose(row)"
+ />
+ <i
+ v-if="row.status==='CLOSED'"
+ class="el-icon-thumb"
+ style="cursor: pointer;margin-left: 15px"
+ :style="{color:$store.state.settings.theme}"
+ @click.stop="orderOpen(row)"
/>
</el-tooltip>
@@ -589,7 +598,7 @@
<el-form-item label="宸ュ崟缂栧彿" prop="mesordercode">
<!-- <el-input v-model="dialogForm.mesordercode" :disabled="operation!=='add'" style="width: 200px" />-->
- <el-input v-model="dialogForm.mesordercode" disabled style="width: 200px" />
+ <el-input v-model="dialogForm.mesordercode" disabled style="width: 200px"/>
</el-form-item>
<!-- <div style="display: flex">-->
<el-form-item label="宸ュ崟绫诲瀷" prop="mesorderstus">
@@ -670,7 +679,7 @@
<!-- <el-input v-model="dialogForm.partcode" disabled style="width: 200px" />-->
<!-- </el-form-item>-->
<el-form-item label="浜у搧瑙勬牸" prop="partspec">
- <el-input v-model="dialogForm.partspec" disabled style="width: 200px" />
+ <el-input v-model="dialogForm.partspec" disabled style="width: 200px"/>
</el-form-item>
<!-- :disabled="dialogForm.partcode===''"-->
<el-form-item label="鎵�灞炶溅闂�" prop="wkshopcode">
@@ -1011,20 +1020,20 @@
</el-select>
</el-form-item>
<el-form-item label="宸ュ崟缂栧彿" style=" display: flex;">
- <el-input v-model="sourceForm.sourceorder" placeholder="璇疯緭鍏�" style="width: 200px" />
+ <el-input v-model="sourceForm.sourceorder" placeholder="璇疯緭鍏�" style="width: 200px"/>
</el-form-item>
<el-form-item label="浜у搧缂栫爜" style=" display: flex;">
- <el-input v-model="sourceForm.partcode" style="width: 200px" placeholder="璇疯緭鍏�" />
+ <el-input v-model="sourceForm.partcode" style="width: 200px" placeholder="璇疯緭鍏�"/>
</el-form-item>
<el-form-item v-show="isExpandDialog" label="浜у搧鍚嶇О" style=" display: flex;">
- <el-input v-model="sourceForm.partname" style="width: 200px" placeholder="璇疯緭鍏�" />
+ <el-input v-model="sourceForm.partname" style="width: 200px" placeholder="璇疯緭鍏�"/>
</el-form-item>
<el-form-item v-show="isExpandDialog" label="浜у搧瑙勬牸" style=" display: flex;">
- <el-input v-model="sourceForm.partspec" style="width: 200px" placeholder="璇疯緭鍏�" />
+ <el-input v-model="sourceForm.partspec" style="width: 200px" placeholder="璇疯緭鍏�"/>
</el-form-item>
<el-form-item v-show="isExpandDialog" label="鍒涘缓浜哄憳" style=" display: flex;">
- <el-input v-model="sourceForm.creatuser" style="width: 200px" placeholder="璇疯緭鍏�" />
+ <el-input v-model="sourceForm.creatuser" style="width: 200px" placeholder="璇疯緭鍏�"/>
</el-form-item>
<el-form-item
@@ -1348,9 +1357,9 @@
justify-content: center;
position: relative;"
>
- <div id="qrCode0" ref="qrCodeDiv0" />
+ <div id="qrCode0" ref="qrCodeDiv0"/>
</div>
- <div style="background-color: #fff;width: 20px;height:120px; position: absolute;right: 0" />
+ <div style="background-color: #fff;width: 20px;height:120px; position: absolute;right: 0"/>
<div
style="z-index: 10;background-color:transparent;width: 120px;height:120px; position: absolute;right: 21px"
/>
@@ -1381,7 +1390,7 @@
align="center"
>
<template slot-scope="{row}">
- <div :id="'qrCode'+row.seq" :ref="'qrCodeDiv'+row.seq" class="tableColumn" />
+ <div :id="'qrCode'+row.seq" :ref="'qrCodeDiv'+row.seq" class="tableColumn"/>
</template>
</el-table-column>
<el-table-column
@@ -1915,11 +1924,11 @@
@close="handleCloseRoute"
>
<div>
- <i class="el-icon-s-comment" style="color:#42b983;" /> 浜у搧鍚嶇О锛歿{ dialogFormRoute.projectName }}
+ <i class="el-icon-s-comment" style="color:#42b983;"/> 浜у搧鍚嶇О锛歿{ dialogFormRoute.projectName }}
</div>
- <el-divider />
+ <el-divider/>
<div style="margin-bottom: 10px">
- <i class="el-icon-s-operation" style="color:#42b983;" /> 宸ヨ壓璺嚎闆嗗悎
+ <i class="el-icon-s-operation" style="color:#42b983;"/> 宸ヨ壓璺嚎闆嗗悎
</div>
<div class="myCheckboxGroup">
@@ -1943,9 +1952,9 @@
</div>
</div>
- <el-divider />
+ <el-divider/>
<div>
- <i class="el-icon-s-operation" style="color:#42b983;" /> 榛樿宸ヨ壓璺嚎
+ <i class="el-icon-s-operation" style="color:#42b983;"/> 榛樿宸ヨ壓璺嚎
</div>
<div style="margin-top: 20px">
<el-select
@@ -1963,9 +1972,9 @@
/>
</el-select>
</div>
- <el-divider />
+ <el-divider/>
<div style="margin-bottom: 10px">
- <i class="el-icon-s-operation" style="color:#42b983;" /> 宸ュ簭鍒楄〃
+ <i class="el-icon-s-operation" style="color:#42b983;"/> 宸ュ簭鍒楄〃
</div>
<div style="overflow-y: scroll">
<el-table
@@ -2001,11 +2010,11 @@
>
<template slot-scope="{row}">
<div v-if="row.enable==='Y'">
- <svg-icon icon-class="circleYes" style="margin-right: 2px" />
+ <svg-icon icon-class="circleYes" style="margin-right: 2px"/>
鏄�
</div>
<div v-if="row.enable==='N'">
- <svg-icon icon-class="circleNo" style="margin-right: 2px" />
+ <svg-icon icon-class="circleNo" style="margin-right: 2px"/>
鍚�
</div>
</template>
@@ -2025,8 +2034,8 @@
<script>
import Pagination from '@/components/Pagination'
-import { handleDatetime, handleDatetime2, validateCode } from '@/utils/global'
-import { getCookie } from '@/utils/auth'
+import {handleDatetime, handleDatetime2, validateCode} from '@/utils/global'
+import {getCookie} from '@/utils/auth'
import QRCode from 'qrcodejs2'
import $ from 'jquery'
import elDragDialog from '@/directive/el-drag-dialog'
@@ -2036,20 +2045,20 @@
AddUpdateMesOrder, DeleteMesOrder,
MesBadOrderSearch, MesOrderDistribution,
MesOrderClosedSearch,
- UpdateMesOrderStepSearch, MesOrderBitchClosedSeave
+ UpdateMesOrderStepSearch, MesOrderBitchClosedSeave, MesOrderBitchReverseClosedSeave
} from '@/api/WorkOrder'
-import { PartSelect } from '@/api/ProductModel'
-import { PrentOrganization, PrentOrganizationNoCompany, StepData } from '@/api/GeneralBasicData'
+import {PartSelect} from '@/api/ProductModel'
+import {PrentOrganization, PrentOrganizationNoCompany, StepData} from '@/api/GeneralBasicData'
import Sortable from 'sortablejs'
import ElDragSelect from '@/components/DragSelect'
-import { MesOrderPrintSearch } from '@/api/GridReport' // base on element-ui
+import {MesOrderPrintSearch} from '@/api/GridReport' // base on element-ui
export default {
name: 'WorkOrderClose',
components: {
Pagination, ElDragSelect
},
- directives: { elDragDialog, waves },
+ directives: {elDragDialog, waves},
data() {
return {
mouseHoverType: 'mouseout',
@@ -2082,8 +2091,8 @@
// { code: 'CREATED', name: '宸插叧闂�' }
// { code: 'ALLO', name: '宸叉淳鍙�' }
// 宸插叧闂細CLOSED 鏈叧闂細NOCLOSED
- { code: 'NOCLOSED', name: '鏈叧闂�' },
- { code: 'CLOSED', name: '宸插叧闂�' }
+ {code: 'NOCLOSED', name: '鏈叧闂�'},
+ {code: 'CLOSED', name: '宸插叧闂�'}
// { code: 'NOSCHED', name: '寰呮帓绋�' },
// { code: 'SCHED', name: '宸叉帓绋�' }
],
@@ -2112,51 +2121,51 @@
mesmaxqty: 0// 宸ュ崟鐨勬渶澶у��
},
ordertypeArr: [// 宸ュ崟绫诲瀷
- { code: 'PO', name: '鏍囧噯宸ュ崟' },
- { code: 'FO', name: '鎶ュ簾琛ュ崟' }
+ {code: 'PO', name: '鏍囧噯宸ュ崟'},
+ {code: 'FO', name: '鎶ュ簾琛ュ崟'}
],
partArr: [], // 浜у搧淇℃伅
wkshopArr: [], // 鐢熶骇杞﹂棿鏁扮粍
routeArr: [], // 宸ヨ壓璺嚎鏁扮粍
orderlevArr: [
- { code: 1, name: '鐗圭骇' },
- { code: 2, name: '绱ф��' },
- { code: 3, name: '姝e父' }
+ {code: 1, name: '鐗圭骇'},
+ {code: 2, name: '绱ф��'},
+ {code: 3, name: '姝e父'}
], // 宸ュ崟绛夌骇鏁扮粍
operation: '',
dialogFormRules: {
mesorderstus: [
- { required: true, message: '璇烽�夋嫨璁㈠崟鐘舵��', trigger: ['blur', 'change'] }
+ {required: true, message: '璇烽�夋嫨璁㈠崟鐘舵��', trigger: ['blur', 'change']}
],
partcode: [
- { required: true, message: '璇烽�夋嫨浜у搧淇℃伅', trigger: ['blur', 'change'] }
+ {required: true, message: '璇烽�夋嫨浜у搧淇℃伅', trigger: ['blur', 'change']}
],
mesordercode: [
- { required: true, validator: validateCode, trigger: ['blur', 'change'] }
+ {required: true, validator: validateCode, trigger: ['blur', 'change']}
],
mesqty: [
- { required: true, message: '璇疯緭鍏ュ伐鍗曟暟閲�', trigger: ['blur', 'change'] }
+ {required: true, message: '璇疯緭鍏ュ伐鍗曟暟閲�', trigger: ['blur', 'change']}
],
wkshopcode: [
- { required: true, message: '璇烽�夋嫨鐢熶骇杞﹂棿', trigger: ['blur', 'change'] }
+ {required: true, message: '璇烽�夋嫨鐢熶骇杞﹂棿', trigger: ['blur', 'change']}
],
deliverydate: [
- { required: true, message: '璇烽�夋嫨棰勮浜や粯鏃ユ湡', trigger: ['blur', 'change'] }
+ {required: true, message: '璇烽�夋嫨棰勮浜や粯鏃ユ湡', trigger: ['blur', 'change']}
],
planstartdate: [
- { required: true, message: '璇烽�夋嫨寮�濮嬫椂闂�', trigger: ['blur', 'change'] }
+ {required: true, message: '璇烽�夋嫨寮�濮嬫椂闂�', trigger: ['blur', 'change']}
],
planenddate: [
- { required: true, message: '璇烽�夋嫨缁撴潫鏃堕棿', trigger: ['blur', 'change'] }
+ {required: true, message: '璇烽�夋嫨缁撴潫鏃堕棿', trigger: ['blur', 'change']}
],
orderlev: [
- { required: true, message: '璇烽�夋嫨宸ュ崟绛夌骇', trigger: ['blur', 'change'] }
+ {required: true, message: '璇烽�夋嫨宸ュ崟绛夌骇', trigger: ['blur', 'change']}
],
isAps: [
- { required: true, message: '璇烽�夋嫨鏄惁鎺掔▼', trigger: ['blur', 'change'] }
+ {required: true, message: '璇烽�夋嫨鏄惁鎺掔▼', trigger: ['blur', 'change']}
],
bomId: [
- { required: true, message: '璇烽�夋嫨鐗╂枡娓呭崟', trigger: ['blur', 'change'] }
+ {required: true, message: '璇烽�夋嫨鐗╂枡娓呭崟', trigger: ['blur', 'change']}
]
},
@@ -2266,9 +2275,9 @@
tableDataDetail: [], // 鐐瑰嚮宸ュ崟琛ㄧ殑琛� 鏄剧ず璇︾粏淇℃伅
printSize: 0,
printSizeSelectArr: [// 瀹�*楂�
- { code: 0, name: '80*50' },
- { code: 1, name: '78*60' },
- { code: 2, name: '60*40' }
+ {code: 0, name: '80*50'},
+ {code: 1, name: '78*60'},
+ {code: 2, name: '60*40'}
// { code: 2, name: '50*60' },
// { code: 3, name: '50*40' },
// { code: 4, name: '50*80' },
@@ -2299,7 +2308,7 @@
watch: {
'stepSelectedValue': {
// deep: true,
- handler: function(val) {
+ handler: function (val) {
// do something with the new and old value of stepSelectedValue
console.log(val, 1)
const arr = JSON.parse(JSON.stringify(this.stepTableData))
@@ -2338,7 +2347,7 @@
const el = this.$refs.stepTableDataRef.$el.querySelectorAll('.el-table__body-wrapper > table > tbody')[0]
this.sortable = Sortable.create(el, {
ghostClass: 'sortable-ghost', // Class name for the drop placeholder,
- setData: function(dataTransfer) {
+ setData: function (dataTransfer) {
// to avoid Firefox bug
// Detail see : https://github.com/RubaXa/Sortable/issues/1012
dataTransfer.setData('Text', '')
@@ -2354,7 +2363,7 @@
}
})
},
- tableRowClassName({ row, rowIndex }) {
+ tableRowClassName({row, rowIndex}) {
return 'custom-row'
},
handleRequest() {
@@ -2366,7 +2375,7 @@
})
},
async getPrentOrganizationNoCompany() {
- const { data: res } = await PrentOrganizationNoCompany()
+ const {data: res} = await PrentOrganizationNoCompany()
this.wkshopcodeArr = res
},
async getMesOrderClosedSearch() {
@@ -2397,19 +2406,19 @@
this.total = res.count
// this.form.createdate = tempDate
- return { code: res.code }
+ return {code: res.code}
},
async getSelect() {
// 鑾峰彇浜у搧淇℃伅
- const { data: res1 } = await PartSelect()
+ const {data: res1} = await PartSelect()
this.partArr = res1
// 鑾峰彇缁勭粐
- const { data: res2 } = await PrentOrganization()
+ const {data: res2} = await PrentOrganization()
this.wkshopArr = res2
// 鑾峰彇宸ュ簭
- const { data: res3 } = await StepData()
+ const {data: res3} = await StepData()
this.stepSelectArr = res3
},
// 璁㈠崟鐘舵�佹敼鍙樻椂
@@ -2417,7 +2426,7 @@
this.form.mesorderstus = val
},
// 鎺掑簭鏀瑰彉鏃�
- sortChange({ column, prop, order }) {
+ sortChange({column, prop, order}) {
if (order === 'descending') {
order = 'desc'
} else if (order === 'ascending') {
@@ -2429,7 +2438,7 @@
this.form.prop = prop
this.getMesOrderClosedSearch()
},
- sourceSortChange({ column, prop, order }) {
+ sourceSortChange({column, prop, order}) {
if (order === 'descending') {
order = 'desc'
} else if (order === 'ascending') {
@@ -2463,7 +2472,7 @@
},
// 鏂板鎸夐挳
async add(operation) {
- const { data: res } = await AddMesOrderCodeSearch()
+ const {data: res} = await AddMesOrderCodeSearch()
this.dialogForm.mesordercode = res
this.operation = operation
this.dialogVisible = true
@@ -2488,7 +2497,8 @@
this.dialogVisibleTask = false
},
handleSelectionChange(val) {
- this.multipleSelection = val.map(i => i.wo_code)
+ // this.multipleSelection = val.map(i => i.wo_code)
+ this.multipleSelection = val
},
selected(row, index) {
@@ -2567,7 +2577,7 @@
wocode: this.dialogForm.mesordercode,
data_sources: this.dialogForm.data_sources
}
- const { data: res } = await UpdateMesOrderStepSearch(data)
+ const {data: res} = await UpdateMesOrderStepSearch(data)
this.dialogForm.mesmaxqty = res.canupdate_qty
this.stepTableData = res.stepdata
// res.stepdata.forEach(i => {
@@ -2585,17 +2595,47 @@
},
// 宸ュ崟鍏抽棴浜嬩欢
async orderClose(row) {
- this.$confirm('鏄惁纭鍒犻櫎?', '鎻愮ず', {
+ this.$confirm('鏄惁纭鍏抽棴?', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
- if (row) { // 琛屽叧闂伐鍗�
- this.multipleSelection = [row.wo_code]
+ let data = null
+ if (row) { // 琛屽惎鍔ㄥ伐鍗�
+ data = [row.wo_code]
+ } else {
+ data = this.multipleSelection.filter(i => i.status === 'CLOSED').map(i => i.wo_code)
}
- MesOrderBitchClosedSeave(this.multipleSelection).then(res => {
+ MesOrderBitchClosedSeave(data).then(res => {
if (res.code === '200') {
this.$notify.success('鍏抽棴鎴愬姛!')
+ // if (this.form.page > 1 && this.tableData.length === 1) {
+ // this.form.page--
+ // }
+ this.getMesOrderClosedSearch()
+ }
+ })
+ }).catch(() => {
+ this.$notify.info('宸插彇娑堝垹闄わ紒')
+ })
+ },
+ // 宸ュ崟鍚姩浜嬩欢
+ async orderOpen(row) {
+ this.$confirm('鏄惁纭鍚姩?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ let data = null
+ if (row) { // 琛屽惎鍔ㄥ伐鍗�
+ data = [row.wo_code]
+ } else {
+ data = this.multipleSelection.filter(i => i.status === 'CLOSED').map(i => i.wo_code)
+ }
+
+ MesOrderBitchReverseClosedSeave(data).then(res => {
+ if (res.code === '200') {
+ this.$notify.success('鍚姩鎴愬姛!')
// if (this.form.page > 1 && this.tableData.length === 1) {
// this.form.page--
// }
@@ -2735,7 +2775,7 @@
return this.$message.info('璇峰厛閫夋嫨宸ヨ壓璺嚎锛�')
}
this.dialogVisibleSearch = true
- const { data: res } = await SelectRouteStep({ routecode: this.dialogForm.routecode })
+ const {data: res} = await SelectRouteStep({routecode: this.dialogForm.routecode})
this.searchTableData = res
},
dialogVisibleSearchBack() {
@@ -2890,7 +2930,7 @@
},
// 琛ユ墦鐢熶骇鍏ュ簱鏉$爜
async getProductInHouseLabCode(ordercode) {
- const res = await ProductInHouseLabCode({ ordercode })
+ const res = await ProductInHouseLabCode({ordercode})
console.log(res)
this.isLastPrint = true
@@ -3051,7 +3091,7 @@
this.dialogFormRoute.projectCode = row.partcode
this.dialogFormRoute.projectName = row.partname
this.dialogVisibleRoute = true
- const { data: res } = await InventoryFileAssociationRoute({ partcode: this.dialogFormRoute.projectCode })
+ const {data: res} = await InventoryFileAssociationRoute({partcode: this.dialogFormRoute.projectCode})
this.dialogFormRoute.routeOperationArr = res
this.dialogFormRoute.routeOperationArr.forEach((item, index) => {
@@ -3093,7 +3133,7 @@
const data = []
this.dialogFormRoute.routeOperationArr.forEach(item => {
if (item.isSelected2) {
- data.push({ code: item.code, name: item.name })
+ data.push({code: item.code, name: item.name})
}
})
@@ -3136,7 +3176,7 @@
wocode: row.wo_code,
data_sources: row.data_sources
}
- const { data: res } = await UpdateMesOrderStepSearch(data)
+ const {data: res} = await UpdateMesOrderStepSearch(data)
this.tableDataDetail = res.stepdata
},
// 宸ュ簭鍒犻櫎
@@ -3157,10 +3197,10 @@
},
printMe2StylePadding(val) {
if (val === 0) {
- return { paddingLeft: '10px', paddingTop: '5px' }
+ return {paddingLeft: '10px', paddingTop: '5px'}
}
if (val === 5) {
- return { paddingLeft: '15px', paddingTop: '7px' }
+ return {paddingLeft: '15px', paddingTop: '7px'}
}
},
diff --git a/src/views/workOrder/workOrderList.vue b/src/views/workOrder/workOrderList.vue
index b1a0f01..ac63cd4 100644
--- a/src/views/workOrder/workOrderList.vue
+++ b/src/views/workOrder/workOrderList.vue
@@ -225,7 +225,7 @@
</el-table-column>
<el-table-column
prop="saleOrderCode"
- label="閿�鍞鍗�"
+ label="閿�鍞鍗�/棰勬祴鍗�"
sortable="custom"
show-tooltip-when-overflow
min-width="160"
@@ -288,7 +288,30 @@
<div v-else>/</div>
</template>
</el-table-column>
-
+ <el-table-column
+ prop="TopInventoryCode"
+ label="椤剁骇鐗╂枡缂栫爜"
+ sortable="custom"
+ show-tooltip-when-overflow
+ min-width="130"
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.TopInventoryCode">{{ row.TopInventoryCode }}</div>
+ <div v-else>/</div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="TopInventoryName"
+ label="椤剁骇鐗╂枡鍚嶇О"
+ sortable="custom"
+ show-tooltip-when-overflow
+ min-width="130"
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.TopInventoryName">{{ row.TopInventoryName }}</div>
+ <div v-else>/</div>
+ </template>
+ </el-table-column>
<el-table-column
prop="plan_qty"
label="宸ュ崟鏁�"
@@ -782,6 +805,14 @@
<!-- </el-form-item>-->
<el-form-item label="浜у搧瑙勬牸" prop="partspec">
<el-input v-model="dialogForm.partspec" disabled style="width: 200px" />
+ </el-form-item>
+
+ <el-form-item v-if="operation!=='add'" label="椤剁骇鐗╂枡缂栫爜" prop="TopInventoryCode">
+ <el-input v-model="dialogForm.TopInventoryCode" disabled style="width: 200px" />
+ </el-form-item>
+
+ <el-form-item v-if="operation!=='add'" label="椤剁骇鐗╂枡鍚嶇О" prop="TopInventoryName">
+ <el-input v-model="dialogForm.TopInventoryName" disabled style="width: 200px" />
</el-form-item>
<!-- :disabled="dialogForm.partcode===''"-->
@@ -1502,6 +1533,9 @@
<el-form-item label="浜у搧瑙勬牸:" class="formContent">
{{ formApprove.partspec }}
</el-form-item>
+ <el-form-item label="椤剁骇鐗╂枡:" class="formContent">
+ {{ formApprove.TopInventoryName }}
+ </el-form-item>
<el-form-item label="宸ュ崟鏁伴噺:" class="formContent">
{{ formApprove.plan_qty }}
</el-form-item>
@@ -1599,22 +1633,29 @@
<el-table-column
id="column4"
prop="good_qty"
- width="100"
+ width="60"
align="center"
- label="鍚堟牸鏁伴噺"
+ label="鍚堟牸"
/>
<el-table-column
id="column5"
- width="100"
+ width="60"
prop="ng_qty"
align="center"
- label="涓嶈壇鏁伴噺"
+ label="涓嶈壇"
/>
<el-table-column
id="column6"
prop="desc"
align="center"
- width="120"
+ width="100"
+ label="妫�楠屽憳"
+ />
+ <el-table-column
+ id="column6"
+ prop="desc"
+ align="center"
+ width="100"
label="澶囨敞"
/>
</el-table>
@@ -2770,7 +2811,9 @@
deliverydate: '', // 浜や粯鏃堕棿
data_sources: '', // 鏁版嵁鏉ユ簮
-
+ idTopInventory: '', // 椤剁骇鐗╂枡id
+ TopInventoryCode: '', // 椤剁骇鐗╂枡缂栫爜
+ TopInventoryName: '', // 椤剁骇鐗╂枡鍚嶇О
routecode: '', // 宸ヨ壓璺嚎
mesmaxqty: 0, // 宸ュ崟鐨勬渶澶у��
@@ -2863,6 +2906,7 @@
partname: '',
partspec: '',
plan_qty: '',
+ TopInventoryName: '',
routename: '',
lm_date: '',
priuserdefnvc1: '',
@@ -3660,6 +3704,9 @@
this.dialogForm.routecode = row.route_code
this.dialogForm.deliverydate = row.saleOrderDeliveryDate.substring(0, 11)
this.dialogForm.mesqty = row.plan_qty
+ this.dialogForm.TopInventoryCode = row.TopInventoryCode
+ this.dialogForm.TopInventoryName = row.TopInventoryName
+ this.dialogForm.idTopInventory = row.idTopInventory
this.dialogForm.mesqtyinit = row.plan_qty
@@ -3872,7 +3919,9 @@
mesqty: '', // 宸ュ崟鏁伴噺
wkshopcode: '', // 鐢熶骇杞﹂棿缂栫爜
wkshopname: '', // 鐢熶骇杞﹂棿鍚嶇О
-
+ idTopInventory: '', // 椤剁骇鐗╂枡id
+ TopInventoryCode: '', // 椤剁骇鐗╂枡缂栫爜
+ TopInventoryName: '', // 椤剁骇鐗╂枡鍚嶇О
deliverydate: '', // 浜や粯鏃堕棿
data_sources: '' // 鏁版嵁鏉ユ簮
}
@@ -4028,6 +4077,8 @@
this.formApprove.priuserdefnvc5 = row.priuserdefnvc5 ? row.priuserdefnvc5 : '/'
this.formApprove.priuserdefnvc6 = row.priuserdefnvc6 ? row.priuserdefnvc6 : '/'
+ this.formApprove.TopInventoryName = row.TopInventoryName || '/'
+
this.formApprove.saleOrderCode = this.formApprove.saleOrderCode !== '' ? this.formApprove.saleOrderCode : saleOrderCode
const data2 = {
mesordercode: wo_code || this.dialogForm.mesordercode
@@ -4138,7 +4189,7 @@
this.formApprove.plan_qty = ''
this.formApprove.routename = ''
this.formApprove.lm_date = ''
-
+ this.formApprove.TopInventoryName = ''
this.formApprove.priuserdefnvc1 = ''
this.formApprove.priuserdefnvc2 = ''
this.formApprove.priuserdefnvc3 = ''
diff --git a/src/views/workOrder/workOrderSend.vue b/src/views/workOrder/workOrderSend.vue
index 66b444f..15f28f9 100644
--- a/src/views/workOrder/workOrderSend.vue
+++ b/src/views/workOrder/workOrderSend.vue
@@ -209,7 +209,7 @@
</el-table-column>
<el-table-column
prop="saleOrderCode"
- label="閿�鍞鍗�"
+ label="閿�鍞鍗�/棰勬祴鍗�"
sortable="custom"
show-tooltip-when-overflow
min-width="160"
diff --git a/vue.config.js b/vue.config.js
index 097cd04..bb357bb 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -52,7 +52,7 @@
},
proxy: {
[process.env.VUE_APP_BASE_API]: {
- target: 'http://121.196.36.24:8042', // 鏈湴
+ target: 'http://121.196.36.24:8048', // 鏈湴
// target: 'http://192.168.1.21:9000', // 闃块瞾鍏嬶紙鏂帮級
changeOrigin: true, // 璇锋眰璺ㄥ煙鏃讹紝闇� 閰嶇疆姝ら」
pathRewrite: { // 璺緞閲嶅啓,鏇挎崲target涓殑璇锋眰鍦板潃
--
Gitblit v1.9.3