333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
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
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
<template>
  <div :ref="'settings'" class="settings-sub-container">
    <el-form ref="form" v-model="formData" label-width="350px">
      <h2 class="sub-title">出库作业配置</h2>
      <el-form-item label="允许参与分拣货位类型">
        <el-checkbox-group v-model="formData.PositionType">>
          <el-checkbox :label="1">常规货位</el-checkbox>
          <el-checkbox :label="2">残品货位</el-checkbox>
          <el-checkbox :label="4">收货位</el-checkbox>
          <el-checkbox :label="6">暂存货位</el-checkbox>
          <el-checkbox :label="7">虚拟货位</el-checkbox>
          <el-checkbox :label="8">次品货位</el-checkbox>
          <el-checkbox :label="12">高架货位</el-checkbox>
          <el-checkbox :label="13">存储货位</el-checkbox>
        </el-checkbox-group>
      </el-form-item>
      <el-form-item label="只允许有快递单号进入波次生成">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_onlyHasExpressCode"></el-switch>
      </el-form-item>
      <el-form-item label="只允许CIQ状态(海关状态)为放行的进入波次">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_onlyHasCiqStatus"></el-switch>
      </el-form-item>
      <el-form-item label="允许分拣状态为“部分分配”的订单生成波次">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_partSorting"></el-switch>
      </el-form-item>
      <el-form-item label="出库单分拣时不区分货主,跨货主分拣">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.sorting_crossConsignor"></el-switch>
      </el-form-item>
      <el-form-item label="出库单分拣时拆分整箱拣配单">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.sorting_isFullContainerLoad"></el-switch>
      </el-form-item>
      <el-form-item label="是否按集装箱分拣">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.sorting_IsContainerNo"></el-switch>
      </el-form-item>
      <el-form-item label="拆分订单同步增加转运数据">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_isToTransfer"></el-switch>
      </el-form-item>
      <el-form-item label="开启仓库分拣策略">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_openStorage_regular"></el-switch>
      </el-form-item>
      <el-form-item label="开启货主库区分拣策略">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_openStorageArea_regular"></el-switch>
      </el-form-item>
      <el-form-item label="指定时间禁止海外仓分拣">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_disabledRslSortingByTime"></el-switch>
      </el-form-item>
      <el-form-item label="分拣订单时启用停售提前时长">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_sorting_stopSaleday"></el-switch>
      </el-form-item>
      <el-form-item label="记录分配快递操作">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_allocateExpressCompany_record"></el-switch>
      </el-form-item>
      <el-form-item label="终止后推送库存">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_pushStorageAfterStop"></el-switch>
      </el-form-item>
      <el-form-item label="客户名称直接输入">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.sale_order_clientShortName"></el-switch>
      </el-form-item>
      <el-form-item label="分拣时货位顺序优先于入库时间">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.sorting_positionPriorIndate"></el-switch>
      </el-form-item>
      <el-form-item label="出库按照唯一码进行分拣">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.sorting_singleSignCode"></el-switch>
      </el-form-item>
 
      <h2 class="sub-title">无单扫描出库单设置</h2>
      <el-form-item label="无单扫描出库默认加载下架理货位">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.out_receivePosition"></el-switch>
      </el-form-item>
      <el-form-item label="无单扫描出库需要扫描批号">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.out_noBillScanBatchNumber"></el-switch>
      </el-form-item>
      <el-form-item label="自动加载货位和物料编号">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.out_noBillScanLoadPosition"></el-switch>
      </el-form-item>
 
      <h2 class="sub-title">出库单拣货设置</h2>
      <el-form-item label="显示拣货车码扫描">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.pick_cartCode"></el-switch>
      </el-form-item>
      <el-form-item label="显示拍号扫描">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.pick_plateCode"></el-switch>
      </el-form-item>
      <el-form-item label="出库拣货下架不提示确认">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.noPickingConfrim"></el-switch>
      </el-form-item>
 
      <h2 class="sub-title">出库单打包校验配置</h2>
      <el-form-item label="出库时同时校验订单号和快递单号">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.outer_outScanExpressAndOrder"></el-switch>
      </el-form-item>
      <el-form-item label="出库单打包校验时启用装箱操作">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.outer_caseNumber"></el-switch>
      </el-form-item>
      <el-form-item label="出库单打包校验时启用包材条码">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.outer_wrapperBarcode"></el-switch>
      </el-form-item>
      <el-form-item label="出库单打包支持部分复核校验">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.outer_batchPartialCheck"></el-switch>
      </el-form-item>
      <el-form-item label="出库单快递公司必填">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.outer_expressCorpMust"></el-switch>
        <span class="remark">当选择不是必填时,审核出库单时自动选择第一个快递公司,快递单号默认为出库单号</span>
      </el-form-item>
      <el-form-item label="出库单打包校验时启用快递单号">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.outer_expressCode"></el-switch>
        <span class="remark">勾选后在打包校验中快递单号将可以重复使用</span>
      </el-form-item>
      <el-form-item label="打包校验时快递单号必填">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.outer_expressCodeMust"></el-switch>
        <span class="remark">此项只有在部分校验后,第二次封箱才起作用</span>
      </el-form-item>
 
      <el-form-item label="显示“打印面单”">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.outer_printBill"></el-switch>
      </el-form-item>
      <el-form-item label="显示“打印订单详情单”">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.outer_printOrderDetail"></el-switch>
      </el-form-item>
      <el-form-item label="显示“打印装箱清单”">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.outer_printCaseNumber"></el-switch>
      </el-form-item>
      <el-form-item label="打印装箱单时不打印“一品一箱”">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.outer_singleCaseNumberNoPrint"></el-switch>
      </el-form-item>
      <el-form-item label="自动打印单据">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.outer_autoPrint"></el-switch>
        <span class="remark">勾选后在打包校验中的单据将自动打印</span>
      </el-form-item>
      <!-- <el-form-item label="出库打包校验不提示“需要确认打包出库吗?”">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.outer_confirmTip"></el-switch>
      </el-form-item> -->
      <!-- <el-form-item label="称重阈值报警提示”">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.outer_weightWhreshold"></el-switch>
      </el-form-item> -->
      <el-form-item label="称重阈值报警提示">
        <el-input v-model="formData.outer_weightWhreshold" class="w-300"></el-input>
      </el-form-item>
      <el-form-item label="复核提交时打开件数、体积录入框”">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.outer_openPackage"></el-switch>
      </el-form-item>
 
      <h2 class="sub-title">波次打包校验配置</h2>
      <el-form-item label="波次打包校验时启用装箱操作">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_caseNumber"></el-switch>
      </el-form-item>
      <el-form-item label="波次打包校验时启用包材条码">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_wrapperBarcode"></el-switch>
      </el-form-item>
      <el-form-item label="波次打包校验时启用快递单号">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_expressCode"></el-switch>
      </el-form-item>
      <el-form-item label="波次打包校验时快递单号是否必填">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_expressCodeMust"></el-switch>
      </el-form-item>
      <el-form-item label="波次打包支持部分复核校验">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_batchPartialCheck"></el-switch>
      </el-form-item>
      <el-form-item label="显示“打印面单”">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_printBill"></el-switch>
      </el-form-item>
      <el-form-item label="显示“打印订单详情单”">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_printOrderDetail"></el-switch>
      </el-form-item>
      <el-form-item label="显示“打印装箱清单”">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_printCaseNumber"></el-switch>
      </el-form-item>
      <el-form-item label="打印装箱单时不打印“一品一箱”">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_singleCaseNumberNoPrint"></el-switch>
      </el-form-item>
      <el-form-item label="自动打印单据">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_autoPrint"></el-switch>
      </el-form-item>
      <el-form-item label="扫描完成时是否提示“需要确认打包出库吗?”">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.batch_confirmTip"></el-switch>
      </el-form-item>
 
      <h2 class="sub-title">发货校验设置</h2>
      <el-form-item label="无需称重">
        <el-switch :active-value="1" :inactive-value="0" v-model="formData.out_sendNoWeight"></el-switch>
      </el-form-item>
      <el-form-item class="form-footer fixed-footer">
        <el-button type="primary" @click="onSave">保存</el-button>
      </el-form-item>
    </el-form>
  </div>
