处理单据优化

yanshishuju
yewj 7 months ago
parent 8f1b394ee2
commit 712bf61b4b

@ -85,7 +85,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="业务顺号" prop="number" width="100"></el-table-column> <el-table-column label="业务顺号" prop="number" width="100"></el-table-column>
<el-table-column label="备注:" prop="remark" width="100"></el-table-column> <el-table-column label="备注" prop="remark" width="100"></el-table-column>
<!-- <el-table-column label="往来单位类型" prop="corpType" width="100">--> <!-- <el-table-column label="往来单位类型" prop="corpType" width="100">-->
<!-- <template slot-scope="scope">--> <!-- <template slot-scope="scope">-->
<!-- <span>{{ corpTypeMap[scope.row.corpType] }}</span>--> <!-- <span>{{ corpTypeMap[scope.row.corpType] }}</span>-->
@ -93,7 +93,7 @@
<!-- </el-table-column>--> <!-- </el-table-column>-->
<!-- <el-table-column label="往来类型标题" prop="unitTittle" width="100"></el-table-column>--> <!-- <el-table-column label="往来类型标题" prop="unitTittle" width="100"></el-table-column>-->
<!-- <el-table-column label="默认仓库 " prop="invName"></el-table-column>--> <!-- <el-table-column label="默认仓库 " prop="invName"></el-table-column>-->
<el-table-column label="操作" fixed="right" width="120"> <el-table-column label="操作" fixed="right" width="110">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"

@ -86,7 +86,7 @@
<el-form-item label="工位状态:" class="query-form-item"> <el-form-item label="工位状态:" class="query-form-item">
<el-select v-model="query.workplaceStatus" placeholder="工位状态" clearable> <el-select v-model="query.workplaceStatus" placeholder="工位状态" clearable>
<el-option label="暂停" :value="0"></el-option> <el-option label="暂停" :value="0"></el-option>
<el-option label="用" :value="1"></el-option> <el-option label="用" :value="1"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -906,7 +906,7 @@ export default {
workplaceStatus: 1, workplaceStatus: 1,
deptCode: null, deptCode: null,
chargeUser: null, chargeUser: null,
constituencies: null, constituencies: "1001",
invRemindNumber: 0, invRemindNumber: 0,
remake: null remake: null
} }

