zhao
2021-06-11 98186752629a7bd38965418af84db382d90b9c07
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
@{
    Layout = "~/Views/Shared/_LayoutVue.cshtml";
    ViewBag.Title = "工单管理";
}@section head{
    <link href="~/js/Vue/split-pane/split-pane.css" rel="stylesheet" />
    <link href="~/js/Vue/split-pane/pretty-split-pane.css" rel="stylesheet" />
}
<div id="inOrderlist" v-cloak>
    <el-card class="box-card">
        <el-form label-width="120px" v-bind:model="formData" class="demo-ruleForm" v-bind:inline="true">
            <el-form-item label="@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_workorder_manager_work_order_no"):">
                <el-input v-model="formData.CN_S_WO_NO" size="mini"></el-input>
            </el-form-item>
            <el-form-item label="@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_workorder_manager_production_line"):">
                <hh-select-url v-model="formData.CN_S_LINE" url="/Basic/Common/GetDictionary?dictName=生产线"
                               valuefield="NAME"
                               textfield="NAME"></hh-select-url>
            </el-form-item>
            <el-form-item label="@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_workorder_manager_work_order_state"):">
                <hh-select-url v-model="formData.CN_S_STATUS" url="/Basic/Common/GetDictionary?dictName=工单状态"
                               valuefield="NAME"
                               textfield="NAME"></hh-select-url>
            </el-form-item>
            <el-form-item label="@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_workorder_manager_create_date"):" style="width:550px">
                <el-date-picker v-model="formData.CN_T_CREATE"
                                type="daterange"
                                align="right"
                                unlink-panels
                                range-separator="@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_public_constant_to")"
                                start-placeholder="@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_public_constant_start_date")"
                                end-placeholder="@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_public_constant_end_date")"
                                value-format="yyyy-MM-dd"
                                v-on:change="selectTime"
                                size="mini" style="width: 425px">
                </el-date-picker>
            </el-form-item>
            <el-button style="margin-top:2px;" size="mini" type="primary" v-on:click="search">@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_public_button_search")</el-button>
        </el-form>
        <el-row style="padding-left: 10px; margin-top: 7px;">
            <el-button size="mini" type="primary" v-on:click="add" v-has="'Add'">@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_public_button_add")</el-button>
            <el-button size="mini" type="primary" v-on:click="edit(false)" v-has="'Edit'">@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_public_button_edit")</el-button>
            <el-button size="mini" type="warning" v-on:click="submit" v-has="'Excute'">@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_public_button_excute_production")</el-button>
            <el-button size="mini" type="primary" v-on:click="complete" v-has="'QZ_Com'">@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_public_button_force_complete")</el-button>
            <el-button size="mini" type="success" v-on:click="edit(true)" v-has="'LookDetail'">@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_public_button_check")</el-button>
            <el-button size="mini" type="danger" v-on:click="del" v-has="'Detele'">@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_public_button_delete")</el-button>
        </el-row>
    </el-card>
 
    <hh-table v-bind:paging="true"
              v-bind:check="true"
              v-bind:single="true"
              dh="105"
              url="@Url.Action("GetInOrderList")"
              v-bind:coloptions="inOrderCols"
              v-bind:height="tableHeight"
              ref="inOrderlist"></hh-table>
 
 
