外协订单结算功能开发

dev-scheduling
姜雪 1 month ago
parent 26b6239345
commit 27d97b3b5d
  1. 34
      src/api/outsourcingManagement/oemOrderSettlement.js
  2. 63
      src/views/oem/oemOrderSettlement/components/reviewDailog.vue
  3. 296
      src/views/oem/oemOrderSettlement/components/settlementAnomaly.vue
  4. 255
      src/views/oem/oemOrderSettlement/components/settlementCompleted.vue
  5. 96
      src/views/oem/oemOrderSettlement/components/settlementDailog.vue
  6. 250
      src/views/oem/oemOrderSettlement/components/settlementIn.vue
  7. 78
      src/views/oem/oemOrderSettlement/components/unsettled.vue
  8. 12
      src/views/oem/proTask/inPlantProcessOem.vue

@ -8,4 +8,36 @@ export const getStatement = params =>{
method:'get', method:'get',
params params
}) })
} }
//结算
export const oemSettleAccountsItem = params => {
return request({
url: '/blade-desk/mesOemStatement/oemSettleAccounts',
method: 'post',
data: params,
});
};
//预结算
export const preSettlementItem = params => {
return request({
url: '/blade-desk/mesOemStatement/preSettlement',
method: 'post',
data: params,
});
};
//无需结算
export const noSettlementItem = params => {
return request({
url: '/blade-desk/mesOemStatement/noSettlement',
method: 'post',
data: params,
});
};
//审核
export const approvalItem = params => {
return request({
url: '/blade-desk/mesOemStatement/approval',
method: 'post',
data: params,
});
};