@ -83,12 +83,14 @@
</el-form> </el-form>
<div class="left-search" v-if="!showSearch"> <div class="left-search" v-if="!showSearch">
<!-- 关键字搜索 按需配置 --> <!-- 关键字搜索 按需配置 -->
<el-form v-if="queryList && queryList.length > 0" :model="filterQuery" class="query-form" size="mini" label-width="100px"> <el-form v-if="queryList && queryList.length > 0" :model="filterQuery" class="query-form" size="mini"
label-width="100px">
<el-row style=" display:flex; flex-wrap: wrap; "> <el-row style=" display:flex; flex-wrap: wrap; ">
<template v-for="(item, index) in queryList"> <template v-for="(item, index) in queryList">
<el-form-item v-if="item.columnType == 'input' && executeEval(row,item.expression,true) && item.columnName == 'keywords'" <el-form-item
class="query-form-item" v-if="item.columnType == 'input' && executeEval(row,item.expression,true) && item.columnName == 'keywords'"
:label="item.columnDesc+`:`" :key="item.id"> class="query-form-item"
:label="item.columnDesc+`:`" :key="item.id">
<el-input <el-input
v-model="filterQuery[item.columnName]" v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc" :placeholder="item.columnDesc"
@ -129,8 +131,8 @@
</el-button-group> </el-button-group>
</div> </div>
<el-divider style="margin: 15px"></el-divider> <el-divider style="margin: 15px"></el-divider>
<!--<el-tabs type="border-card" style="margin-top: 55px">--> <el-tabs type="border-card" style="margin-top: 55px">
<!-- <el-tab-pane label="原始单据">--> <el-tab-pane label="原始单据">
<el-table v-loading="loading" :data="list" style="width: 100%;" border highlight-current-row <el-table v-loading="loading" :data="list" style="width: 100%;" border highlight-current-row
@row-click="(row) => executeFuc(row,'0',tableObj.handleChangeFuc)" ref="multipleTable" @row-click="(row) => executeFuc(row,'0',tableObj.handleChangeFuc)" ref="multipleTable"
@ -239,123 +241,117 @@
:page.sync="filterQuery.page" :page.sync="filterQuery.page"
@pagination="handleCurrentChange" @pagination="handleCurrentChange"
></pagination> ></pagination>
</el-tab-pane>
<el-tab-pane label="异常单据">
<el-table v-loading="loading" :data="errList" style="width: 100%;" border highlight-current-row
@row-click="(row) => executeFuc(row,'0',tableObj1.handleChangeFuc)" ref="multipleTable"
:default-sort="defaultSort"
:row-style="{ height: '32px' }"
@sort-change="handleSortChange">
<template v-for="(item, index) in tableHeader1">
<el-table-column
v-if="item.columnType == 'id' && executeEval(row,item.expression,true)"
type="index" :label="item.columnDesc"></el-table-column>
<el-table-column
v-if="item.columnType == 'selection'"
type="selection"
:width="item.width"
:selectable="(row,number) => executeFuc(row,'3',item.clickFuc)"
></el-table-column>
<el-table-column
<!--</el-tab-pane>--> v-if="item.columnType == 'radio' && executeEval(row,item.expression,true)"
:prop="item.columnName"
<!--<el-tab-pane label="异常单据">--> :label="item.columnDesc"
:sortable="item.sort"
<!-- <el-table v-loading="loading" :data="errList" style="width: 100%;" border highlight-current-row--> :width="item.width"
<!-- @row-click="(row) => executeFuc(row,'0',tableObj1.handleChangeFuc)" ref="multipleTable"--> :show-overflow-tooltip="item.tooltip"
<!-- :default-sort="defaultSort"--> :key="item.columnName"
<!-- :row-style="{ height: '32px' }"--> >
<!-- @sort-change="handleSortChange">--> <template slot-scope="scope">
<!-- <template v-for="(item, index) in tableHeader1">--> <el-radio :label="scope.row.id" v-model="radioCheck"><span></span></el-radio>
<!-- <el-table-column--> </template>
<!-- v-if="item.columnType == 'id' && executeEval(row,item.expression,true)"--> </el-table-column>
<!-- type="index" :label="item.columnDesc"></el-table-column>--> <el-table-column
<!-- <el-table-column--> v-if="item.columnType == 'laber' && executeEval(row,item.expression,true)"
<!-- v-if="item.columnType == 'selection'"--> :prop="item.columnName"
<!-- type="selection"--> :label="item.columnDesc"
<!-- :width="item.width"--> :sortable="item.sort"
<!-- :selectable="(row,number) => executeFuc(row,'3',item.clickFuc)"--> :width="item.width"
<!-- ></el-table-column>--> :show-overflow-tooltip="item.tooltip"
:key="item.columnName"
<!-- <el-table-column--> >
<!-- v-if="item.columnType == 'radio' && executeEval(row,item.expression,true)"--> <template slot-scope="scope">
<!-- :prop="item.columnName"--> <span :style="{color: executeFuc(scope.row,'4',item.lableRuleObj[scope.row[item.columnName]])}">{{
<!-- :label="item.columnDesc"--> item.lableRuleObj[scope.row[item.columnName]]
<!-- :sortable="item.sort"--> }}</span>
<!-- :width="item.width"--> </template>
<!-- :show-overflow-tooltip="item.tooltip"--> </el-table-column>
<!-- :key="item.columnName"--> <el-table-column
<!-- >--> v-if="item.columnType == 'eltag' && executeEval(row,item.expression,true)"
<!-- <template slot-scope="scope">--> :prop="item.columnName"
<!-- <el-radio :label="scope.row.id" v-model="radioCheck"><span></span></el-radio>--> :label="item.columnDesc"
<!-- </template>--> :sortable="item.sort"
<!-- </el-table-column>--> :width="item.width"
<!-- <el-table-column--> :show-overflow-tooltip="item.tooltip"
<!-- v-if="item.columnType == 'laber' && executeEval(row,item.expression,true)"--> :key="item.columnName"
<!-- :prop="item.columnName"--> >
<!-- :label="item.columnDesc"--> <template slot-scope="scope">
<!-- :sortable="item.sort"--> <el-tag
<!-- :width="item.width"--> :type="executeFuc(scope.row,'4',item,item.lableRuleObj?item.lableRuleObj[scope.row[item.columnName]]:scope.row[item.columnName])">
<!-- :show-overflow-tooltip="item.tooltip"--> <span>{{
<!-- :key="item.columnName"--> item.lableRuleObj ? item.lableRuleObj[scope.row[item.columnName]] : scope.row[item.columnName]
<!-- >--> }}</span>
<!-- <template slot-scope="scope">--> </el-tag>
<!-- <span :style="{color: executeFuc(scope.row,'4',item.lableRuleObj[scope.row[item.columnName]])}">{{--> </template>
<!-- item.lableRuleObj[scope.row[item.columnName]]--> </el-table-column>
<!-- }}</span>--> <el-table-column
<!-- </template>--> v-if="item.columnType == 'button' && executeEval(row,item.expression,true)"
<!-- </el-table-column>--> :prop="item.columnName"
<!-- <el-table-column--> :label="item.columnDesc"
<!-- v-if="item.columnType == 'eltag' && executeEval(row,item.expression,true)"--> :width="item.width"
<!-- :prop="item.columnName"--> :key="item.columnName"
<!-- :label="item.columnDesc"--> fixed="right"
<!-- :sortable="item.sort"--> >
<!-- :width="item.width"--> <template slot-scope="scope">
<!-- :show-overflow-tooltip="item.tooltip"--> <el-button v-for="(buttonItem, buttonIndex) in item.buttonRulObj"
<!-- :key="item.columnName"--> :type="buttonItem.type"
<!-- >--> :size="buttonItem.size"
<!-- <template slot-scope="scope">--> :style="buttonItem.style"
<!-- <el-tag--> :key="buttonItem"
<!-- :type="executeFuc(scope.row,'4',item,item.lableRuleObj?item.lableRuleObj[scope.row[item.columnName]]:scope.row[item.columnName])">--> v-if="executeEval(scope.row,buttonItem.hasPermi,true)"
<!-- <span>{{--> :disabled="executeEval(scope.row,buttonItem.disabledFuc,false)"
<!-- item.lableRuleObj ? item.lableRuleObj[scope.row[item.columnName]] : scope.row[item.columnName]--> @click.native.stop="executeFuc(scope.row,'1',buttonItem.clickFuc)"
<!-- }}</span>--> >{{ buttonItem.name }}
<!-- </el-tag>--> </el-button>
<!-- </template>--> </template>
<!-- </el-table-column>--> </el-table-column>
<!-- <el-table-column--> <el-table-column
<!-- v-if="item.columnType == 'button' && executeEval(row,item.expression,true)"--> v-if="item.columnType == 'text' && executeEval(row,item.expression,true)"
<!-- :prop="item.columnName"--> :prop="item.columnName"
<!-- :label="item.columnDesc"--> :label="item.columnDesc"
<!-- :width="item.width"--> :sortable="item.sort"
<!-- :key="item.columnName"--> :width="item.width"
<!-- fixed="right"--> :show-overflow-tooltip="item.tooltip"
<!-- >--> :key="item.columnName"
<!-- <template slot-scope="scope">--> >
<!-- <el-button v-for="(buttonItem, buttonIndex) in item.buttonRulObj"--> <template slot-scope="scope">
<!-- :type="buttonItem.type"--> <span :style="{color: executeFuc(scope.row,'4',item,scope.row[item.columnName])}">{{
<!-- :size="buttonItem.size"--> scope.row[item.columnName]
<!-- :style="buttonItem.style"--> }}</span>
<!-- :key="buttonItem"--> </template>
<!-- v-if="executeEval(scope.row,buttonItem.hasPermi,true)"--> </el-table-column>
<!-- :disabled="executeEval(scope.row,buttonItem.disabledFuc,false)"--> </template>
<!-- @click.native.stop="executeFuc(scope.row,'1',buttonItem.clickFuc)"--> </el-table>
<!-- >{{ buttonItem.name }}--> <pagination
<!-- </el-button>--> v-show="errTotal>0"
<!-- </template>--> :total="errTotal"
<!-- </el-table-column>--> :limit.sync="errQuery.limit"
<!-- <el-table-column--> :page.sync="errQuery.page"
<!-- v-if="item.columnType == 'text' && executeEval(row,item.expression,true)"--> @pagination="handleCurrentChange"
<!-- :prop="item.columnName"--> ></pagination>
<!-- :label="item.columnDesc"--> </el-tab-pane>
<!-- :sortable="item.sort"--> </el-tabs>
<!-- :width="item.width"-->
<!-- :show-overflow-tooltip="item.tooltip"-->
<!-- :key="item.columnName"-->
<!-- >-->
<!-- <template slot-scope="scope">-->
<!-- <span :style="{color: executeFuc(scope.row,'4',item,scope.row[item.columnName])}">{{-->
<!-- scope.row[item.columnName]-->
<!-- }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </template>-->
<!-- </el-table>-->
<!-- <pagination-->
<!-- v-show="errTotal>0"-->
<!-- :total="errTotal"-->
<!-- :limit.sync="errQuery.limit"-->
<!-- :page.sync="errQuery.page"-->
<!-- @pagination="handleCurrentChange"-->
<!-- ></pagination>-->
<!--</el-tab-pane>-->
<!--</el-tabs>-->
</el-card> </el-card>

@ -193,6 +193,23 @@
:dangerouslyUseHTMLString="true" :dangerouslyUseHTMLString="true"
:description="result"> :description="result">
</el-alert> </el-alert>
<el-alert
v-if="warnVisible"
title="警告信息:"
type="warning"
:closable="true"
:dangerouslyUseHTMLString="true"
:description="warnResult">
</el-alert>
<el-alert
v-if="errVisible"
title="错误信息:"
type="warning"
:closable="true"
:dangerouslyUseHTMLString="true"
:description="errResult">
</el-alert>
</div> </div>
<el-descriptions title="单据信息" :column="4" border style="margin-top: 15px"> <el-descriptions title="单据信息" :column="4" border style="margin-top: 15px">
@ -1165,6 +1182,12 @@ export default {
let params = { let params = {
codeList: event.detail.recCodes, codeList: event.detail.recCodes,
}; };
if (this.formData.billNo == null) {
this.$message.error("请先选入单据!");
return
}
// //
batchVailCode(params).then((res) => { batchVailCode(params).then((res) => {
if (res.code === 20000) { if (res.code === 20000) {

@ -316,7 +316,7 @@ import {
submitOrderWeb, submitOrderWeb,
saveOrderWeb, saveOrderWeb,
enterCodeWeb, submitAllocateBiz, rollbackWaitcheck, submitCodeResult, submitCheckResult, delmitBiz, enterCodeWeb, submitAllocateBiz, rollbackWaitcheck, submitCodeResult, submitCheckResult, delmitBiz,
batchVailCode,batchAddCode batchVailCode, batchAddCode
} from "@/api/inout/order"; } from "@/api/inout/order";
import {filterSubAll, findByFrom, findInvByUser} from "@/api/system/invSubWarehouse"; import {filterSubAll, findByFrom, findInvByUser} from "@/api/system/invSubWarehouse";
import {parseTime} from "@/utils/coTools"; import {parseTime} from "@/utils/coTools";
@ -573,7 +573,7 @@ export default {
curWorkPlace: null, curWorkPlace: null,
fifoSplitEnable: false, fifoSplitEnable: false,
scanDisabled: false,// scanDisabled: false,//
valiCodes:[] valiCodes: []
}; };
}, },
components: { components: {
@ -1850,41 +1850,68 @@ export default {
this.showSearch = true this.showSearch = true
} }
}, },
// //
handleRecCodesEvent(event) { handleRecCodesEvent(event) {
console.log('接收 recCodes event:',event.detail.recCodes); console.log('接收 recCodes event:', event.detail.recCodes);
let params = { let params = {
codeList: event.detail.recCodes, codeList: event.detail.recCodes,
}; };
// //
batchVailCode(params).then((response) => { batchVailCode(params).then((response) => {
if (response.code === 20000) { if (response.code === 20000) {
console.log("==滴码接收==",response.data); console.log("==滴码接收==", response.data);
this.valiCodes = []; this.valiCodes = [];
let list = response.data; let list = response.data;
list.forEach(item => { list.forEach(item => {
if (item.status === 1) { if (item.status === 1) {
valiCodes.push(item.code); this.valiCodes.push(item.code);
}
});
//
if (this.valiCodes != null && this.valiCodes.length > 0) {
// let params2 = {
// workPlaceCode: this.orderFormData.workPlaceCode,
// codeList: this.valiCodes
// }
this.orderFormData.codeList = this.valiCodes
batchAddCode(this.orderFormData).then((res) => {
if (res.code === 20000) {
this.$refs.inputRef.focus();
this.refreshCodesPanel(this);
this.printMutiCodeResult(res.data.vailCodeResultResponses)
} else {
this.$message.error(res.message)
} }
}); });
} }
this.scanCode = this.valiCodes.join(";");
});
//
if(this.valiCodes !=null && this.valiCodes.length > 0){
let params2 = {
workPlaceCode:this.orderFormData.workPlaceCode,
codeList:this.valiCodes
} }
batchAddCode(params2).then((res) => { // this.scanCode = this.valiCodes.join(";");
if (res.code === 20000) {
this.$message.success("添加成功")
}else{
this.$message.error(res.message)
}
}); });
},
async printMutiCodeResult(vailCodeResultResponses) {
this.warnVisible = false;
this.errVisible = false;
for (let i = 0; i < vailCodeResultResponses.length; i++) {
let data = vailCodeResultResponses[i]
if (data.status == 1)
this.result = this.result + ";" + vailCodeResultResponses[i].code;
else if (data.status == 2) {
this.warnResult = this.warnResult + "\n" + vailCodeResultResponses[i].code + ":" + vailCodeResultResponses[i].errMsg;
} else if (data.status == 3) {
this.result = this.result + "\n" + vailCodeResultResponses[i].code;
// this.warnResult = this.warnResult + "\n" + vailCodeResultResponses[i].code + ":" + vailCodeResultResponses[i].errMsg;
await this.popupTip(data)
}
// else
// this.errResult = this.errResult + "\n" + vailCodeResultResponses[i].code + ":" + vailCodeResultResponses[i].errMsg;
} }
} if (!isBlank(this.warnResult))
this.warnVisible = true;
if (!isBlank(this.errResult))
this.errVisible = true;
},
}, },
filters: {}, filters: {},
mounted() { mounted() {
@ -1914,7 +1941,7 @@ export default {
inputer.focus(); inputer.focus();
this.$refs.inputRef.focus(); this.$refs.inputRef.focus();
// //
if(window.navigator.userAgent.indexOf("GLXP_PC") != -1){ if (window.navigator.userAgent.indexOf("GLXP_PC") != -1) {
this.scanDisabled = true; this.scanDisabled = true;
window.addEventListener('gwsh', this.handleRecCodesEvent); window.addEventListener('gwsh', this.handleRecCodesEvent);
} }

Loading…
Cancel
Save