</div>
@section scripts{
    <script src="~/js/Vue/split-pane/split-pane.js"></script>
    <script>
        var inOrderlist = new Vue({
            mixins: [useAutoHeight],
            data: {
                autoFrameHeight: 0,
                tableHeight: 0,
                tabHeight: 0,
                itemUrl: "",
                formData: {
                    CN_S_WO_NO: "",
                    CN_S_LINE: "",
                    CN_S_STATUS: "",
                    CN_T_CREATE: "",
                    valueDate: ""
                },
                inOrderCols: [
                { f: 'CN_S_WO_NO', n: '@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_workorder_manager_work_order_no")', w: "130" },
                { f: 'CN_S_LINE', n: '@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_workorder_manager_production_line")', w: "120" },
                { f: 'CN_S_STATUS', n: '@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_workorder_manager_work_order_state")', w: "130" },
                { f: 'CN_S_ITEM_CODE', n: '@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_workorder_manager_item_code")', w: "120" },
                { f: 'CN_S_ITEM_NAME', n: '@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_workorder_manager_item_name")', w: "140" },
                { f: 'CN_S_MODEL', n: '@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_workorder_manager_item_model")', w: "100" },
                { f: 'CN_S_PRODUCT_BATCH', n: '@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_workorder_manager_production_batch")', w: "130" },
                { f: 'CN_F_PLAN_QTY', n: '@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_workorder_manager_plan_production_qty")', w: "130" },
                { f: 'CN_F_REAL_QTY', n: '@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_workorder_manager_actual_product_qty")', w: "140" },
                //{ f: 'CN_S_CREATOR_BY', n: '创建人', w: "90" },
                { f: 'CN_T_CREATE', n: '@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_workorder_manager_create_date")', w: "150" }
                ],
                currentTitle: wms.currentTitle,
            },
            methods: {
                search: function () {
                    this.$refs.inOrderlist.loadData(this.formData);
                },
                add: function () {
                    var $this = this;
                    parent.tab.tabAdd({
                        title: '工单-新增',
                        href: '@Url.Action("InOrderEdit")?mainPage=' + $this.currentTitle
                    });
                },
                selectRowEvent: function (isSingle, callBack) {
                    var selectRow = this.$refs.inOrderlist.selections;
                    var row = null;
                    if (isSingle) {
                        if (selectRow.length != 1) {
                            wms.warning("请选择一条记录操作!");
                            return;
                        }
                        row = selectRow[0];
                    } else {
                        if (selectRow.length <= 0) {
                            wms.warning("请至少选择一条记录操作!");
                            return;
                        }
                        row = selectRow;
                    }
                    if (callBack)
                        callBack(row);
                },
                selectTime: function (val) {
                    $this = this;
                    if (val != null)
                        $this.formData.valueDate = JSON.stringify(val);
                    else
                        $this.formData.valueDate = "";
                },
                edit: function (read) {
                    var $this = this;
                    this.selectRowEvent(true, function (row) {
                        if (!read && (row.CN_S_STATUS != '新建')) {
                            wms.warning("请选择状态为<新建>的工单编辑!");
                            return;
                        }
                        var title = read ? '工单-查看' : '工单-编辑'
                        parent.tab.tabAdd({
                            title: title,
                            href: '@Url.Action("InOrderEdit")?mainPage=' + $this.currentTitle + '&woNo=' + row.CN_S_WO_NO + '&read=' + read
                        });
                    })
                },
                submit: function () {
                    var $this = this;
                    this.selectRowEvent(true, function (row) {
                        if (row.CN_S_STATUS != '新建') {
                            wms.warning("请选择状态为<新建>的工单执行生产!");
                            return;
                        }
                        wms.confirm("确认执行工单:" + row.CN_S_WO_NO + "?", function () {
                            ajaxManage({
                                url: "@Url.Action("SubmitInOrder")?woNo=" + row.CN_S_WO_NO,
                                success: function (data) {
                                    wms.showMsg(data, function () {
                                        wms.success("工单执行成功!");
                                        $this.$refs.inOrderlist.loadData();
                                    });
                                }
                            });
                        });
                    });
                },
                del: function () {
                    var $this = this;
                    this.selectRowEvent(true, function (row) {
                        if (row.CN_S_STATUS != '新建') {
                            wms.warning("请选择状态为<新建>的工单删除!");
                            return;
                        }
                        wms.confirm("确认删除工单:" + row.CN_S_WO_NO + "?", function () {
                            ajaxManage({
                                url: "@Url.Action("DeleteInOrder")?woNo=" + row.CN_S_WO_NO,
                                success: function (data) {
                                    wms.showMsg(data, function () {
                                        wms.success("工单删除成功!");
                                        $this.$refs.inOrderlist.loadData();
                                    });
                                }
                            });
                        });
                    });
                },
                complete: function () {
                    var $this = this;
                    this.selectRowEvent(true, function (row) {
                        if (row.CN_S_STATUS != '执行中') {
                            wms.warning("请选择状态为<执行中>的工单删除!");
                            return;
                        }
                        if (row.CN_S_STATUS == '强制完成') {
                            wms.warning("请不要重复强制完成此工单!");
                            return;
                        }
                        wms.confirm("确认强制完成工单:" + row.CN_S_WO_NO + "?", function () {
                            ajaxManage({
                                url: "@Url.Action("CompleteInOrder")?woNo=" + row.CN_S_WO_NO,
                                success: function (data) {
                                    wms.showMsg(data, function () {
                                        wms.success("强制完成成功!");
                                        $this.$refs.inOrderlist.loadData();
                                    });
                                }
                            });
                        });
                    });
                },
                resizeFrame: function (changePosition) {
                    if (!changePosition) {
                        //80是上面搜索条件的高度
                        this.autoFrameHeight = this.autoHeight - 80;
                        //var _h = this.autoFrameHeight / 2;
                        //上面占2/3 下面占1/3
                        var top = this.autoFrameHeight * (2 / 3);
                        var bottom = this.autoFrameHeight * (1 / 3);
 
                        $("#top-component").css("height", top + "px");
                        $("#my-divider").css("bottom", bottom + "px");
                        $("#bottom-component").css("height", bottom + "px");
                    }
 
                    var b = $("#bottom-component").height();
                    //这个3是固定的
                    inOrderlist.tabHeight = b - 3;
 
                    var t = $("#top-component").height();
                    //这个41是列表分页控件的高度,也是固定的
                    inOrderlist.tableHeight = this.autoFrameHeight - b - 100;
                }
            },
            el: '#inOrderlist',
            mounted: function () {
                var $this = this;
                this.$nextTick(function () {
                    $('div.split-pane').splitPane();
                    $("#my-divider").onPositionChanged(function () {
                        inOrderlist.resizeFrame(true);
                    }, 10);
                    $this.resizeFrame();
                    $(window).resize(function () {
                        $this.resizeFrame();
                    });
                });
 
                //console.log($this.$refs.inOrderlist);
 
                //document.getElementsByClassName('el-pagination__jump')[0].childNodes[0].nodeValue = "@HH.WMS.WebUI.LanService.LanServiceDll.translate("cshtml_public_pagination_jump_to")";
 
            },
        });
    </script>
}