@ -1,6 +1,6 @@
<template> <template>
<el-dialog title="审核" append-to-body :modelValue="openShow" width="30%" @close="closeDialog"> <el-dialog title="审核" append-to-body :modelValue="openShow" width="30%" @close="closeDialog">
<avue-form :option="option"></avue-form> <avue-form ref="form" :option="option" v-model="form"></avue-form>
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
@ -11,36 +11,30 @@
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import {approvalItem} from "@/api/outsourcingManagement/oemOrderSettlement"
export default { export default {
props: { props: {
showDialog: { showDialog: {
type: Boolean, type: Boolean,
default: false default: false
}, },
ids: {
type: String,
default: ''
},
}, },
data() { data() {
return { return {
openShow: false, openShow: false,
form: {},
option: { option: {
submitBtn: false, submitBtn: false,
emptyBtn: false, emptyBtn: false,
column: [ column: [
{ {
label: '审批结果', label: '审批意见',
prop: 'input', prop: 'reason',
span: 24,
type: 'radio',
dicData: [
{ label: '审批通过', value: 0 },
{ label: '审批不通过', value: 1 },
],
rules: [
{ required: true, message: '请输入姓名', trigger: 'blur' }
]
},
{
label: '驳回原因',
prop: 'input2',
type: 'select', type: 'select',
span: 24, span: 24,
dicData: [ dicData: [
@ -52,8 +46,24 @@ export default {
label: '基础数据有误', label: '基础数据有误',
value: '2', value: '2',
} }
],
rules: [
{ required: true, message: '请选择审批意见', trigger: 'change' }
]
},{
label: '审批结果',
prop: 'approvalStatus',
span: 24,
type: 'radio',
dicData: [
{ label: '待审批', value: 1 },
{ label: '审批通过', value: 2 },
{ label: '审批不通过', value: 3 },
],
rules: [
{ required: true, message: '请选择审批结果', trigger: 'change' }
] ]
} },
] ]
} }
} }
@ -64,7 +74,26 @@ export default {
methods: { methods: {
closeDialog() { closeDialog() {
this.openShow = false this.openShow = false
this.form = {}
this.$emit('closeDialog'); this.$emit('closeDialog');
},
submit() {
this.$refs.form.validate(valid => {
if (valid) {
const params = {
reason: this.form.reason || '',
approvalStatus: this.form.approvalStatus,
ids: this.ids
};
approvalItem(params).then(() => {
this.$message.success('审核成功');
this.$emit('closeDialog');
this.$emit('refresh');
}).catch(() => {
this.$message.error('审核失败');
});
}
});
} }
} }
} }

@ -6,27 +6,26 @@
@refresh-change="refreshChange" @on-load="onLoad"> @refresh-change="refreshChange" @on-load="onLoad">
<template #menu-left> <template #menu-left>
<el-form ref="form" :model="formValue" label-width="100px" :inline="true"> <el-form ref="form" :model="formValue" label-width="100px" :inline="true">
<el-form-item label="现执行价格:">
<el-input v-model="formValue.name"></el-input>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="settlementFn">结算</el-button> <el-button type="primary" @click="settlementFn('settle')">结算</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</template> </template>
<template #menu-right> <template #menu-right>
</template> </template>
<template #menu="scope"> <template #menu>
</template> </template>
</avue-crud> </avue-crud>
<settlementDailog v-if="isOpen" :showDialog="isOpen" @closeDialog="closeDialog"> </settlementDailog> <settlementDailog v-if="isOpen" :showDialog="isOpen" :type="settlementType" :statementList="selectionList" @closeDialog="closeDialog" @refresh="refreshTable"></settlementDailog>
</div> </div>
</template> </template>
<script> <script>
import settlementDailog from './SettlementDailog.vue' import settlementDailog from './SettlementDailog.vue'
import {getStatement} from "@/api/outsourcingManagement/oemOrderSettlement"
export default { export default {
components: { components: {
@ -42,7 +41,6 @@ export default {
height: 'auto', height: 'auto',
calcHeight: 32, calcHeight: 32,
tip: false, tip: false,
// size: 'medium',
simplePage: true, simplePage: true,
searchShow: true, searchShow: true,
searchMenuSpan: 6, searchMenuSpan: 6,
@ -50,8 +48,9 @@ export default {
searchIndex: 3, searchIndex: 3,
tree: false, tree: false,
border: true, border: true,
index: true, index: false,
selection: true, selection: true,
rowKey: 'id',
editBtn: false, editBtn: false,
viewBtn: false, viewBtn: false,
delBtn: false, delBtn: false,
@ -66,13 +65,10 @@ export default {
dialogWidth: 640, dialogWidth: 640,
dialogClickModal: false, dialogClickModal: false,
searchEnter: true, searchEnter: true,
excelBtn: false, excelBtn: true,
filterBtn: true, filterBtn: true,
searchShowBtn: false, searchShowBtn: false,
columnSort: true, columnSort: true,
excelBtn: true,
columnSort: true,
index: false,
showOverflowTooltip: true, showOverflowTooltip: true,
menu: false, menu: false,
searchLabelPosition: 'left', searchLabelPosition: 'left',
@ -89,37 +85,38 @@ export default {
column: [ column: [
{ {
label: '外协单号', label: '外协单号',
prop: 'workCenterNames', prop: 'oemCode',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: true, search: true,
width: 120, width: 120,
searchOrder:19, searchOrder:18,
}, },
{ {
label: '车间订单单号', label: '车间订单单号',
prop: 'workCenterNames', prop: 'woCode',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: true, search: true,
width: 140, width: 140,
searchLabelWidth:110, searchLabelWidth: 110,
searchOrder:19,
}, },
{ {
label: '零件号', label: '零件号',
prop: 'workCenterNames', prop: 'partCode',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: true, search: true,
width: 120, width: 120,
searchOrder:16, searchOrder:17,
}, },
{ {
label: '零件名称', label: '零件名称',
prop: 'workCenterNames', prop: 'partName',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
@ -128,126 +125,102 @@ export default {
}, },
{ {
label: '批次号', label: '批次号',
prop: 'workCenterNames', prop: 'batchNo',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: true, search: true,
width: 120, width: 120,
searchOrder:14, searchOrder:15,
}, },
{ {
label: '生产标识', label: '生产标识',
prop: 'workCenterNames', prop: 'prodIdent',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: true, search: true,
width: 120, width: 120,
type:'select', type:'select',
searchOrder:15, searchOrder:16,
dicData:[ dicUrl:"/api/blade-scheduling/qualityGrade/getGrades",
{ props:{
label:'JI', label:'qualityGrade',
value:1 value:"id"
}, }
{
label:'JII',
value:2
},
]
}, },
{ {
label: '工序', label: '工序',
prop: 'workCenterNames', prop: 'psCode',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: true, search: true,
width: 120, width: 120,
type:'select', type:'select',
searchOrder:17, dicUrl:"/api/blade-desk/bsProcessSet/getProcessSetList",
dicData:[ props:{
{ label: 'name',
label:'工序1', value: 'code',
value:1 },
},
{
label:'工序2',
value:2
},
]
}, },
{ {
label: '工艺能力', label: '工艺能力',
prop: 'workCenterNames', prop: 'caName',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '镀后入库时间', label: '镀后入库时间',
prop: 'duhoutime', prop: 'putStoreTime',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: true, search: true,
width: 140, width: 140,
searchLabelWidth: 110, searchLabelWidth: 110,
searchOrder:20, type: "date",
type: "date",
searchRange: true, searchRange: true,
format: 'YYYY-MM-DD', format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD', valueFormat: 'YYYY-MM-DD',
startPlaceholder: '开始时间', startPlaceholder: '开始时间',
endPlaceholder: '结束时间', endPlaceholder: '结束时间',
searchRules: [ searchOrder:20,
{
required: true,
message: "请输入姓名",
trigger: "blur"
}
]
}, },
{ {
label: '生产数量', label: '生产数量',
prop: 'workCenterNames', prop: 'makeQty',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '单位面积(d㎡)', label: '单位面积(d㎡)',
prop: 'workCenterNames', prop: 'ypArea',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 140, width: 140,
}, },
{ {
label: '总面积(d㎡)', label: '总面积(d㎡)',
prop: 'workCenterNames', prop: 'totalArea',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 140, width: 140,
}, },
{ {
label: '外协厂商', label: '外协厂商',
prop: 'workCenterNames', prop: 'ocId',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
@ -255,90 +228,103 @@ export default {
width: 120, width: 120,
type:'select', type:'select',
searchOrder:18, searchOrder:18,
dicData:[ dicUrl:"/api/blade-desk/BA/Oem/listForSelect",
{ props:{
label:'外协厂商1', label:'ocName',
value:1 value:"id"
}, }
{
label:'外协厂商2',
value:2
},
]
}, },
{ {
label: '镀种', label: '镀种',
prop: 'workCenterNames', prop: 'plate',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '镀层厚度', label: '镀层厚度',
prop: 'workCenterNames', prop: 'plateThickness',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '涂色标个数', label: '涂色标个数',
prop: 'workCenterNames', prop: 'tsbNum',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '涂色带个数', label: '涂色带个数',
prop: 'workCenterNames', prop: 'tsdNum',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '涂箭头个数', label: '涂箭头个数',
prop: 'workCenterNames', prop: 'tjtNum',
sortable: true,
filter: true,
span: 24,
search: false,
width: 120,
},
{
label: '结算单价',
prop: 'settlePrice',
sortable: true,
filter: true,
span: 24,
search: false,
width: 120,
},
{
label: '计量单位',
prop: 'settleUnit',
sortable: true,
filter: true,
span: 24,
search: false,
width: 120,
},
{
label: '结算金额',
prop: 'settleAmount',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '报价单号', label: '报价单号',
prop: 'workCenterNames', prop: 'quoteCode',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '异常原因', label: '异常原因',
prop: 'workCenterNames', prop: 'abnormalReason',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: true, search: true,
width: 120, width: 120,
searchOrder:13, searchOrder:14,
}, },
] ]
}, },
form: {}, form: {},
@ -349,14 +335,23 @@ export default {
total: 0, total: 0,
}, },
isOpen: false, isOpen: false,
settlementType: 'settle',
} }
}, },
methods: { methods: {
refreshTable() {
this.onLoad();
},
closeDialog() { closeDialog() {
this.isOpen = false this.isOpen = false
}, },
settlementFn() { settlementFn(type) {
this.isOpen = true if (this.selectionList.length === 0) {
this.$message.warning('请选择至少一条数据');
return;
}
this.settlementType = type;
this.isOpen = true;
}, },
closeDialog() { closeDialog() {
this.isOpen = false this.isOpen = false
@ -379,99 +374,18 @@ export default {
}, },
onLoad() { onLoad() {
this.loading = true this.loading = true
this.data = [ getStatement({
{ current:this.page.currentPage,
"bsTeamSet": null, size:this.page.pageSize,
"bsWorkCenter": { rosStatusList:'3',
"area": 13000.0, ...this.query
"batchNo": null, }).then(res =>{
"bigBatch": false, this.data = res.data.data.records
"bsJfCenter": { this.page.total = res.data.data.total
"createMan": { this.loading = false
"userId": 1, }).catch(() => {
"userName": "admin" this.loading = false
}, })
"createTime": "2024-12-09 00:00:00",
"deleted": false,
"jcCode": "RBZX",
"jcId": 1,
"jcName": "热表中心",
"keyValue": 1,
"updateTime": "2024-12-09 00:00:00"
},
"checkout": false,
"craftAbility": "化学镀镍",
"createMan": {
"userId": 1,
"userName": "admin"
},
"createTime": "2023-02-06 12:31:36",
"deleted": false,
"describe": null,
"endPoint": null,
"keyValue": 81,
"leaderUser": {
"userId": 541,
"userName": "崔殿龙"
},
"limitType": 0,
"processes": "上挂、下挂、交检、化学镀镍、喷砂",
"quantity": null,
"roundCycle": null,
"saturation": 85.0,
"sign": "4",
"startPoint": null,
"team": "化学镀镍一班崔胜伟、化学镀镍一班郭家梁",
"updateTime": "2023-03-06 18:42:47",
"wcCode": "001",
"wcId": 81,
"wcName": "化学镀镍作业中心",
"whetherPlate": false
},
"createMan": {
"userId": 1,
"userName": "admin"
},
"createTime": "2025-04-09 11:27:09",
"deEquipmentCard": {
"bindQty": 4,
"categorys": "产线设备",
"deviceCode": "9652247",
"deviceIp": "192.168.43.179",
"deviceName": "化学镀镍",
"docking": true,
"ecId": 1,
"keyValue": 1,
"macCode": "9652247",
"macSpec": null,
"memo": null,
"rfId": "SYM-HCP-L4",
"status": true,
"typeName": "9652247",
"updateTime": null,
"used": 1,
"usedText": "正常服役",
"virtualMac": false
},
"keyValue": 121,
"pureWater": 1.0,
"quotaArea": 0.0,
"tapWater": 1.0,
"updateTime": "2025-04-09 11:27:09",
"uqDate": "2025-04-09",
"uqId": 121,
"uqType": 0,
"useElectric": 0.0,
"workCenterId": "[81]",
"workCenterName": "[\"化学镀镍作业中心\"]",
"workCenterNames": "化学镀镍作业中心"
}
]
this.page.total = this.data.length
this.loading = false
// setTimeout(() => {
// this.selectionClear()
// }, 500)
} }
} }
} }

@ -9,7 +9,7 @@
<template #menu-right> <template #menu-right>
</template> </template>
<template #menu="scope"> <template #menu>
</template> </template>
@ -17,6 +17,7 @@
</div> </div>
</template> </template>
<script> <script>
import {getStatement} from "@/api/outsourcingManagement/oemOrderSettlement"
export default { export default {
components: { components: {
@ -31,7 +32,6 @@ export default {
height: 'auto', height: 'auto',
calcHeight: 32, calcHeight: 32,
tip: false, tip: false,
// size: 'medium',
simplePage: true, simplePage: true,
searchShow: true, searchShow: true,
searchMenuSpan: 6, searchMenuSpan: 6,
@ -39,8 +39,9 @@ export default {
searchIndex: 3, searchIndex: 3,
tree: false, tree: false,
border: true, border: true,
index: true, index: false,
selection: true, selection: true,
rowKey: 'id',
editBtn: false, editBtn: false,
viewBtn: false, viewBtn: false,
delBtn: false, delBtn: false,
@ -55,17 +56,13 @@ export default {
dialogWidth: 640, dialogWidth: 640,
dialogClickModal: false, dialogClickModal: false,
searchEnter: true, searchEnter: true,
excelBtn: false, excelBtn: true,
filterBtn: true, filterBtn: true,
searchShowBtn: false, searchShowBtn: false,
columnSort: true, columnSort: true,
excelBtn: true,
columnSort: true,
index: false,
showOverflowTooltip: true, showOverflowTooltip: true,
menu: false, menu: false,
searchLabelPosition: 'left', searchLabelPosition: 'left',
searchLabelPosition: 'left',
searchGutter: 24, searchGutter: 24,
searchSpan: 6, searchSpan: 6,
menuAlign: 'left', menuAlign: 'left',
@ -79,7 +76,7 @@ export default {
column: [ column: [
{ {
label: '外协单号', label: '外协单号',
prop: 'workCenterNames', prop: 'oemCode',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
@ -89,7 +86,7 @@ export default {
}, },
{ {
label: '车间订单单号', label: '车间订单单号',
prop: 'workCenterNames', prop: 'woCode',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
@ -100,17 +97,17 @@ export default {
}, },
{ {
label: '零件号', label: '零件号',
prop: 'workCenterNames', prop: 'partCode',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: true, search: true,
width: 120, width: 120,
searchOrder:15, searchOrder:17,
}, },
{ {
label: '零件名称', label: '零件名称',
prop: 'workCenterNames', prop: 'partName',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
@ -119,71 +116,57 @@ export default {
}, },
{ {
label: '批次号', label: '批次号',
prop: 'workCenterNames', prop: 'batchNo',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: true, search: true,
width: 120, width: 120,
searchOrder:13, searchOrder:15,
}, },
{ {
label: '生产标识', label: '生产标识',
prop: 'workCenterNames', prop: 'prodIdent',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: true, search: true,
width: 120, width: 120,
type:'select', type:'select',
searchOrder:14, searchOrder:16,
dicData:[ dicUrl:"/api/blade-scheduling/qualityGrade/getGrades",
{ props:{
label:'JI', label:'qualityGrade',
value:1 value:"id"
}, }
{
label:'JII',
value:2
},
]
}, },
{ {
label: '工序', label: '工序',
prop: 'workCenterNames', prop: 'psCode',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: true, search: true,
width: 120, width: 120,
type:'select', type:'select',
searchOrder:16, dicUrl:"/api/blade-desk/bsProcessSet/getProcessSetList",
dicData:[ props:{
{ label: 'name',
label:'工序1', value: 'code',
value:1 },
},
{
label:'工序2',
value:2
},
]
}, },
{ {
label: '工艺能力', label: '工艺能力',
prop: 'workCenterNames', prop: 'caName',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '镀后入库时间', label: '镀后入库时间',
prop: 'duhoutime', prop: 'putStoreTime',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
@ -197,160 +180,135 @@ export default {
startPlaceholder: '开始时间', startPlaceholder: '开始时间',
endPlaceholder: '结束时间', endPlaceholder: '结束时间',
searchOrder:20, searchOrder:20,
searchRules: [
{
required: true,
message: "请输入姓名",
trigger: "blur"
}
]
}, },
{ {
label: '生产数量', label: '生产数量',
prop: 'workCenterNames', prop: 'makeQty',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '单位面积(d㎡)', label: '单位面积(d㎡)',
prop: 'workCenterNames', prop: 'ypArea',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 140, width: 140,
}, },
{ {
label: '总面积(d㎡)', label: '总面积(d㎡)',
prop: 'workCenterNames', prop: 'totalArea',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 140, width: 140,
}, },
{ {
label: '外协厂商', label: '外协厂商',
prop: 'workCenterNames', prop: 'ocId',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: true, search: true,
width: 120, width: 120,
type:'select', type:'select',
searchOrder:17, searchOrder:18,
dicData:[ dicUrl:"/api/blade-desk/BA/Oem/listForSelect",
{ props:{
label:'外协厂商1', label:'ocName',
value:1 value:"id"
}, }
{
label:'外协厂商2',
value:2
},
]
}, },
{ {
label: '镀种', label: '镀种',
prop: 'workCenterNames', prop: 'plate',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '镀层厚度', label: '镀层厚度',
prop: 'workCenterNames', prop: 'plateThickness',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '涂色标个数', label: '涂色标个数',
prop: 'workCenterNames', prop: 'tsbNum',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '涂色带个数', label: '涂色带个数',
prop: 'workCenterNames', prop: 'tsdNum',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '涂箭头个数', label: '涂箭头个数',
prop: 'workCenterNames', prop: 'tjtNum',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '结算单价', label: '结算单价',
prop: 'workCenterNames', prop: 'settlePrice',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '计量单位', label: '计量单位',
prop: 'workCenterNames', prop: 'settleUnit',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '结算金额', label: '结算金额',
prop: 'workCenterNames', prop: 'settleAmount',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '报价单号', label: '报价单号',
prop: 'workCenterNames', prop: 'quoteCode',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '结算状态', label: '结算状态',
prop: 'workCenterNames', prop: 'settleStatus',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
@ -360,29 +318,27 @@ export default {
searchOrder:12, searchOrder:12,
dicData: [ dicData: [
{ {
lable: '已推送', label: '已推送',
value: '1' value: '1'
}, },
{ {
lable: '已审批', label: '已审批',
value: '2' value: '2'
}, },
{ {
lable: '已结算', label: '已结算',
value: '3' value: '3'
}, },
{ {
lable: '已确认', label: '已确认',
value: '4' value: '4'
}, },
{ {
lable: '已挂账', label: '已挂账',
value: '5' value: '5'
}, },
] ]
} }
] ]
}, },
form: { form: {
@ -421,99 +377,18 @@ export default {
}, },
onLoad() { onLoad() {
this.loading = true this.loading = true
this.data = [ getStatement({
{ current:this.page.currentPage,
"bsTeamSet": null, size:this.page.pageSize,
"bsWorkCenter": { rosStatusList:'4,5',
"area": 13000.0, ...this.query
"batchNo": null, }).then(res =>{
"bigBatch": false, this.data = res.data.data.records
"bsJfCenter": { this.page.total = res.data.data.total
"createMan": { this.loading = false
"userId": 1, }).catch(() => {
"userName": "admin" this.loading = false
}, })
"createTime": "2024-12-09 00:00:00",
"deleted": false,
"jcCode": "RBZX",
"jcId": 1,
"jcName": "热表中心",
"keyValue": 1,
"updateTime": "2024-12-09 00:00:00"
},
"checkout": false,
"craftAbility": "化学镀镍",
"createMan": {
"userId": 1,
"userName": "admin"
},
"createTime": "2023-02-06 12:31:36",
"deleted": false,
"describe": null,
"endPoint": null,
"keyValue": 81,
"leaderUser": {
"userId": 541,
"userName": "崔殿龙"
},
"limitType": 0,
"processes": "上挂、下挂、交检、化学镀镍、喷砂",
"quantity": null,
"roundCycle": null,
"saturation": 85.0,
"sign": "4",
"startPoint": null,
"team": "化学镀镍一班崔胜伟、化学镀镍一班郭家梁",
"updateTime": "2023-03-06 18:42:47",
"wcCode": "001",
"wcId": 81,
"wcName": "化学镀镍作业中心",
"whetherPlate": false
},
"createMan": {
"userId": 1,
"userName": "admin"
},
"createTime": "2025-04-09 11:27:09",
"deEquipmentCard": {
"bindQty": 4,
"categorys": "产线设备",
"deviceCode": "9652247",
"deviceIp": "192.168.43.179",
"deviceName": "化学镀镍",
"docking": true,
"ecId": 1,
"keyValue": 1,
"macCode": "9652247",
"macSpec": null,
"memo": null,
"rfId": "SYM-HCP-L4",
"status": true,
"typeName": "9652247",
"updateTime": null,
"used": 1,
"usedText": "正常服役",
"virtualMac": false
},
"keyValue": 121,
"pureWater": 1.0,
"quotaArea": 0.0,
"tapWater": 1.0,
"updateTime": "2025-04-09 11:27:09",
"uqDate": "2025-04-09",
"uqId": 121,
"uqType": 0,
"useElectric": 0.0,
"workCenterId": "[81]",
"workCenterName": "[\"化学镀镍作业中心\"]",
"workCenterNames": "化学镀镍作业中心"
}
]
this.page.total = this.data.length
this.loading = false
// setTimeout(() => {
// this.selectionClear()
// }, 500)
} }
} }
} }

@ -1,5 +1,12 @@
<template> <template>
<el-dialog title="计算" append-to-body :modelValue="openShow" width="30%" @close="closeDialog"> <el-dialog title="计算" append-to-body :modelValue="openShow" width="30%" @close="closeDialog">
<avue-form :option="option" v-model="form"></avue-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="closeDialog"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</span>
</template>
<div v-if="calculationIn" class="box"> <div v-if="calculationIn" class="box">
<div v-loading="isLoading" style="height:100px"></div> <div v-loading="isLoading" style="height:100px"></div>
<h3>计算中</h3> <h3>计算中</h3>
@ -16,12 +23,12 @@
<div class="box-txt"> <div class="box-txt">
<el-icon style="color:#67c23a;margin-right: 4px;margin-top: 2px;"> <el-icon style="color:#67c23a;margin-right: 4px;margin-top: 2px;">
<SuccessFilled /> <SuccessFilled />
</el-icon>结算成功20条,<i style="color: blue;">待审核></i> </el-icon>结算成功{{ result.successCount }}条,<i style="color: blue;">待审核></i>
</div> </div>
<div class="box-txt"> <div class="box-txt">
<el-icon style="color:#f56c6c;margin-right: 4px;margin-top: 2px;"> <el-icon style="color:#f56c6c;margin-right: 4px;margin-top: 2px;">
<CircleCloseFilled /> <CircleCloseFilled />
</el-icon>结算异常2条,<i style="color: blue;">待审核></i> </el-icon>结算异常{{ result.exceptionCount }}条,<i style="color: blue;">待审核></i>
</div> </div>
</div> </div>
@ -35,18 +42,66 @@
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import {oemSettleAccountsItem,preSettlementItem} from "@/api/outsourcingManagement/oemOrderSettlement"
export default { export default {
props: { props: {
showDialog: { showDialog: {
type: Boolean, type: Boolean,
default: false default: false
}, },
type: {
type: String,
default: 'settle'
},
statementList: {
type: Array,
default: () => []
}
}, },
data() { data() {
return { return {
isLoading: true, isLoading: true,
openShow: false, openShow: false,
calculationIn: true calculationIn: true,
form: {},
result: {
successCount: 0,
exceptionCount: 0
},
option: {
submitBtn: false,
emptyBtn: false,
column: [
{
label: '镀后入库时间',
prop: 'putStoreDate',
span: 24,
type: "date",
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
placeholder: '请选择镀后入库时间',
rules: [
{
required: true,
message: "请选择镀后入库时间",
trigger: "change"
}
]
},
{
label: '现执行价格',
prop: 'price',
type: 'number',
span: 24,
placeholder: '请输入现执行价格',
min: 0,
precision: 2,
},
]
}
} }
}, },
mounted() { mounted() {
@ -59,6 +114,41 @@ export default {
closeDialog() { closeDialog() {
this.openShow = false this.openShow = false
this.$emit('closeDialog'); this.$emit('closeDialog');
this.$emit('refresh');
},
submit() {
//
if (!this.form.putStoreDate) {
this.$message.warning('请选择镀后入库时间');
return;
}
if (!this.form.price) {
this.$message.warning('请输入现执行价格');
return;
}
const params = {
putStoreDate: this.form.putStoreDate,
price: this.form.price,
statementList: this.statementList
};
const requestFn = this.type === 'pre' ? preSettlementItem : oemSettleAccountsItem;
requestFn(params).then(res => {
this.$message.success(this.type === 'pre' ? '预结算成功' : '结算成功');
//
if (res.data) {
console.log(res.data.data,'resqqqqqqqqqqqq');
this.result.successCount = res.data.data.success || 0;
this.result.exceptionCount = res.data.data.error || 0;
}
// this.closeDialog();
// this.$emit('refresh');
}).catch(() => {
this.$message.error(this.type === 'pre' ? '预结算失败' : '结算失败');
});
} }
} }
} }

@ -10,16 +10,17 @@
<template #menu-right> <template #menu-right>
</template> </template>
<template #menu="scope"> <template #menu>
</template> </template>
</avue-crud> </avue-crud>
<reviewDailog v-if="isOpen" :showDialog="isOpen" @closeDialog="closeDialog"></reviewDailog> <reviewDailog v-if="isOpen" :showDialog="isOpen" :ids="ids" @closeDialog="closeDialog" @refresh="onLoad"></reviewDailog>
</div> </div>
</template> </template>
<script> <script>
import reviewDailog from './reviewDailog.vue' import reviewDailog from './reviewDailog.vue'
import {getStatement} from "@/api/outsourcingManagement/oemOrderSettlement"
export default { export default {
components: { components: {
reviewDailog reviewDailog
@ -34,7 +35,6 @@ export default {
height: 'auto', height: 'auto',
calcHeight: 32, calcHeight: 32,
tip: false, tip: false,
// size: 'medium',
simplePage: true, simplePage: true,
searchShow: true, searchShow: true,
searchMenuSpan: 6, searchMenuSpan: 6,
@ -42,8 +42,9 @@ export default {
searchIndex: 3, searchIndex: 3,
tree: false, tree: false,
border: true, border: true,
index: true, index: false,
selection: true, selection: true,
rowKey: 'id',
editBtn: false, editBtn: false,
viewBtn: false, viewBtn: false,
delBtn: false, delBtn: false,
@ -58,17 +59,13 @@ export default {
dialogWidth: 640, dialogWidth: 640,
dialogClickModal: false, dialogClickModal: false,
searchEnter: true, searchEnter: true,
excelBtn: false, excelBtn: true,
filterBtn: true, filterBtn: true,
searchShowBtn: false, searchShowBtn: false,
columnSort: true, columnSort: true,
excelBtn: true,
columnSort: true,
index: false,
showOverflowTooltip: true, showOverflowTooltip: true,
menu: false, menu: false,
searchLabelPosition: 'left', searchLabelPosition: 'left',
searchLabelPosition: 'left',
searchGutter: 24, searchGutter: 24,
searchSpan: 6, searchSpan: 6,
menuAlign: 'left', menuAlign: 'left',
@ -82,7 +79,7 @@ export default {
column: [ column: [
{ {
label: '外协单号', label: '外协单号',
prop: 'workCenterNames', prop: 'oemCode',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
@ -92,7 +89,7 @@ export default {
}, },
{ {
label: '车间订单单号', label: '车间订单单号',
prop: 'workCenterNames', prop: 'woCode',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
@ -103,17 +100,17 @@ export default {
}, },
{ {
label: '零件号', label: '零件号',
prop: 'workCenterNames', prop: 'partCode',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: true, search: true,
width: 120, width: 120,
searchOrder:15, searchOrder:17,
}, },
{ {
label: '零件名称', label: '零件名称',
prop: 'workCenterNames', prop: 'partName',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
@ -122,71 +119,57 @@ export default {
}, },
{ {
label: '批次号', label: '批次号',
prop: 'workCenterNames', prop: 'batchNo',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: true, search: true,
width: 120, width: 120,
searchOrder:13, searchOrder:15,
}, },
{ {
label: '生产标识', label: '生产标识',
prop: 'workCenterNames', prop: 'prodIdent',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: true, search: true,
width: 120, width: 120,
type:'select', type:'select',
searchOrder:14, searchOrder:16,
dicData:[ dicUrl:"/api/blade-scheduling/qualityGrade/getGrades",
{ props:{
label:'JI', label:'qualityGrade',
value:1 value:"id"
}, }
{
label:'JII',
value:2
},
]
}, },
{ {
label: '工序', label: '工序',
prop: 'workCenterNames', prop: 'psCode',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: true, search: true,
width: 120, width: 120,
type:'select', type:'select',
searchOrder:16, dicUrl:"/api/blade-desk/bsProcessSet/getProcessSetList",
dicData:[ props:{
{ label: 'name',
label:'工序1', value: 'code',
value:1 },
},
{
label:'工序2',
value:2
},
]
}, },
{ {
label: '工艺能力', label: '工艺能力',
prop: 'workCenterNames', prop: 'caName',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '镀后入库时间', label: '镀后入库时间',
prop: 'duhoutime', prop: 'putStoreTime',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
@ -200,159 +183,131 @@ export default {
startPlaceholder: '开始时间', startPlaceholder: '开始时间',
endPlaceholder: '结束时间', endPlaceholder: '结束时间',
searchOrder:20, searchOrder:20,
searchRules: [
{
required: true,
message: "请输入姓名",
trigger: "blur"
}
]
}, },
{ {
label: '生产数量', label: '生产数量',
prop: 'workCenterNames', prop: 'makeQty',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '单位面积(d㎡)', label: '单位面积(d㎡)',
prop: 'workCenterNames', prop: 'ypArea',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 140, width: 140,
}, },
{ {
label: '总面积(d㎡)', label: '总面积(d㎡)',
prop: 'workCenterNames', prop: 'totalArea',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 140, width: 140,
}, },
{ {
label: '外协厂商', label: '外协厂商',
prop: 'workCenterNames', prop: 'ocId',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: true, search: true,
width: 120, width: 120,
type:'select', type:'select',
searchOrder:17, dicUrl:"/api/blade-desk/BA/Oem/listForSelect",
dicData:[ props:{
{ label:'ocName',
label:'外协厂商1', value:"id"
value:1 }
},
{
label:'外协厂商2',
value:2
},
]
}, },
{ {
label: '镀种', label: '镀种',
prop: 'workCenterNames', prop: 'plate',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '镀层厚度', label: '镀层厚度',
prop: 'workCenterNames', prop: 'plateThickness',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '涂色标个数', label: '涂色标个数',
prop: 'workCenterNames', prop: 'tsbNum',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '涂色带个数', label: '涂色带个数',
prop: 'workCenterNames', prop: 'tsdNum',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '涂箭头个数', label: '涂箭头个数',
prop: 'workCenterNames', prop: 'tjtNum',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '结算单价', label: '结算单价',
prop: 'workCenterNames', prop: 'settlePrice',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '计量单位', label: '计量单位',
prop: 'workCenterNames', prop: 'settleUnit',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '结算金额', label: '结算金额',
prop: 'workCenterNames', prop: 'settleAmount',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
{ {
label: '报价单号', label: '报价单号',
prop: 'workCenterNames', prop: 'quoteCode',
sortable: true, sortable: true,
filter: true, filter: true,
span: 24, span: 24,
search: false, search: false,
width: 120, width: 120,
}, },
] ]
}, },
form: { form: {
@ -364,10 +319,16 @@ export default {
total: 0, total: 0,
}, },
isOpen: false, isOpen: false,
ids: '',
} }
}, },
methods: { methods: {
reviewFn() { reviewFn() {
if (this.selectionList.length === 0) {
this.$message.warning('请选择至少一条数据');
return;
}
this.ids = this.selectionList.map(item => item.id).join(',');
this.isOpen = true this.isOpen = true
}, },
closeDialog() { closeDialog() {
@ -391,99 +352,18 @@ export default {
}, },
onLoad() { onLoad() {
this.loading = true this.loading = true
this.data = [ getStatement({
{ current:this.page.currentPage,
"bsTeamSet": null, size:this.page.pageSize,
"bsWorkCenter": { rosStatusList:'2',
"area": 13000.0, ...this.query
"batchNo": null, }).then(res =>{
"bigBatch": false, this.data = res.data.data.records
"bsJfCenter": { this.page.total = res.data.data.total
"createMan": { this.loading = false
"userId": 1, }).catch(() => {
"userName": "admin" this.loading = false
}, })
"createTime": "2024-12-09 00:00:00",
"deleted": false,
"jcCode": "RBZX",
"jcId": 1,
"jcName": "热表中心",
"keyValue": 1,
"updateTime": "2024-12-09 00:00:00"
},
"checkout": false,
"craftAbility": "化学镀镍",
"createMan": {
"userId": 1,
"userName": "admin"
},
"createTime": "2023-02-06 12:31:36",
"deleted": false,
"describe": null,
"endPoint": null,
"keyValue": 81,
"leaderUser": {
"userId": 541,
"userName": "崔殿龙"
},
"limitType": 0,
"processes": "上挂、下挂、交检、化学镀镍、喷砂",
"quantity": null,
"roundCycle": null,
"saturation": 85.0,
"sign": "4",
"startPoint": null,
"team": "化学镀镍一班崔胜伟、化学镀镍一班郭家梁",
"updateTime": "2023-03-06 18:42:47",
"wcCode": "001",
"wcId": 81,
"wcName": "化学镀镍作业中心",
"whetherPlate": false
},
"createMan": {
"userId": 1,
"userName": "admin"
},
"createTime": "2025-04-09 11:27:09",
"deEquipmentCard": {
"bindQty": 4,
"categorys": "产线设备",
"deviceCode": "9652247",
"deviceIp": "192.168.43.179",
"deviceName": "化学镀镍",
"docking": true,
"ecId": 1,
"keyValue": 1,
"macCode": "9652247",
"macSpec": null,
"memo": null,
"rfId": "SYM-HCP-L4",
"status": true,
"typeName": "9652247",
"updateTime": null,
"used": 1,
"usedText": "正常服役",
"virtualMac": false
},
"keyValue": 121,
"pureWater": 1.0,
"quotaArea": 0.0,
"tapWater": 1.0,
"updateTime": "2025-04-09 11:27:09",
"uqDate": "2025-04-09",
"uqId": 121,
"uqType": 0,
"useElectric": 0.0,
"workCenterId": "[81]",
"workCenterName": "[\"化学镀镍作业中心\"]",
"workCenterNames": "化学镀镍作业中心"
}
]
this.page.total = this.data.length
this.loading = false
setTimeout(() => {
this.selectionClear()
}, 500)
} }
} }
} }

@ -6,12 +6,10 @@
@refresh-change="refreshChange" @on-load="onLoad"> @refresh-change="refreshChange" @on-load="onLoad">
<template #menu-left> <template #menu-left>
<el-form ref="form" :model="form" label-width="100px" :inline="true"> <el-form ref="form" :model="form" label-width="100px" :inline="true">
<el-form-item label="现执行价格:">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="settlementFn">预结算</el-button> <el-button type="primary" @click="settlementFn('pre')">预结算</el-button>
<el-button type="primary" @click="settlementFn">结算</el-button> <el-button type="primary" @click="settlementFn('settle')">结算</el-button>
<el-button type="danger" @click="onSubmit">无需结算</el-button> <el-button type="danger" @click="onSubmit">无需结算</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -19,17 +17,17 @@
<template #menu-right> <template #menu-right>
</template> </template>
<template #menu="scope"> <template #menu>
</template> </template>
</avue-crud> </avue-crud>
<settlementDailog v-if="isOpen" :showDialog="isOpen" @closeDialog="closeDialog"></settlementDailog> <settlementDailog v-if="isOpen" :showDialog="isOpen" :type="settlementType" :statementList="selectionList" @closeDialog="closeDialog" @refresh="refreshTable"></settlementDailog>
</div> </div>
</template> </template>
<script> <script>
import settlementDailog from './SettlementDailog.vue' import settlementDailog from './SettlementDailog.vue'
import {getStatement} from "@/api/outsourcingManagement/oemOrderSettlement" import {getStatement,noSettlementItem} from "@/api/outsourcingManagement/oemOrderSettlement"
export default { export default {
components: { components: {
settlementDailog settlementDailog
@ -44,7 +42,6 @@ export default {
height: 'auto', height: 'auto',
calcHeight: 32, calcHeight: 32,
tip: false, tip: false,
// size: 'medium',
simplePage: true, simplePage: true,
searchShow: true, searchShow: true,
searchMenuSpan: 6, searchMenuSpan: 6,
@ -52,8 +49,9 @@ export default {
searchIndex: 3, searchIndex: 3,
tree: false, tree: false,
border: true, border: true,
index: true, index: false,
selection: true, selection: true,
rowKey: 'wpId',
editBtn: false, editBtn: false,
viewBtn: false, viewBtn: false,
delBtn: false, delBtn: false,
@ -68,17 +66,13 @@ export default {
dialogWidth: 640, dialogWidth: 640,
dialogClickModal: false, dialogClickModal: false,
searchEnter: true, searchEnter: true,
excelBtn: false, excelBtn: true,
filterBtn: true, filterBtn: true,
searchShowBtn: false, searchShowBtn: false,
columnSort: true, columnSort: true,
excelBtn: true,
columnSort: true,
index: false,
showOverflowTooltip: true, showOverflowTooltip: true,
menu: false, menu: false,
searchLabelPosition: 'left', searchLabelPosition: 'left',
searchLabelPosition: 'left',
searchGutter: 24, searchGutter: 24,
searchSpan: 6, searchSpan: 6,
menuAlign: 'left', menuAlign: 'left',
@ -211,13 +205,7 @@ export default {
startPlaceholder: '开始时间', startPlaceholder: '开始时间',
endPlaceholder: '结束时间', endPlaceholder: '结束时间',
searchOrder:20, searchOrder:20,
searchRules: [
{
required: true,
message: "请输入姓名",
trigger: "blur"
}
]
}, },
{ {
@ -338,14 +326,43 @@ export default {
total: 0, total: 0,
}, },
isOpen: false, isOpen: false,
settlementType: 'settle',
} }
}, },
methods: { methods: {
settlementFn() { settlementFn(type) {
this.isOpen = true if (this.selectionList.length === 0) {
this.$message.warning('请选择至少一条数据');
return;
}
this.settlementType = type;
this.isOpen = true;
}, },
closeDialog() { closeDialog() {
this.isOpen = false this.isOpen = false;
},
refreshTable() {
this.onLoad();
},
onSubmit() {
if (this.selectionList.length === 0) {
this.$message.warning('请选择至少一条数据');
return;
}
this.$confirm('确定无需结算选中的数据吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
noSettlementItem(this.selectionList).then(() => {
this.$message.success('无需结算成功');
this.onLoad();
}).catch(() => {
this.$message.error('无需结算失败');
});
}).catch(() => {
//
});
}, },
handleDelete() { handleDelete() {
if (this.selectionList.length === 0) { if (this.selectionList.length === 0) {
@ -361,10 +378,17 @@ export default {
}, },
// //
selectionChange(list) { selectionChange(list) {
console.log('selectionChange 被调用,选中的数据:', list);
console.log('当前表格数据:', this.data);
this.selectionList = list; this.selectionList = list;
}, },
onLoad() { onLoad() {
this.loading = true this.loading = true
//
this.selectionList = []
if (this.$refs.crud) {
this.$refs.crud.clearSelection()
}
getStatement({ getStatement({
current:this.page.currentPage, current:this.page.currentPage,
size:this.page.pageSize, size:this.page.pageSize,
@ -373,6 +397,10 @@ export default {
}).then(res =>{ }).then(res =>{
this.data = res.data.data.records this.data = res.data.data.records
this.page.total = res.data.data.total this.page.total = res.data.data.total
console.log('返回的数据:', this.data)
if (this.data && this.data.length > 0) {
console.log('第一条数据:', JSON.stringify(this.data[0], null, 2))
}
this.loading = false this.loading = false
}) })
// this.data = [ // this.data = [

@ -135,17 +135,7 @@ export default {
align: 'left', align: 'left',
searchLabelWidth: 60, searchLabelWidth: 60,
}, },
{
label: '产线',
prop: 'bsWorkCenter.wcName',
search: true,
sortable: true,
filter: true,
span: 12,
headerAlign: 'center',
align: 'left',
searchLabelWidth: 45,
},
{ {
label: '确认编号', label: '确认编号',
prop: 'confirmCondition', prop: 'confirmCondition',

Loading…
Cancel
Save