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
@{
    ViewBag.Title = "盈亏统计";
    Layout = "~/Views/Shared/_LayoutVue.cshtml";
}
 
@section head
    {
    <style type="text/css">
        /*.block {
            text-align: right;
        }*/
        .el-table .warning-row {
            background: #ffc5c5;
        }
 
        .el-table .success-row {
            background: #c4ffc1;
        }
    </style>
 
}
<div id="inList" v-cloak>
    <el-card class="box-card">
        <el-form v-bind:model="formData" style="margin-top:5px;" label-width="85px" class="demo-ruleForm" v-bind:inline="true">
            @*<el-form-item label="盘点单号:">
                <el-input v-model="formData.opNo" readonly="readonly" size="mini"></el-input>
            </el-form-item>*@
            @*<el-form-item label="仓  库:">
                    <hh-select-url v-model="formData.CN_S_STOCK_CODE"
                                   v-bind:url="stockUrl"
                                   v-bind:disabled="readOnly"
                                   valuefield="CN_S_STOCK_CODE"
                                   textfield="CN_S_STOCK_NAME"
                                   datafield="Data"></hh-select-url>
                </el-form-item>*@
 
            @*<el-form-item label="库  区:">
                    <hh-select-url v-model="formData.CN_S_STOCK_AREA"
                                   v-bind:url="areaUrl"
                                   valuefield="CN_S_AREA_CODE"
                                   textfield="CN_S_AREA_NAME"
                                   datafield="Data"></hh-select-url>
                </el-form-item>*@
 
            @*<el-form-item label="物料编码:" prop="CN_S_ITEM_CODE">
                    <el-input v-model="formData.itemCode" onkeyup="this.value = this.value.replace(/\'|’|‘/g, '')" size="mini">
                        <i class="el-icon-more el-input__icon"
                           slot="suffix"
                           v-on:click="selectItem">
                        </i>
                    </el-input>
                </el-form-item>*@
 
            @*<el-button style="margin-top:2px;" size="mini" type="primary" v-on:click="search">查 询</el-button>*@
        </el-form>
        <el-row style="padding-left:10px;margin-top:7px;">
            <el-button size="mini" type="primary" v-on:click="checkconfirm">盘点确认</el-button>
            <el-button size="mini" type="primary" v-on:click="exportExecl">导 出</el-button>
 
        </el-row>
    </el-card>
    <hh-table v-bind:coloptions="checklistcols"
              v-bind:paging="true"
              v-bind:single="true"
              v-bind:url="'@Url.Action("CheckCounts")'"
              v-bind:where="formData"
              v-bind:check="false"
              v-on:clickrow="clickRow"
              v-bind:rowstyle="tableRowClassName"
              ref="checkmstlist"
              dh="120"></hh-table>
