Browse Source

Merge remote-tracking branch 'origin/dev' into dev

dev
常熟吴彦祖 2 weeks ago
parent
commit
9dbc31f6e2
  1. 2
      src/i18n/locales/labelSetting/cnLabelSetting.js
  2. 1
      src/i18n/locales/labelSetting/enLabelSetting.js
  3. 111
      src/views/modules/haianWarehouse/shopOrderIssueNotify/ShopOrderIssueNotify54.vue
  4. 3
      src/views/modules/labelSetting/LabelDesigner.vue
  5. 10
      src/views/modules/labelSetting/components/PropertyForm.vue

2
src/i18n/locales/labelSetting/cnLabelSetting.js

@ -376,6 +376,8 @@ export default {
showDecimalPlaces: '整数显示小数位',
thousandsSeparator: '千位分隔符',
roundHalfUp: '四舍五入',
fixedDigits: '固定位数',
fixedDigitsPlaceholder: '例如 6 -> 000200',
dataSource: '数据源',
fieldValue: '字段值',
currentDate: '当前日期',

1
src/i18n/locales/labelSetting/enLabelSetting.js

@ -133,6 +133,7 @@ export default {
bold: 'Bold', autoWrap: 'Auto wrap', italic: 'Italic', underline: 'Underline', characterSpacing: 'Character spacing:',
textWidthMm: 'Text width (mm)', textLines: 'Text lines', decimalPlaces: 'Decimal places',
showDecimalPlaces: 'Show decimals for integers', thousandsSeparator: 'Thousands separator', roundHalfUp: 'Round half up',
fixedDigits: 'Fixed digits', fixedDigitsPlaceholder: 'Leave empty to disable, e.g. 6 -> 000200',
dataSource: 'Data source', fieldValue: 'Field value', currentDate: 'Current date', extractType: 'Extraction type',
fullDate: 'Full date', extractYear: 'Year', extractMonth: 'Month', extractDay: 'Day', extractWeek: 'Week',
extractWeekday: 'Weekday', dateOffset: 'Day offset', firstDayOfWeek: 'First day of week', firstDayWeekday: 'Weekday of first day',

111
src/views/modules/haianWarehouse/shopOrderIssueNotify/ShopOrderIssueNotify54.vue

@ -167,6 +167,27 @@
<el-button type="primary" @click="seqNoModalFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
<!-- 同一订单号对应多个site时先选具体contract再查物料 - rqrq -->
<el-dialog title="选择工单Site" :close-on-click-modal="false" v-drag :visible.sync="shopOrderSiteSelectFlag" width="900px" append-to-body>
<el-table :height="360" :data="shopOrderCandidateList" border style="width: 100%;" highlight-current-row>
<el-table-column prop="contract" label="Site" min-width="100" header-align="center" align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="orderNo" label="OrderNo" min-width="120" header-align="center" align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="releaseNo" label="ReleaseNo" min-width="90" header-align="center" align="center"></el-table-column>
<el-table-column prop="sequenceNo" label="SequenceNo" min-width="90" header-align="center" align="center"></el-table-column>
<el-table-column prop="partNo" label="产品编码" min-width="120" header-align="center" align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="partDesc" label="产品名称" min-width="160" header-align="center" align="left" show-overflow-tooltip></el-table-column>
<el-table-column prop="objstate" label="状态" min-width="90" header-align="center" align="center"></el-table-column>
<el-table-column prop="lotSize" label="工单数量" min-width="90" header-align="center" align="right"></el-table-column>
<el-table-column fixed="right" header-align="center" align="center" width="90" label="操作">
<template slot-scope="scope">
<el-button type="primary" size="mini" plain :loading="seqNoModalLoading" @click="confirmShopOrderSite(scope.row)">选择</el-button>
</template>
</el-table-column>
</el-table>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="shopOrderSiteSelectFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
<el-dialog title="保存工单" :close-on-click-modal="false" v-drag :visible.sync="saveSeqNoModalFlag" width="750px">
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-row :gutter="20">
@ -734,7 +755,7 @@ export default {
fixed: false,
columnWidth: 100,
},
/* {
{
userId: this.$store.state.user.name,
functionId: 555001,
serialNumber: '555001Table2ReleaseNo',
@ -769,7 +790,7 @@ export default {
status: true,
fixed: false,
columnWidth: 80,
}, */
},
{
userId: this.$store.state.user.name,
functionId: 555001,
@ -788,16 +809,16 @@ export default {
fixed: false,
columnWidth: 70,
},
/* {
{
userId: this.$store.state.user.name,
functionId: 555001,
serialNumber: '555001Table2Contract',
serialNumber: '555001Table2SubSite',
tableId: '555001Table2',
tableName: '查询工单及物料',
columnProp: 'contract',
columnProp: 'subSite',
headerAlign: 'center',
align: 'center',
columnLabel: '合同',
columnLabel: 'Site',
columnHidden: false,
columnImage: false,
columnSortable: false,
@ -805,7 +826,7 @@ export default {
status: true,
fixed: false,
columnWidth: 100,
}, */
},
{
userId: this.$store.state.user.name,
functionId: 555001,
@ -1433,6 +1454,9 @@ export default {
chooseLoading: false,
seqNoModalLoading: false,
saveNewLoading: false,
// sitecontract- rqrq
shopOrderSiteSelectFlag: false,
shopOrderCandidateList: [],
}
},
@ -1771,7 +1795,7 @@ export default {
chooseSOSModal() {
this.seqNoData = {
site: this.$store.state.user.site,
site: this.$store.state.user.site+'%',
orderNo: '',
releaseNo: '*',
sequenceNo: '*',
@ -1784,9 +1808,11 @@ export default {
endDate: this.dayjs().format('YYYY-MM-DD'),
}
this.seqNoList = []
this.shopOrderCandidateList = []
this.shopOrderSiteSelectFlag = false
this.seqNoModalFlag = true
},
// IFScontractsubSite - rqrq
// site%ShopOrdercontractsite - rqrq
searchSOSRouting() {
if (!this.seqNoData.orderNo || !this.seqNoData.releaseNo || !this.seqNoData.sequenceNo) {
this.$message.warning('请输入完整的OrderNo/ReleaseNo/SequenceNo!')
@ -1796,7 +1822,66 @@ export default {
return false
}
this.seqNoModalLoading = true
haiAnGetShopOrderAndMaterialByShoporder(this.seqNoData)
let materialFetchStarted = false
const shopOrderQuery = {
...this.seqNoData,
site: (this.$store.state.user.site || '') + '%',
}
haiAnGetShopOrderFromIFSWithOrderNo(shopOrderQuery)
.then(({ data }) => {
if (!(data && data.code === 0 && data.rows && data.rows.length > 0)) {
this.$message.error((data && data.msg) || '未查询到工单')
return
}
const allowedStatuses = ['Released', 'Reserved', 'Started']
const validOrders = data.rows.filter(item => allowedStatuses.includes(item.objstate))
if (data.rows.length > 0 && validOrders.length === 0) {
this.$message.error('生产订单' + this.seqNoData.orderNo + '状态不允许发料,请检查!')
return
}
if (validOrders.length === 1) {
// loading - rqrq
materialFetchStarted = true
return this.fetchShopOrderMaterial(validOrders[0])
}
// sitecontract - rqrq
this.shopOrderCandidateList = validOrders
this.shopOrderSiteSelectFlag = true
})
.catch((e) => {
this.$message.error((e && e.msg) || '查询工单失败')
})
.finally(() => {
if (!materialFetchStarted) {
this.seqNoModalLoading = false
}
})
},
// site(contract) - rqrq
confirmShopOrderSite(row) {
if (!row) {
return
}
this.shopOrderSiteSelectFlag = false
this.fetchShopOrderMaterial(row)
},
// 使site(contract)ShopOrderMaterialsubSite - rqrq
fetchShopOrderMaterial(shopOrder) {
const contract = (shopOrder && (shopOrder.contract || shopOrder.site)) || ''
if (!contract) {
this.seqNoModalLoading = false
this.$message.error('工单缺少Site(contract)信息,无法查询物料')
return Promise.resolve()
}
this.seqNoModalLoading = true
const materialQuery = {
...this.seqNoData,
site: contract,
orderNo: (shopOrder && shopOrder.orderNo) || this.seqNoData.orderNo,
releaseNo: (shopOrder && shopOrder.releaseNo) || this.seqNoData.releaseNo,
sequenceNo: (shopOrder && shopOrder.sequenceNo) || this.seqNoData.sequenceNo,
}
return haiAnGetShopOrderAndMaterialByShoporder(materialQuery)
.then(({ data }) => {
if (data && data.code === 0 && data.rows && data.rows.length > 0) {
data.rows.forEach(newRow => {
@ -1805,8 +1890,8 @@ export default {
const qtyReserved = parseFloat(newRow.qtyReserved) || 0
const applyQty = qtyRequired - qtyIssued - qtyReserved
this.$set(newRow, 'applyQty', applyQty > 0 ? applyQty : 0)
// subSiteIFScontract/sitesubsite - rqrq
this.$set(newRow, 'subSite', newRow.subSite || newRow.contract || newRow.site || '')
// subSitecontract - rqrq
this.$set(newRow, 'subSite', newRow.subSite || newRow.contract || contract || newRow.site || '')
this.seqNoList.push(newRow)
})
this.$message.success(`成功添加 ${data.rows.length} 条数据`)
@ -1815,7 +1900,7 @@ export default {
}
})
.catch((e) => {
this.$message.error(e.msg || '查询失败')
this.$message.error((e && e.msg) || '查询失败')
})
.finally(() => {
this.seqNoModalLoading = false

3
src/views/modules/labelSetting/LabelDesigner.vue

@ -463,7 +463,7 @@ export default {
const defaultElement = {reportId: '',
type: '', x: 0, y: 0, data: '', fontSize: 30, bold: false, newline: false, lineRows: 2,
lineWidth: 200, digits: 2, step: 1, width: 100, height: 30, previewUrl: '', barcodeType: '', showContent: true, showElement: true, showSerialNumber: false,
showMainSeq: false,parentSerialLabelNo:'', seqName: '', isChecked: false, decimalPlaces: '', showDecimalPlaces: false, thousandsSeparator: false, roundHalfUp: true, dateOffsetDays: 0,
showMainSeq: false,parentSerialLabelNo:'', seqName: '', isChecked: false, decimalPlaces: '', showDecimalPlaces: false, thousandsSeparator: false, roundHalfUp: true, fixedDigits: '', dateOffsetDays: 0,
//
fontFamily: 'default', textAlign: 'left', letterSpacing: 0, fontItalic: false, fontUnderline: false
};
@ -537,6 +537,7 @@ export default {
newline: false,
lineRows: 2,
lineWidth: 200,
fixedDigits: '',
digits: 2,
step: 1,
showSerialNumber: false

10
src/views/modules/labelSetting/components/PropertyForm.vue

@ -149,6 +149,14 @@
<el-checkbox v-model="element.roundHalfUp" size="small" class="inline-checkbox">{{ $t('labelSetting.property.roundHalfUp') }}</el-checkbox>
</div>
</el-form-item>
<el-form-item :label="$t('labelSetting.property.fixedDigits')">
<el-input
v-model="element.fixedDigits"
controls-position="right"
size="mini" width="100%"
:placeholder="$t('labelSetting.property.fixedDigitsPlaceholder')"
/>
</el-form-item>
</template>
<!-- 日期类型设置 -->
<template v-if="element.dataType === 'date'">
@ -766,6 +774,7 @@ export default {
this.setElementDefault('step', 1)
} else if (this.element.dataType === 'number') {
this.setElementDefault('roundHalfUp', true)
this.setElementDefault('fixedDigits', '')
} else if (this.element.dataType === 'string') {
this.setElementDefault('stringProcessType', 'none')
this.setElementDefault('substringStartLength', '')
@ -821,6 +830,7 @@ export default {
this.$set(this.element, 'step', 1)
} else if (newType === 'number') {
this.$set(this.element, 'roundHalfUp', true)
this.$set(this.element, 'fixedDigits', '')
} else if (newType === 'string') {
this.$set(this.element, 'stringProcessType', 'none')
this.$set(this.element, 'substringStartLength', '')

Loading…
Cancel
Save