feat: 更新出仓扫码页并升至1.1.18
This commit is contained in:
@@ -4,9 +4,9 @@
|
||||
* 业务说明:
|
||||
* 1. 后端当前仅提供「坯布其他出货单」一种类型的接口,故出仓类型固定为 other,
|
||||
* 表头保留接收单位(business_unit) / 出货日期 / 备注 等字段。
|
||||
* 2. 用户先填写表头并「提交保存」(addGfmOtherDeliveryOrder),拿到出仓单 id 后即可扫码;
|
||||
* 2. 用户先填写表头并「提交保存」(addGfmOtherDeliveryOrder),拿到出仓单 id 后才显示扫码区和汇总表;
|
||||
* 扫码新增/删除细码走 updateGfmOtherDeliveryOrder;勾选锁定维度时附带 *_lock 字段,操作后用返回的最新详情刷新。
|
||||
* 3. 后端没有「修改表头」接口,保存成功或编辑进入后表头变为只读,仅可扫码维护细码。
|
||||
* 3. 后端没有「修改表头」接口,保存成功或编辑进入后表头变为只读,并默认收起,仅可扫码维护细码。
|
||||
*/
|
||||
import util from '@/common/util';
|
||||
import scanMixin from '@/common/scanMixin.js';
|
||||
@@ -42,6 +42,8 @@ export default {
|
||||
orderId: 0,
|
||||
form: this.getEmptyForm(),
|
||||
headerSaved: false,
|
||||
// 新增未保存时展开表头;保存后及编辑进入时收起
|
||||
headerExpanded: true,
|
||||
selectShow: false,
|
||||
selectList: [],
|
||||
selectType: '',
|
||||
@@ -75,6 +77,14 @@ export default {
|
||||
headerEditable() {
|
||||
return this.pageMode === 'add' && !this.headerSaved;
|
||||
},
|
||||
/** 已保存或编辑页才提供收起/展开 */
|
||||
showHeaderToggle() {
|
||||
return this.pageMode === 'edit' || this.headerSaved;
|
||||
},
|
||||
/** 未保存只填表头;保存后才出现扫码区与汇总表 */
|
||||
showScanSection() {
|
||||
return this.headerSaved;
|
||||
},
|
||||
dateLabel() {
|
||||
return '出货日期';
|
||||
},
|
||||
@@ -151,8 +161,13 @@ export default {
|
||||
delivery_time: this.$u.timeFormat(new Date(), 'yyyy-mm-dd'),
|
||||
remark: '',
|
||||
item_data: [],
|
||||
summary_rows: [],
|
||||
};
|
||||
},
|
||||
toggleHeader() {
|
||||
if (!this.showHeaderToggle) return;
|
||||
this.headerExpanded = !this.headerExpanded;
|
||||
},
|
||||
loadOrder(id, options = {}) {
|
||||
const { rejectIfLocked = false } = options;
|
||||
return this.$u.api.gfmOtherDeliveryOrder.detail({ id })
|
||||
@@ -242,6 +257,7 @@ export default {
|
||||
const order = normalizeOrder(detail);
|
||||
this.applyOrder(order);
|
||||
this.headerSaved = true;
|
||||
this.headerExpanded = false;
|
||||
this.syncCanScanFromStatus(order.audit_status);
|
||||
this.showSuccess('保存成功,可以扫码', '提交成功');
|
||||
this.registerOrderScanBroadcast();
|
||||
@@ -325,11 +341,13 @@ export default {
|
||||
uni.hideLoading();
|
||||
const order = normalizeOrder(detail);
|
||||
this.form.item_data = order.item_data;
|
||||
this.form.summary_rows = order.summary_rows || [];
|
||||
this.auditStatus = order.audit_status;
|
||||
this.applyScanDetail(scanCode, order, scanType);
|
||||
if (refreshFineCodes) {
|
||||
const row = order.item_data.find((i) => (i.group_key || String(i.id)) === this.currentGroupKey);
|
||||
this.currentFineCodes = row ? [...row.fine_codes] : [];
|
||||
const rows = order.summary_rows || [];
|
||||
const row = rows.find((i) => i.group_key === this.currentGroupKey);
|
||||
this.currentFineCodes = row ? [...(row.fine_codes || [])] : [];
|
||||
}
|
||||
this.BillDataMessage = scanType === 2 ? '删除成功' : '扫码出仓成功';
|
||||
this.QRBarCode = '';
|
||||
@@ -351,6 +369,15 @@ export default {
|
||||
this.currentFineCodes = [...(row.fine_codes || [])];
|
||||
this.fineCodeShow = true;
|
||||
},
|
||||
onSummaryCellClick(event) {
|
||||
const row = event && event.lineData;
|
||||
if (!row) return;
|
||||
if (event.key === 'grey_fabric_code' || event.key === 'grey_fabric_name') {
|
||||
this.openFabricInfo(row);
|
||||
return;
|
||||
}
|
||||
this.openFineCode(row);
|
||||
},
|
||||
onDeleteFineCode(fineCode) {
|
||||
if (this.isReadonly || !this.canScan) return;
|
||||
const scanCode = getFineCodeScanCode(fineCode);
|
||||
|
||||
Reference in New Issue
Block a user