</div>
@section scripts{
    <script src="~/Content/js/linq.js_ver2.2.0.2/linq.js"></script>
    <script>
        new Vue({
            computed: {
                //areaUrl: function () {
                //    if (this.formData.CN_S_STOCK_CODE) {
                //        this.formData.CN_S_STOCK_AREA = "";
                //        return '/Basic/Common/AreaList?stockCode=' + this.formData.CN_S_STOCK_CODE + '&include=1';
                //    } else {
                //        this.formData.CN_S_STOCK_AREA = "";
                //    }
                //    return '';
                //},
                //stockUrl: function () {
                //    return '/Basic/Common/StockList';
                //}
            },
            data: {//数据
                formData: {
                    stockCode: "",
                    itemCode: "",
                    stockArea: "",
                    opNo: GetUrlParam("opNo"),
                },
                itemCols: [
                    { f: 'CN_S_ITEM_CODE', n: '物料编码', w: 200 },
                    { f: 'CN_S_ITEM_NAME', n: '物料名称', w: 240 },
                    { f: 'CN_S_MODEL', n: '规格型号', w: 240 },
                    { f: 'CN_S_FIGURE_NO', n: '图号', w: 240 },
                    { f: 'CN_C_IS_WARRNTY_PARTS', n: '是否质保件', w: 180 },
                    { f: 'CN_F_WARRNTY_PARTS', n: '质保期', w: 240 },
                    { f: 'CN_S_MEASURE_UNIT', n: '计量单位', w: 240 }
                ],
                currentTitle: parent.$(".layui-tab-title li[class='layui-this'] cite").text(),
                readOnly: false,
                checklistcols: []
            },
 
            methods: {//方法
                search: function () {
                    var $this = this;
                    //去除上引号
                    regEn = /\'|’|‘/g;
                    for (var n in $this.formData) {
                        if (regEn.test($this.formData[n])) {
                            $this.formData[n] = $this.formData[n].replace("'", '');
                        }
                    };
                    $this.$refs.checkmstlist.loadData($this.formData);
                },
                checkconfirm: function () {
                    var $this = this;
                    wms.confirm("确认统计", function () {
                        ajaxManage({
                            url: "@Url.Action("confirm")?opNo=" + $this.formData.opNo,
                            type:"GET",
                            traditional: true,
                            success: function (data) {
                                if (data.Success) {
                                    wms.success("盘点结束");
                                    parent.tab.tabDeleteRefresh($this.currentTitle, GetUrlParam("currentTitle"));
                                } else {
                                    wms.error(data.Msg);
                                }
                            }
                        });
                    });
                },
                selectItem: function () {
                    var $this = this;
                    wms.showDialogList({
                        title: '选择物料',
                        show: true,
                        itemCols: $this.itemCols,
                        condition: 'item',
                        url: '/Basic/Common/ItemList',
                        btnSure: function (checkedItems) {
                            $this.formData.CN_S_ITEM_CODE = checkedItems[0].CN_S_ITEM_CODE;
                        }
                    });
                },
                clickRow: function (row, event, column) {
                    @*var opNo = row.CN_S_OP_NO;
                    this.opNo = opNo;
                    this.dtlUrl = "@Url.Action("GetDataTableDtl")?opNo=" + opNo;
                    this.cklistUrl = "@Url.Action("GetDataTableCheckList")?opNo=" + opNo;*@
                },
                selectSingleRowEvent: function (callBack) {
                    var selectRow = this.$refs.checkmstlist.selections;
                    if (selectRow.length <= 0) {
                        wms.warning("请选择一条记录!");
                        return;
                    }
                    if (callBack)
                        callBack(selectRow[0]);
                },
                exportExecl: function () {
                    $this = this;
 
                    var selectRow = this.$refs.checkmstlist;
                    if (selectRow.length > 0) {
                        wms.warning("导出盘点单数据不能为空!");
                        return;
                    }
                    var v = { formData: this.formData, columns: $this.checklistcols };
                    ajaxManage({
                        url: "@Url.Action("ExportCheckListCount")",
                        data: JSON.stringify(v),
                        success: function (result) {
                            if (result.Success)
                                location.href = "/Basic/Common/GetFile?fileName=" + result.Data.fileName
                            else
                                wms.error(result.Msg);
                        }
                    });
                },
                tableRowClassName: function (data, rowIndex) {
                    if ((data.row.CN_F_CHECK_QTY - data.row.CN_F_QUANTITY )<0) {
                        return 'warning-row';
                    } else if ((data.row.CN_F_CHECK_QTY - data.row.CN_F_QUANTITY) > 0) {
                        return 'success-row';
                    }
                    return '';
                }
            },
            mounted: function () {
                var $this = this;
                $this.checklistcols = [
                    { f: "CN_S_ITEM_CODE", n: "物料编码", w: 150 },
                    { f: "CN_S_ITEM_NAME", n: "物料名称", w: 150 },
                    { f: "CN_S_MODEL", n: "规格型号", w: 150 },
                    { f: "CN_S_FIGURE_NO", n: "物料图号", w: 150 },
                    { f: "CN_S_STOCK_AREA", n: "库区名称", w: 80 },
                    { f: "CN_S_LOCATION_CODE", n: "货位编码", w: 120 },
                    { f: "CN_F_QUANTITY", n: "库存数量", w: 70 },
                    { f: "CN_F_CHECK_QTY", n: "盘点数量", w: 70 },
                    {
                        f: "BREAKQUANTITY", n: "盈亏数量", w: 70, format: function (row, column) {
                            return row.CN_F_CHECK_QTY - row.CN_F_QUANTITY;
                        }
                    },
                    { f: "CN_S_MEASURE_UNIT", n: "计量单位", w: 70 },
                    { f: "CN_S_MODIFY_BY", n: "盘点人", w: 70 },
                    { f: "CN_T_MODIFY", n: "盘点时间", w: 140 }
                ];
            },
            el: '#inList'
        });
    </script>
}