1008 lines
35 KiB
Vue
1008 lines
35 KiB
Vue
<template>
|
||
<div class="fullHeight whiteBlock">
|
||
<div class="topBox">
|
||
<!-- 榜单台账 -->
|
||
<div class="pageTitle">{{$t('message.energyManage.material.parameter')}}</div>
|
||
<el-form :inline="true" class="demo-form-inline" size="medium">
|
||
<!-- '材料名称' -->
|
||
<el-form-item :label="$t('message.energyManage.material.materialName')">
|
||
<el-input
|
||
v-model="searchMaterialName"
|
||
:placeholder="$t('message.deviceManage.placeholder')"
|
||
></el-input>
|
||
</el-form-item>
|
||
<el-form-item>
|
||
<el-button type="primary" plain @click="getList">{{
|
||
$t("message.deviceManage.query")
|
||
}}</el-button>
|
||
<el-button type="warning" size="medium" plain @click="refresh">{{
|
||
$t("message.deviceManage.refresh")
|
||
}}</el-button>
|
||
<el-button type="primary" size="medium" @click="add">{{
|
||
$t("message.deviceManage.add")
|
||
}}</el-button>
|
||
</el-form-item>
|
||
</el-form>
|
||
<el-tabs v-model="searchType" @tab-click="getList" style="margin-top:-10px">
|
||
<!-- 收料 -->
|
||
<el-tab-pane :label="$t('message.energyManage.material.takeBackMaterial')" name="1"></el-tab-pane>
|
||
<!-- 发料 -->
|
||
<el-tab-pane :label="$t('message.energyManage.material.giveMaterial')" name="2"></el-tab-pane>
|
||
<!-- 直入直出 -->
|
||
<el-tab-pane :label="$t('message.energyManage.material.intoAndOut')" name="3"></el-tab-pane>
|
||
<!-- 作废 -->
|
||
<el-tab-pane :label="$t('message.energyManage.material.cancellation')" name="4"></el-tab-pane>
|
||
</el-tabs>
|
||
</div>
|
||
<el-table class="tables" :data="List" style="max-height: calc(80% - 98px);">
|
||
<el-table-column
|
||
type="index"
|
||
:label="$t('message.energyManage.material.serialNo')"
|
||
width="55"
|
||
align="center"
|
||
></el-table-column>
|
||
<!-- '单据编号' -->
|
||
<el-table-column
|
||
prop="billNumber"
|
||
:label="$t('message.energyManage.material.receiptNumber')"
|
||
align="center"
|
||
></el-table-column>
|
||
<!-- '原始单据编号' -->
|
||
<el-table-column
|
||
prop="originalBillNumber"
|
||
:label="$t('message.energyManage.material.originReceiptNumber')"
|
||
align="center"
|
||
>
|
||
</el-table-column>
|
||
<!-- '车牌号' -->
|
||
<el-table-column prop="carNumber" :label="$t('message.energyManage.material.carNo')" align="center">
|
||
</el-table-column>
|
||
<!-- '类型' -->
|
||
<el-table-column
|
||
prop="billType"
|
||
:label="$t('message.energyManage.material.type')"
|
||
align="center"
|
||
>
|
||
<template slot-scope="scope">{{billTypeArr_old[scope.row.billType-1].name}}</template>
|
||
</el-table-column>
|
||
<!-- '收料单位' -->
|
||
<el-table-column
|
||
prop="receivingEnterpriseName"
|
||
:label="$t('message.energyManage.material.takeBackCompany')"
|
||
align="center"
|
||
>
|
||
</el-table-column>
|
||
<!-- '发料单位' -->
|
||
<el-table-column
|
||
prop="issuingEnterpriseName"
|
||
:label="$t('message.energyManage.material.giveCompany')"
|
||
align="center"
|
||
>
|
||
</el-table-column>
|
||
<!-- '材料' -->
|
||
<el-table-column prop="materialName" :label="$t('message.energyManage.material.material')" align="center">
|
||
</el-table-column>
|
||
<!-- '进场时间' -->
|
||
<el-table-column
|
||
prop="weighingGrossTime"
|
||
:label="$t('message.energyManage.material.inTime')"
|
||
align="center"
|
||
>
|
||
</el-table-column>
|
||
<!-- '出场时间' -->
|
||
<el-table-column
|
||
prop="weighingSkinTime"
|
||
:label="$t('message.energyManage.material.outTime')"
|
||
align="center"
|
||
>
|
||
</el-table-column>
|
||
<!-- '毛重' -->
|
||
<el-table-column prop="grossWeight" :label="$t('message.energyManage.material.grossWeight')" align="center">
|
||
</el-table-column>
|
||
<!-- '皮重' -->
|
||
<el-table-column prop="tare" :label="$t('message.energyManage.material.tare')" align="center">
|
||
</el-table-column>
|
||
<!-- '净重' -->
|
||
<el-table-column prop="warehouseName" :label="$t('message.energyManage.material.weight')" align="center">
|
||
<template slot-scope="scope">
|
||
{{ scope.row.grossWeight - scope.row.tare }}
|
||
</template>
|
||
</el-table-column>
|
||
<!-- '扣量' -->
|
||
<el-table-column prop="deductionNum" :label="$t('message.energyManage.material.weight2')" align="center">
|
||
<template slot-scope="scope">
|
||
{{ scope.row.deductionRatio }}% / {{ scope.row.deductionNum }}{{$t('message.energyManage.material.weight3')}}
|
||
</template>
|
||
</el-table-column>
|
||
<!-- '运单重量' -->
|
||
<el-table-column prop="waybillWeight" :label="$t('message.energyManage.material.wayWeight')" align="center">
|
||
</el-table-column>
|
||
<!-- '运单数量' -->
|
||
<el-table-column
|
||
prop="wayBillNum"
|
||
:label="$t('message.energyManage.material.wayNum')"
|
||
align="center"
|
||
></el-table-column>
|
||
<!-- '实际重量' -->
|
||
<el-table-column
|
||
prop="actualWeight"
|
||
:label="$t('message.energyManage.material.realityWeight')"
|
||
align="center"
|
||
></el-table-column>
|
||
<!-- '合同名称' -->
|
||
<el-table-column
|
||
prop="contractName"
|
||
:label="$t('message.energyManage.material.contractName')"
|
||
align="center"
|
||
></el-table-column>
|
||
<!-- '附加费用' -->
|
||
<el-table-column
|
||
prop="extraCharge"
|
||
:label="$t('message.energyManage.material.extraCharge')"
|
||
align="center"
|
||
></el-table-column>
|
||
<!-- '换算系数' -->
|
||
<el-table-column
|
||
prop="scaleFactor"
|
||
:label="$t('message.energyManage.material.scaleFactor')"
|
||
align="center"
|
||
></el-table-column>
|
||
<!-- '实际数量' -->
|
||
<el-table-column
|
||
prop="realityNumber"
|
||
:label="$t('message.energyManage.material.realityNumber')"
|
||
align="center"
|
||
></el-table-column>
|
||
<!-- '库房' -->
|
||
<el-table-column
|
||
prop="warehouseName"
|
||
:label="$t('message.energyManage.material.warehouseName')"
|
||
align="center"
|
||
></el-table-column>
|
||
<!-- '确认量' -->
|
||
<el-table-column
|
||
prop="confirmNum"
|
||
:label="$t('message.energyManage.material.confirmNum')"
|
||
align="center"
|
||
></el-table-column>
|
||
<!-- '使用部位' -->
|
||
<el-table-column
|
||
prop="usedPart"
|
||
:label="$t('message.energyManage.material.usedPart')"
|
||
align="center"
|
||
></el-table-column>
|
||
<!-- 备注' -->
|
||
<el-table-column
|
||
prop="remarks"
|
||
:label="$t('message.energyManage.material.remarks')"
|
||
align="center"
|
||
></el-table-column>
|
||
<el-table-column v-if="searchType!='4'"
|
||
width="180"
|
||
:label="$t('message.deviceManage.operation')"
|
||
align="center"
|
||
>
|
||
<template slot-scope="scope">
|
||
<div class="tableBtns" v-if="scope.row.state==1">
|
||
<div @click="edit(scope.row)" class="operationText">
|
||
<img
|
||
src="@/assets/images/icon-edit.png"
|
||
width="15px"
|
||
height="15px"
|
||
/>
|
||
<span>{{ $t("message.deviceManage.edit") }}</span>
|
||
</div>
|
||
<!-- 废弃 -->
|
||
<el-button type="danger" size="mini" @click="abandonPoundBillFn(scope.row)">{{$t('message.energyManage.material.abandon')}}</el-button>
|
||
<!-- <div @click="deleteDev(scope.row)" class="operationText">
|
||
<img
|
||
src="@/assets/images/icon-delete.png"
|
||
width="15px"
|
||
height="15px"
|
||
/>
|
||
<span>{{ $t("message.deviceManage.delete") }}</span>
|
||
</div> -->
|
||
</div>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<el-pagination
|
||
class="pagerBox"
|
||
style="margin-top:0px"
|
||
@size-change="SizeChange"
|
||
@current-change="CurrentChange"
|
||
:current-page="pagInfo.pageNo"
|
||
:page-sizes="$store.state.PAGESIZRS"
|
||
:page-size="pagInfo.pageSize"
|
||
layout="total, sizes, prev, pager, next"
|
||
:total="Number(pagInfo.total)"
|
||
background
|
||
></el-pagination>
|
||
|
||
<el-dialog
|
||
:modal-append-to-body="false"
|
||
@close="close"
|
||
:title="Popup.type == 'edit' ? $t('message.energyManage.material.edit') :$t('message.energyManage.material.add')"
|
||
:visible.sync="Popup.show"
|
||
width="967px"
|
||
>
|
||
<div class="dialog_content">
|
||
<el-form
|
||
size="medium"
|
||
:inline="true"
|
||
ref="addEditForm"
|
||
:model="addEditForm"
|
||
:rules="addEditRules"
|
||
label-width="100px"
|
||
class="dialogFormBox2"
|
||
>
|
||
<!-- '车牌号' -->
|
||
<el-form-item :label=" $t('message.energyManage.material.carNo')" prop="carNumber">
|
||
<el-input
|
||
v-model="addEditForm.carNumber"
|
||
:placeholder="$t('message.deviceManage.placeholder')"
|
||
></el-input>
|
||
</el-form-item>
|
||
<el-form-item :label="'单据编号'" prop="billNumber">
|
||
<el-input
|
||
v-model="addEditForm.billNumber"
|
||
:placeholder="$t('message.deviceManage.placeholder')"
|
||
></el-input>
|
||
</el-form-item>
|
||
<!-- '收/发料' -->
|
||
<el-form-item :label="$t('message.energyManage.material.poundType')" prop="poundType">
|
||
<el-select
|
||
v-model="addEditForm.poundType"
|
||
@change="changePoundType"
|
||
:placeholder="$t('message.companyDiagram.PleaseEnter')"
|
||
>
|
||
<el-option
|
||
v-for="(item, index) in poundTypeArr"
|
||
:key="index"
|
||
:value="index + 1"
|
||
:label="item"
|
||
></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.energyManage.material.type')" prop="billType">
|
||
<el-select
|
||
v-model="addEditForm.billType"
|
||
:placeholder="$t('message.companyDiagram.PleaseEnter')"
|
||
>
|
||
<el-option
|
||
v-for="(item, index) in billTypeArr"
|
||
:key="index"
|
||
:value="item.id"
|
||
:label="item.name"
|
||
></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item
|
||
:label="$t('message.energyManage.material.giveCompany')"
|
||
prop="issuingEnterpriseId"
|
||
v-if="addEditForm.poundType == 2"
|
||
:rules="{
|
||
required: true,
|
||
message: $t('message.companyDiagram.Mandatory'),
|
||
trigger: ['blur', 'change'],
|
||
}"
|
||
>
|
||
<el-select
|
||
v-model="addEditForm.issuingEnterpriseId"
|
||
filterable
|
||
:placeholder="$t('message.companyDiagram.PleaseEnter')"
|
||
>
|
||
<el-option
|
||
v-for="(item, index) in allCooperationUnitList"
|
||
:key="index"
|
||
:value="item.enterpriseId"
|
||
:label="item.enterpriseName"
|
||
></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<!-- '收料单位' -->
|
||
<el-form-item
|
||
:label="$t('message.energyManage.material.takeBackCompany')"
|
||
prop="receivingEnterpriseId"
|
||
v-if="addEditForm.poundType == 1"
|
||
:rules="{
|
||
required: true,
|
||
message: $t('message.companyDiagram.Mandatory'),
|
||
trigger: ['blur', 'change'],
|
||
}"
|
||
>
|
||
<el-select
|
||
v-model="addEditForm.receivingEnterpriseId"
|
||
filterable
|
||
:placeholder="$t('message.companyDiagram.PleaseEnter')"
|
||
>
|
||
<el-option
|
||
v-for="(item, index) in allCooperationUnitList2"
|
||
:key="index"
|
||
:value="item.enterpriseId"
|
||
:label="item.enterpriseName"
|
||
></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.energyManage.material.weighingGrossTime')" prop="weighingGrossTime">
|
||
<el-date-picker
|
||
v-model="addEditForm.weighingGrossTime"
|
||
type="datetime"
|
||
:placeholder="$t('message.energyManage.material.chooseDate')"
|
||
value-format="yyyy-MM-dd HH:mm:ss"
|
||
>
|
||
</el-date-picker>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.energyManage.material.weighingSkinTime')" prop="weighingSkinTime">
|
||
<el-date-picker
|
||
v-model="addEditForm.weighingSkinTime"
|
||
type="datetime"
|
||
:placeholder="$t('message.energyManage.material.chooseDate')"
|
||
value-format="yyyy-MM-dd HH:mm:ss"
|
||
>
|
||
</el-date-picker>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.energyManage.material.grossWeight')" prop="grossWeight">
|
||
<el-input
|
||
onkeyup="value=value.replace(/[^\d]/g,'')"
|
||
v-model="addEditForm.grossWeight"
|
||
@blur="listenerValue2"
|
||
:placeholder="$t('message.deviceManage.placeholder')"
|
||
></el-input>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.energyManage.material.tare')" prop="tare">
|
||
<el-input
|
||
onkeyup="value=value.replace(/[^\d]/g,'')"
|
||
v-model="addEditForm.tare"
|
||
@blur="listenerValue2"
|
||
:placeholder="$t('message.deviceManage.placeholder')"
|
||
></el-input>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.energyManage.material.weight')">
|
||
<el-input
|
||
disabled
|
||
:value="afterVal"
|
||
></el-input>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.energyManage.material.originReceiptNumber')" prop="originalBillNumber">
|
||
<el-input
|
||
v-model="addEditForm.originalBillNumber"
|
||
:placeholder="$t('message.deviceManage.placeholder')"
|
||
></el-input>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.energyManage.material.contractName')" prop="contractName">
|
||
<el-input
|
||
v-model="addEditForm.contractName"
|
||
:placeholder="$t('message.deviceManage.placeholder')"
|
||
></el-input>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.energyManage.material.usedPart')" prop="usedPart">
|
||
<el-input
|
||
v-model="addEditForm.usedPart"
|
||
:placeholder="$t('message.deviceManage.placeholder')"
|
||
></el-input>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.energyManage.material.warehouseName')" prop="warehouseId">
|
||
<el-select
|
||
v-model="addEditForm.warehouseId"
|
||
filterable
|
||
:clearable="true"
|
||
:placeholder="$t('message.companyDiagram.PleaseEnter')"
|
||
>
|
||
<el-option
|
||
v-for="(item, index) in allWarehouseList"
|
||
:key="index"
|
||
:value="item.id"
|
||
:label="item.warehouseName"
|
||
></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.energyManage.material.materialsUsedApply')" prop="materialsUsedApply" v-show="addEditForm.poundType!=2">
|
||
<el-input
|
||
v-model="addEditForm.materialsUsedApply"
|
||
:placeholder="$t('message.energyManage.material.placeholder')+$t('message.energyManage.material.materialsUsedApply')"
|
||
></el-input>
|
||
</el-form-item>
|
||
<!-- <el-form-item :label="remarks" prop="remarks">
|
||
<el-input
|
||
v-model="addEditForm.remarks"
|
||
:placeholder="$t('message.deviceManage.placeholder')"
|
||
></el-input>
|
||
</el-form-item> -->
|
||
<el-form-item :label="$t('message.energyManage.material.remarks')" prop="remarks">
|
||
<el-input
|
||
v-model="addEditForm.remarks"
|
||
:placeholder="$t('message.deviceManage.placeholder')"
|
||
></el-input>
|
||
</el-form-item>
|
||
<el-divider></el-divider>
|
||
<div class="fixedDataBox">
|
||
<div class="item">{{$t('message.energyManage.material.transportWeight')+':'}}{{ fixedData.value1 }}{{$t('message.energyManage.material.weight3')}}</div>
|
||
<div class="item">{{$t('message.energyManage.material.trueWeight')+':'}}{{ fixedData.value2 }}{{$t('message.energyManage.material.weight3')}}</div>
|
||
<div class="item">{{$t('message.energyManage.material.realNum')+':'}}
|
||
{{ fixedData.value3 }}{{fixedData.deviationType!='' ? fixedData.computeUnit : ''}}
|
||
</div>
|
||
<!-- 单位 -->
|
||
</div>
|
||
<div class="fixedDataBox">
|
||
<div class="item">{{$t('message.energyManage.material.realDeviation')+':'}}{{ fixedData.value4 }}{{fixedData.deviationType==1?'%':'吨'}}</div>
|
||
<div class="item">{{$t('message.energyManage.material.plusOrMinus')+':'}}{{ fixedData.value5 }}</div>
|
||
<div class="item">{{$t('message.energyManage.material.deviationResult')+':'}}<span :class="fixedData.value6=='超负差'?'redText':''">{{ fixedData.value6 }}</span></div>
|
||
</div>
|
||
<!-- 确认量 -->
|
||
<el-form-item :label="$t('message.energyManage.material.confirmNum')" prop="confirmType" v-show="addEditForm.poundType!=2">
|
||
<el-select
|
||
class="smallInput2"
|
||
v-model="addEditForm.confirmType"
|
||
@change="changeConfirmType"
|
||
:placeholder="$t('message.companyDiagram.PleaseEnter')"
|
||
>
|
||
<el-option
|
||
v-for="(item, index) in confirmTypeArr"
|
||
:key="index"
|
||
:value="index + 1"
|
||
:label="item"
|
||
></el-option>
|
||
</el-select>
|
||
<el-input
|
||
style="margin-left:20px"
|
||
type="number"
|
||
class="smallInput"
|
||
v-model="addEditForm.confirmNum"
|
||
:disabled="addEditForm.confirmType != 5"
|
||
></el-input>
|
||
</el-form-item>
|
||
<br />
|
||
<el-form-item :label="$t('message.energyManage.material.material')" prop="materialId">
|
||
<el-select
|
||
v-model="addEditForm.materialId"
|
||
filterable
|
||
@change="changeMaterial"
|
||
:placeholder="$t('message.companyDiagram.PleaseEnter')"
|
||
>
|
||
<el-option
|
||
v-for="(item, index) in allMaterialList"
|
||
:key="index"
|
||
:value="item.id"
|
||
:label="item.materialName"
|
||
></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.energyManage.material.scaleFactor')" prop="scaleFactor">
|
||
<div style="width: 182px;">
|
||
1{{fixedData.computeUnit}} =
|
||
<el-input
|
||
type="number"
|
||
class="smallInput"
|
||
@input="listenerValue"
|
||
v-model="addEditForm.scaleFactor"
|
||
></el-input>
|
||
<!-- 吨 -->{{$t('message.energyManage.material.weight3')}}
|
||
</div>
|
||
</el-form-item>
|
||
<br />
|
||
<!-- '单位' -->
|
||
<el-form-item :label="$t('message.energyManage.material.company')">
|
||
<el-input :value="fixedData.computeUnit" disabled></el-input>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.energyManage.material.wayNum')" prop="wayBillNum">
|
||
<el-input
|
||
type="number"
|
||
v-model="addEditForm.wayBillNum"
|
||
@input="listenerValue"
|
||
></el-input>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.energyManage.material.weight2')" prop="deductionRatio">
|
||
<el-input
|
||
class="smallInput"
|
||
type="number"
|
||
v-model="addEditForm.deductionRatio"
|
||
@input="listenerValue2(1)"
|
||
></el-input
|
||
>%
|
||
<el-input
|
||
class="smallInput"
|
||
type="number"
|
||
v-model="addEditForm.deductionNum"
|
||
@input="listenerValue2(2)"
|
||
></el-input
|
||
>{{$t('message.energyManage.material.weight3')}}
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.energyManage.material.extraCharge')" prop="extraCharge">
|
||
<el-input
|
||
v-model="addEditForm.extraCharge"
|
||
:placeholder="$t('message.deviceManage.placeholder')"
|
||
></el-input>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.energyManage.material.unit')" prop="unitPrice">
|
||
<el-input
|
||
v-model="addEditForm.unitPrice"
|
||
type="number"
|
||
:placeholder="$t('message.deviceManage.placeholder')"
|
||
></el-input>
|
||
</el-form-item>
|
||
<div class="dialog-footer">
|
||
<el-button
|
||
class="cancleBtn"
|
||
@click="Popup.show = false"
|
||
icon="el-icon-circle-close"
|
||
size="medium"
|
||
>{{ $t("message.deviceManage.cancel") }}
|
||
</el-button>
|
||
<el-button
|
||
type="primary"
|
||
icon="el-icon-circle-check"
|
||
@click="submit"
|
||
size="medium"
|
||
>{{ $t("message.deviceManage.save") }}
|
||
</el-button>
|
||
</div>
|
||
</el-form>
|
||
</div>
|
||
</el-dialog>
|
||
</div>
|
||
</template>
|
||
<script>
|
||
import {
|
||
addmaterialPoundBillApi,
|
||
editmaterialPoundBillApi,
|
||
deletematerialPoundBillApi,
|
||
materialPoundBillPageApi,
|
||
abandonPoundBillApi,
|
||
materialWarehouseListApi,
|
||
selectProjectCooperationUnitListApi,
|
||
selectProjectMaterialListApi,
|
||
} from "@/assets/js/api/materialManage";
|
||
export default {
|
||
mounted() {
|
||
this.getList();
|
||
this.getAllWarehouse();
|
||
this.getAllCooperationUnit(1);
|
||
this.getAllCooperationUnit(2);
|
||
this.getAllMaterial();
|
||
},
|
||
data() {
|
||
return {
|
||
afterVal:'',
|
||
addEditRules: {
|
||
carNumber: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "blur",
|
||
},
|
||
],
|
||
billNumber: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "blur",
|
||
},
|
||
],
|
||
poundType: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.companyDiagram.Mandatory"),
|
||
trigger: "change",
|
||
},
|
||
],
|
||
billType: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.companyDiagram.Mandatory"),
|
||
trigger: "change",
|
||
},
|
||
],
|
||
// issuingEnterpriseId: [
|
||
// {required: true, message: this.$t('message.companyDiagram.Mandatory'), trigger: "change"}
|
||
// ],
|
||
weighingGrossTime: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.companyDiagram.Mandatory"),
|
||
trigger: "change",
|
||
},
|
||
],
|
||
weighingSkinTime: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.companyDiagram.Mandatory"),
|
||
trigger: "change",
|
||
},
|
||
],
|
||
grossWeight: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "blur",
|
||
},
|
||
],
|
||
tare: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "blur",
|
||
},
|
||
],
|
||
materialId: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.companyDiagram.Mandatory"),
|
||
trigger: "change",
|
||
},
|
||
],
|
||
},
|
||
addEditForm: {
|
||
billNumber: "",
|
||
billType: "",
|
||
carNumber: "",
|
||
confirmNum: 0,
|
||
confirmType: 1,
|
||
contractName: "",
|
||
deductionNum: 0,
|
||
deductionRatio: 0,
|
||
extraCharge: 0,
|
||
grossWeight: 0,
|
||
issuingEnterpriseId: "",
|
||
materialId: "",
|
||
materialsUsedApply: "",
|
||
originalBillNumber: "",
|
||
poundType: 1,
|
||
projectSn: "",
|
||
receivingEnterpriseId: "",
|
||
remarks: "",
|
||
scaleFactor: 0,
|
||
state: 1,
|
||
tare: 0,
|
||
unitPrice: 0,
|
||
usedPart: "",
|
||
warehouseId: "",
|
||
wayBillNum: 0,
|
||
weighingGrossTime: "",
|
||
weighingSkinTime: "",
|
||
},
|
||
pagInfo: {
|
||
pageNo: 1, //页数
|
||
pageSize: 10, //条数
|
||
total: 0, //总条数
|
||
},
|
||
List: [],
|
||
Popup: {
|
||
type: "add",
|
||
show: false,
|
||
},
|
||
poundTypeArr: ["收料", "发料", "直入直出"],
|
||
poundStateArr: ["在使用", "废弃"],
|
||
billTypeArr_old: [
|
||
{ name: "采购", id: 1 },
|
||
{ name: "调入", id: 2 },
|
||
{ name: "甲供", id: 3 },
|
||
{ name: "退货", id: 4 },
|
||
{ name: "租凭", id: 5 },
|
||
{ name: "发料", id: 6 },
|
||
{ name: "废旧物资", id: 7 },
|
||
{ name: "调出", id: 8 },
|
||
{ name: "售出", id: 9 },
|
||
{ name: "退租", id: 10 },
|
||
{ name: "直入直出", id: 11 },
|
||
],
|
||
billTypeArr: [],
|
||
confirmTypeArr: ["无", "运单量", "实际量", "较小值", "输入量"],
|
||
fixedData: {
|
||
value1: 0,
|
||
value2: 0,
|
||
value3: 0,
|
||
value4: 0,
|
||
value5: "",
|
||
value6: "正常",
|
||
computeUnit: "",
|
||
adjustStartValue:'',
|
||
adjustEndValue:'',
|
||
deviationType:1
|
||
},
|
||
allWarehouseList: [],
|
||
allCooperationUnitList: [],
|
||
allCooperationUnitList2: [],
|
||
allMaterialList: [],
|
||
searchMaterialName: "",
|
||
searchType:'1'
|
||
};
|
||
},
|
||
methods: {
|
||
//获取所有库房
|
||
getAllWarehouse() {
|
||
materialWarehouseListApi({ projectSn: this.$store.state.projectSn }).then(
|
||
(res) => {
|
||
this.allWarehouseList = res.result;
|
||
}
|
||
);
|
||
},
|
||
//获取所有发料/收料单位
|
||
getAllCooperationUnit(type) {
|
||
selectProjectCooperationUnitListApi({
|
||
projectSn: this.$store.state.projectSn,
|
||
cooperationType: type,
|
||
}).then((res) => {
|
||
if (type == 1) {
|
||
this.allCooperationUnitList = res.result;
|
||
} else {
|
||
this.allCooperationUnitList2 = res.result;
|
||
}
|
||
});
|
||
},
|
||
//获取所有材料列表
|
||
getAllMaterial() {
|
||
selectProjectMaterialListApi({
|
||
projectSn: this.$store.state.projectSn,
|
||
materialName: "",
|
||
}).then((res) => {
|
||
this.allMaterialList = res.result;
|
||
});
|
||
},
|
||
//切换材料
|
||
changeMaterial() {
|
||
this.allMaterialList.forEach((element) => {
|
||
if (element.id == this.addEditForm.materialId) {
|
||
let unit =element.deviationType==1?'%':'吨'
|
||
console.log('单位', element.computeUnit)
|
||
this.fixedData.computeUnit = element.computeUnit;
|
||
this.fixedData.value5 =
|
||
element.adjustStartValue +unit+ " ~ " + element.adjustEndValue+unit;
|
||
this.fixedData.adjustStartValue=element.adjustStartValue
|
||
this.fixedData.adjustEndValue=element.adjustEndValue
|
||
this.fixedData.deviationType=element.deviationType
|
||
this.computeDeviationResult()
|
||
return;
|
||
}
|
||
});
|
||
},
|
||
//收/发料 切换
|
||
changePoundType() {
|
||
if (this.addEditForm.poundType == 1) {
|
||
this.billTypeArr = this.billTypeArr_old.slice(0, 5);
|
||
this.addEditForm.billType = "";
|
||
} else if (this.addEditForm.poundType == 2) {
|
||
this.billTypeArr = this.billTypeArr_old.slice(5, 10);
|
||
this.addEditForm.billType = "";
|
||
} else if (this.addEditForm.poundType == 3) {
|
||
this.billTypeArr = this.billTypeArr_old.slice(10, 11);
|
||
this.addEditForm.billType = "";
|
||
}
|
||
},
|
||
//切换确认量类型
|
||
changeConfirmType() {
|
||
this.addEditForm.confirmNum = 0;
|
||
if (this.addEditForm.confirmType == 5) {
|
||
this.addEditForm.confirmNum = "";
|
||
} else if (this.addEditForm.confirmType == 2) {
|
||
this.addEditForm.confirmNum = this.addEditForm.wayBillNum;
|
||
}else if (this.addEditForm.confirmType == 3||this.addEditForm.confirmType == 4) {
|
||
this.addEditForm.confirmNum = this.fixedData.value3;
|
||
}
|
||
},
|
||
//监听运单数量、换算系数变化,并计算运单重量
|
||
listenerValue() {
|
||
if (
|
||
this.addEditForm.wayBillNum == "" ||
|
||
this.addEditForm.scaleFactor == ""
|
||
) {
|
||
this.fixedData.value1 = 0;
|
||
} else {
|
||
this.fixedData.value1 =
|
||
this.addEditForm.wayBillNum * this.addEditForm.scaleFactor;
|
||
this.fixedData.value4 = this.fixedData.value2 - this.fixedData.value1;
|
||
this.fixedData.value3 = this.fixedData.value2 / this.addEditForm.scaleFactor;
|
||
this.computeDeviationResult()
|
||
}
|
||
},
|
||
//监听毛重、皮重、扣量、变化,并计算实际重量、实际数量
|
||
listenerValue2(type) {
|
||
//type 有值代表在输入扣量,为1代表在输入扣量百分比,为2代表在输入扣量值
|
||
if (this.addEditForm.grossWeight == "") {
|
||
this.addEditForm.grossWeight = '';
|
||
}
|
||
if (this.addEditForm.tare == "") {
|
||
this.addEditForm.tare = '';
|
||
}
|
||
this.afterVal = this.addEditForm.grossWeight - this.addEditForm.tare;
|
||
//计算净重
|
||
let jing = this.addEditForm.grossWeight - this.addEditForm.tare;
|
||
if (type == 1) {
|
||
this.addEditForm.deductionNum =
|
||
jing * (this.addEditForm.deductionRatio / 100);
|
||
} else if (type == 2) {
|
||
this.addEditForm.deductionRatio =
|
||
(this.addEditForm.deductionNum / jing) * 100;
|
||
}
|
||
this.fixedData.value2 = jing - this.addEditForm.deductionNum;
|
||
if(this.fixedData.value2 != '' && this.addEditForm.scaleFactor != '' && this.fixedData.value2 != 0 && this.addEditForm.scaleFactor != 0){
|
||
this.fixedData.value3 = this.fixedData.value2 / this.addEditForm.scaleFactor;
|
||
}
|
||
this.fixedData.value4 = this.fixedData.value2 - this.fixedData.value1;
|
||
this.computeDeviationResult()
|
||
},
|
||
//计算偏差结果
|
||
computeDeviationResult(){
|
||
if(this.fixedData.adjustStartValue!=''){
|
||
if(this.fixedData.value4<this.fixedData.adjustStartValue){
|
||
this.fixedData.value6='超负差'
|
||
}
|
||
}
|
||
if(this.fixedData.adjustEndValue!=''){
|
||
if(this.fixedData.value4>this.fixedData.adjustEndValue){
|
||
this.fixedData.value6='超正差'
|
||
}
|
||
}
|
||
},
|
||
handle(type, show) {
|
||
//打开弹窗前的统一处理
|
||
this.Popup = {
|
||
type: type,
|
||
show: show,
|
||
};
|
||
},
|
||
add() {
|
||
this.changePoundType();
|
||
this.handle("add", true);
|
||
},
|
||
edit(obj) {
|
||
this.changePoundType();
|
||
this.addEditForm = JSON.parse(JSON.stringify(obj));
|
||
this.listenerValue2()
|
||
this.listenerValue()
|
||
this.changeMaterial()
|
||
this.handle("edit", true);
|
||
},
|
||
deleteDev(obj) {
|
||
// console.log("删除", obj);
|
||
this.$confirm(
|
||
this.$t("message.personnelPosition.beaconManage.table.confirmText") +
|
||
"【" +
|
||
obj.warehouseName +
|
||
"】?",
|
||
this.$t("message.personnelPosition.beaconManage.table.Tips"),
|
||
{
|
||
confirmButtonText: this.$t(
|
||
"message.personnelPosition.confirmButtonText"
|
||
),
|
||
cancelButtonText: this.$t(
|
||
"message.personnelPosition.cancelButtonText"
|
||
),
|
||
type: "warning",
|
||
}
|
||
).then(() => {
|
||
deletematerialPoundBillApi({ id: obj.id }).then((result) => {
|
||
if (result.success) {
|
||
this.$message.success(result.message);
|
||
this.getList();
|
||
}
|
||
});
|
||
});
|
||
},
|
||
//废弃榜单
|
||
abandonPoundBillFn(obj) {
|
||
this.$confirm('确认废弃该记录吗?',
|
||
this.$t("message.personnelPosition.beaconManage.table.Tips"),
|
||
{
|
||
confirmButtonText: this.$t(
|
||
"message.personnelPosition.confirmButtonText"
|
||
),
|
||
cancelButtonText: this.$t(
|
||
"message.personnelPosition.cancelButtonText"
|
||
),
|
||
type: "warning",
|
||
}
|
||
).then(() => {
|
||
abandonPoundBillApi({ id: obj.id }).then((result) => {
|
||
if (result.success) {
|
||
this.$message.success(result.message);
|
||
this.getList();
|
||
}
|
||
});
|
||
});
|
||
},
|
||
submit() {
|
||
let params = JSON.parse(JSON.stringify(this.addEditForm));
|
||
params.projectSn = this.$store.state.projectSn;
|
||
this.$refs.addEditForm.validate((valid) => {
|
||
if (valid) {
|
||
params.actualWeight=this.fixedData.value2
|
||
params.realityNumber=this.fixedData.value3
|
||
params.waybillWeight=this.fixedData.value1
|
||
if (this.Popup.type === "add") {
|
||
addmaterialPoundBillApi(params).then((result) => {
|
||
if (result.success) {
|
||
this.$message.success(result.message);
|
||
this.getList();
|
||
}
|
||
});
|
||
} else if (this.Popup.type === "edit") {
|
||
// console.log("编辑信息", this.addEditForm);
|
||
delete params.createTime;
|
||
editmaterialPoundBillApi(params).then((result) => {
|
||
if (result.success) {
|
||
this.$message.success(result.message);
|
||
this.getList();
|
||
}
|
||
});
|
||
}
|
||
this.Popup.show = false;
|
||
} else {
|
||
return false;
|
||
}
|
||
});
|
||
},
|
||
refresh() {
|
||
this.pagInfo.pageNo = 1; //页数
|
||
this.pagInfo.pageSize = 10; //条数
|
||
this.searchMaterialName=''
|
||
this.getList();
|
||
},
|
||
getList() {
|
||
materialPoundBillPageApi({
|
||
pageNo: this.pagInfo.pageNo,
|
||
pageSize: this.pagInfo.pageSize,
|
||
projectSn: this.$store.state.projectSn,
|
||
materialName:this.searchMaterialName,
|
||
type:this.searchType
|
||
}).then((result) => {
|
||
if (result.success) {
|
||
this.List = result.result.records;
|
||
this.pagInfo.total = result.result.total;
|
||
}
|
||
});
|
||
},
|
||
close() {
|
||
this.addEditForm = {};
|
||
this.$nextTick(() => {
|
||
this.$refs.addEditForm.clearValidate();
|
||
});
|
||
},
|
||
SizeChange(val) {
|
||
this.pagInfo.pageSize = val;
|
||
this.getList();
|
||
},
|
||
CurrentChange(val) {
|
||
this.pagInfo.pageNo = val;
|
||
this.getList();
|
||
},
|
||
},
|
||
};
|
||
</script>
|
||
<style lang="less" scoped>
|
||
.dialogFormBox2 {
|
||
/deep/.el-input__inner,
|
||
.el-date-editor.el-input {
|
||
width: 180px;
|
||
}
|
||
.smallInput {
|
||
width: 70px;
|
||
/deep/.el-input__inner {
|
||
width: 100%;
|
||
display: inline-block;
|
||
}
|
||
}
|
||
.smallInput2 {
|
||
width: 90px;
|
||
/deep/.el-input__inner {
|
||
width: 100%;
|
||
display: inline-block;
|
||
}
|
||
}
|
||
}
|
||
::v-deep .el-tabs__item{
|
||
margin-right :0px;
|
||
}
|
||
.fixedDataBox {
|
||
display: flex;
|
||
align-items: center;
|
||
margin: 0 0px 10px 30px;
|
||
.item {
|
||
flex: 1;
|
||
}
|
||
}
|
||
.topBox{
|
||
padding: 15px 15px 0 ;
|
||
}
|
||
</style>
|