Browse Source

状态支持多选

ecss-tx
han\hanst 3 weeks ago
parent
commit
43f04c623a
  1. 54
      src/views/modules/sampleTracking/projectProofTracking.vue

54
src/views/modules/sampleTracking/projectProofTracking.vue

@ -12,13 +12,13 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="项目编码"> <el-form-item label="项目编码">
<el-input v-model="searchData.projectNo" clearable placeholder="请输入项目编码" style="width: 140px" />
<el-input v-model="searchData.projectNo" clearable placeholder="请输入项目编码" style="width: 120px" />
</el-form-item> </el-form-item>
<el-form-item label="项目描述"> <el-form-item label="项目描述">
<el-input v-model="searchData.projectDesc" clearable placeholder="请输入项目描述" style="width: 160px" /> <el-input v-model="searchData.projectDesc" clearable placeholder="请输入项目描述" style="width: 160px" />
</el-form-item> </el-form-item>
<el-form-item label="项目物料"> <el-form-item label="项目物料">
<el-input v-model="searchData.testPartNo" clearable placeholder="请输入项目物料" style="width: 140px" />
<el-input v-model="searchData.testPartNo" clearable placeholder="请输入项目物料" style="width: 120px" />
</el-form-item> </el-form-item>
<el-form-item label="料号描述"> <el-form-item label="料号描述">
<el-input v-model="searchData.partDesc" clearable placeholder="请输入料号描述" style="width: 160px" /> <el-input v-model="searchData.partDesc" clearable placeholder="请输入料号描述" style="width: 160px" />
@ -50,7 +50,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="打样单号"> <el-form-item label="打样单号">
<el-input v-model="searchData.proofingNo" clearable placeholder="请输入打样单号" style="width: 150px" />
<el-input v-model="searchData.proofingNo" clearable placeholder="请输入打样单号" style="width: 120px" />
</el-form-item> </el-form-item>
<el-form-item label="项目/物料同步"> <el-form-item label="项目/物料同步">
<el-select v-model="searchData.projectPartSyncFlag" clearable placeholder="全部" style="width: 120px"> <el-select v-model="searchData.projectPartSyncFlag" clearable placeholder="全部" style="width: 120px">
@ -65,10 +65,17 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="打样状态"> <el-form-item label="打样状态">
<el-select v-model="searchData.proofingStatus" clearable placeholder="全部" style="width: 120px">
<el-select
class="search-proofing-status-select"
v-model="searchData.proofingStatusList"
multiple
clearable
placeholder="全部"
style="width: 180px"
>
<el-option label="草稿" value="草稿" />
<el-option label="进行中" value="进行中" /> <el-option label="进行中" value="进行中" />
<el-option label="打样完成" value="打样完成" /> <el-option label="打样完成" value="打样完成" />
<el-option label="草稿" value="草稿" />
</el-select> </el-select>
<el-button type="primary" @click="getDataList('Y')">查询</el-button> <el-button type="primary" @click="getDataList('Y')">查询</el-button>
<el-button @click="resetSearch">重置</el-button> <el-button @click="resetSearch">重置</el-button>
@ -1401,7 +1408,7 @@ export default {
proofingNo: '', proofingNo: '',
projectPartSyncFlag: '', projectPartSyncFlag: '',
proofSyncFlag: '', proofSyncFlag: '',
proofingStatus: ''
proofingStatusList: []
}, },
searchCustomerOptions: [], searchCustomerOptions: [],
searchCustomerOptionLoading: false, searchCustomerOptionLoading: false,
@ -2381,6 +2388,20 @@ export default {
getSelectedSearchBuNo () { getSelectedSearchBuNo () {
return this.normalizeBuNo(this.searchData.buNo, this.searchData.site) return this.normalizeBuNo(this.searchData.buNo, this.searchData.site)
}, },
normalizeSearchProofingStatusList (statusList) {
if (!Array.isArray(statusList) || statusList.length === 0) {
return []
}
const normalizedStatusList = []
statusList.forEach(item => {
const status = this.isBlankValue(item) ? '' : String(item).trim()
if (!status || normalizedStatusList.indexOf(status) > -1) {
return
}
normalizedStatusList.push(status)
})
return normalizedStatusList
},
getSearchCustomerOptionLabel (item) { getSearchCustomerOptionLabel (item) {
const customerNo = item && !this.isBlankValue(item.customerNo) const customerNo = item && !this.isBlankValue(item.customerNo)
? String(item.customerNo).trim() ? String(item.customerNo).trim()
@ -3692,11 +3713,14 @@ export default {
} }
this.searchData.site = this.$store.state.user.site this.searchData.site = this.$store.state.user.site
this.searchData.userName = this.$store.state.user.name this.searchData.userName = this.$store.state.user.name
const normalizedProofingStatusList = this.normalizeSearchProofingStatusList(this.searchData.proofingStatusList)
this.searchData.proofingStatusList = normalizedProofingStatusList
const inData = Object.assign({}, this.searchData, { const inData = Object.assign({}, this.searchData, {
page: this.pageIndex, page: this.pageIndex,
limit: this.pageSize limit: this.pageSize
}) })
inData.buNo = this.normalizeBuNo(inData.buNo, inData.site) inData.buNo = this.normalizeBuNo(inData.buNo, inData.site)
inData.proofingStatusList = normalizedProofingStatusList
this.dataListLoading = true this.dataListLoading = true
searchProofTracking(inData).then(({ data }) => { searchProofTracking(inData).then(({ data }) => {
this.dataListLoading = false this.dataListLoading = false
@ -3771,12 +3795,15 @@ export default {
this.$message.warning('当前没有可导出的列') this.$message.warning('当前没有可导出的列')
return return
} }
const normalizedProofingStatusList = this.normalizeSearchProofingStatusList(this.searchData.proofingStatusList)
this.searchData.proofingStatusList = normalizedProofingStatusList
const inData = Object.assign({}, this.searchData, { const inData = Object.assign({}, this.searchData, {
buNo: this.normalizeBuNo(this.searchData.buNo, this.searchData.site), buNo: this.normalizeBuNo(this.searchData.buNo, this.searchData.site),
exportTrackingColumns: exportTrackingColumns, exportTrackingColumns: exportTrackingColumns,
exportProcessColumns: exportProcessColumns, exportProcessColumns: exportProcessColumns,
exportCommentsColumn: true exportCommentsColumn: true
}) })
inData.proofingStatusList = normalizedProofingStatusList
this.exportLoading = true this.exportLoading = true
try { try {
const response = await exportProofTracking(inData) const response = await exportProofTracking(inData)
@ -3850,7 +3877,7 @@ export default {
this.searchData.proofingNo = '' this.searchData.proofingNo = ''
this.searchData.projectPartSyncFlag = '' this.searchData.projectPartSyncFlag = ''
this.searchData.proofSyncFlag = '' this.searchData.proofSyncFlag = ''
this.searchData.proofingStatus = ''
this.searchData.proofingStatusList = []
this.ensureSearchBuNoSelected() this.ensureSearchBuNoSelected()
this.queryProcessColumns().then(() => { this.queryProcessColumns().then(() => {
this.getDataList('Y') this.getDataList('Y')
@ -4967,7 +4994,7 @@ export default {
this.searchData.proofingNo = '' this.searchData.proofingNo = ''
this.searchData.projectPartSyncFlag = '' this.searchData.projectPartSyncFlag = ''
this.searchData.proofSyncFlag = '' this.searchData.proofSyncFlag = ''
this.searchData.proofingStatus = ''
this.searchData.proofingStatusList = []
this.getDataList('Y') this.getDataList('Y')
} else { } else {
this.$message.error(data.msg || '一键创建失败') this.$message.error(data.msg || '一键创建失败')
@ -5837,6 +5864,17 @@ export default {
margin-bottom: 0; margin-bottom: 0;
} }
.search-proofing-status-select .el-select__tags {
flex-wrap: nowrap;
overflow-x: auto;
overflow-y: hidden;
}
.search-proofing-status-select .el-select__tags > span {
display: inline-flex;
flex-wrap: nowrap;
}
.button-group-col { .button-group-col {
width: 100%; width: 100%;
margin-top: 16px; margin-top: 16px;

Loading…
Cancel
Save