</template>
 
<script>
export default {
  name: "settings-consignor",
 
  components: {},
  data() {
    return {
      type_Id: 585, // 通用参数类别ID,不可修改
      // 编辑数据对象
      formData: {
        PositionType: [],
        batch_onlyHasCiqStatus: 0,
        batch_partSorting: 0,
        sorting_crossConsignor: 0,
        sorting_isFullContainerLoad: 0,
        sorting_IsContainerNo: 0,
        batch_isToTransfer: 0,
        batch_openStorage_regular: 0,
        batch_openStorageArea_regular: 0,
        batch_disabledRslSortingByTime: 0,
        batch_sorting_stopSaleday: 0,
        batch_allocateExpressCompany_record: 0,
        batch_pushStorageAfterStop: 0,
        sale_order_clientShortName: 0,
        sorting_positionPriorIndate: 0,
        sorting_singleSignCode: 0,
 
        out_receivePosition: 0,
        out_noBillScanBatchNumber: 0,
        out_noBillScanLoadPosition: 0,
 
        pick_cartCode: 0,
        pick_plateCode: 0,
        noPickingConfrim: 0,
 
        outer_outScanExpressAndOrder: 0,
        outer_caseNumber: 0,
        in_receivePosition: 0,
        outer_wrapperBarcode: 0,
        outer_batchPartialCheck: 0,
        outer_expressCorpMust: 0,
        outer_expressCode: 0,
        outer_expressCodeMust: 0,
        outer_printBill: 0,
        outer_printOrderDetail: 0,
        outer_printCaseNumber: 0,
        outer_singleCaseNumberNoPrint: 0,
        outer_autoPrint: 0,
        outer_confirmTip: 0,
        outer_weightWhreshold: 0,
        outer_openPackage: 0,
 
        batch_caseNumber: 0,
        batch_wrapperBarcode: 0,
        batch_expressCode: 0,
        batch_expressCodeMust: 0,
        batch_batchPartialCheck: 0,
        batch_printBill: 0,
        batch_printOrderDetail: 0,
        batch_printCaseNumber: 0,
        batch_singleCaseNumberNoPrint: 0,
        batch_autoPrint: 0,
        batch_confirmTip: 0,
 
        out_sendNoWeight: 0
      },
      // 接口数据
      valueList: []
    };
  },
  mounted() {
    this.loadParam();
  },
  methods: {
    handleClose(tag) {},
 
    // 加载数据
    loadParam() {
      var keys = Object.keys(this.formData).join(",");
      var url = "/api/sys/param/getConfig";
      var params = {
        openNodeApi: true,
        type_Id: this.type_Id,
        keys: keys
      };
      var callback = res => {
        this.common.showMsg(res);
        this.valueList = res.data;
 
        // 获得参数值列表,将数字转换为对象
        res.data.forEach(item => {
          var value03 = item.value03;
          if (this.common.isNumber(item.value03)) {
            value03 = parseInt(item.value03);
          }
          if (item.value02 === "PositionType") {
            this.formData.PositionType = value03 ? ("" + value03).split(",") : [];
            this.formData.PositionType.forEach((p, index) => {
              this.formData.PositionType[index] = parseInt(p);
            });
          } else {
            this.$set(this.formData, item.value02, value03);
          }
        });
      };
      var target = this.$refs["settings"];
      this.common.ajax(url, params, callback, target);
    },
    // 保存数据
    onSave() {
      Object.keys(this.formData).forEach(key => {
        var item = this.valueList.find(item => {
          return item.value02 === key;
        });
        var value03 = this.formData[key];
        if (key === "PositionType") {
          value03 = value03.join(",");
        }
 
        if (item) {
          // 存在更新
          item.value03 = value03;
        } else {
          // 新增
          this.valueList.push({
            type_Id: this.type_Id,
            value02: key,
            value03: value03
          });
        }
      });
 
      var url = "/api/sys/param/saveParams";
      var params = {
        openNodeApi: true,
        type_Id: this.type_Id,
        valueList: this.valueList
      };
      var target = this.$refs["settings"];
      this.common.ajax(
        url,
        params,
        res => {
          this.common.showMsg(res);
        },
        target
      );
    }
  }
};
</script>
 
<style lang="scss" scoped>
.settings-sub-container {
  margin-bottom: 90px;
  /deep/ .sub-title {
    font-size: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ebeef5;
    padding-top: 20px;
    margin-bottom: 10px;
  }
  /deep/ .el-form-item__label {
    font-weight: normal;
  }
  .remark {
    color: #888;
  }
  /deep/ .el-form-item {
    margin-bottom: 0px;
  }
  .form-footer {
    margin-top: 30px;
    &.fixed-footer {
      position: fixed;
      bottom: 0;
      left: 392px;
      right: 10px;
      background-color: white;
      border-top: 1px solid #ebeef5;
      padding: 20px;
    }
  }
}
</style>