|
@@ -1,1031 +0,0 @@
|
|
-<template>
|
|
|
|
- <div id="demandSummary">
|
|
|
|
- <div v-if="isList">
|
|
|
|
- <el-card style="position: relative;">
|
|
|
|
- <el-form class="search_area" label-width="100px">
|
|
|
|
- <el-row :gutter="10">
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="行状态">
|
|
|
|
- <el-select multiple v-model="queryParams.rowStatus" size="mini" style="width: 200px" clearable>
|
|
|
|
- <el-option v-for="dict in dict.type.sys_row_status" :key="dict.value" :label="dict.label" :value="dict.value">
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="采购员">
|
|
|
|
- <el-select clearable size="mini" v-model="queryParams.buyer" @clear="cleanBuyer" @focus="chooseRefer('CONTACTS_PARAM', true, '采购员')" style="width: 200px">
|
|
|
|
- <el-option v-for="item in personOptions" :key="item.id" :label="item.name" :value="item.code" />
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="品类">
|
|
|
|
- <el-select
|
|
|
|
- v-model="queryParams.materialClassifyFour"
|
|
|
|
- size="mini"
|
|
|
|
- multiple
|
|
|
|
- collapse-tags
|
|
|
|
- clearable
|
|
|
|
- @focus="chooseTreeRefer('MATERIALCLASSIFY_PARAM', false, '选择品类')"
|
|
|
|
- style="width: 200px"
|
|
|
|
- >
|
|
|
|
- <el-option v-for="item in classOptions" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="生产厂家">
|
|
|
|
- <el-input
|
|
|
|
- v-model.trim="queryParams.manufacturer"
|
|
|
|
- size="mini"
|
|
|
|
- clearable
|
|
|
|
- style="width: 200px"
|
|
|
|
- />
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <!-- <el-col :span="1.5"> -->
|
|
|
|
- <!-- <el-form-item label="" label-width="20px"> -->
|
|
|
|
- <div style="position: absolute;top: 3px;right: 10px;">
|
|
|
|
- <el-button type="primary" size="mini" @click="search">搜索</el-button>
|
|
|
|
- <el-button size="mini" plain @click="reset">重置</el-button>
|
|
|
|
- </div>
|
|
|
|
- <!-- </el-form-item> -->
|
|
|
|
- <!-- </el-col> -->
|
|
|
|
- </el-row>
|
|
|
|
-
|
|
|
|
- <CollapseTransition>
|
|
|
|
- <div v-show="expanded">
|
|
|
|
- <el-row :gutter="10">
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="预测分类">
|
|
|
|
- <el-select v-model="queryParams.forecastClassification" size="mini" style="width: 200px" clearable>
|
|
|
|
- <el-option
|
|
|
|
- v-for="dict in dict.type.predictive_classify" :key="dict.value" :label="dict.label" :value="dict.label">
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="审核人">
|
|
|
|
- <el-select clearable size="mini" v-model="queryParams.puManagerAuditor" @focus="chooseRefer('CONTACTS_PARAM', true, '审核人')" style="width: 200px">
|
|
|
|
- <el-option v-for="item in auditOptions" :key="item.id" :label="item.name" :value="item.code" />
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="注册人">
|
|
|
|
- <el-input
|
|
|
|
- v-model.trim="queryParams.registrant"
|
|
|
|
- size="mini"
|
|
|
|
- clearable
|
|
|
|
- style="width: 200px"
|
|
|
|
- />
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="业务类型">
|
|
|
|
- <el-select v-model="queryParams.businessType" size="mini" style="width: 200px" clearable>
|
|
|
|
- <el-option
|
|
|
|
- v-for="dict in dict.type.sys_business" :key="dict.value" :label="dict.label" :value="dict.value">
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
-
|
|
|
|
- <el-row :gutter="10">
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="单据来源">
|
|
|
|
- <el-select v-model="queryParams.billSource" size="mini" style="width: 200px" clearable>
|
|
|
|
- <el-option
|
|
|
|
- v-for="dict in dict.type.sys_bill_source" :key="dict.value" :label="dict.label" :value="dict.value">
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="需求客户">
|
|
|
|
- <el-select clearable size="mini" v-model="queryParams.customer" @focus="chooseRefer('CUSTOMER_PARAM', true, '需求客户')" style="width: 200px">
|
|
|
|
- <el-option v-for="item in customerOptions" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="供应仓库">
|
|
|
|
- <el-select clearable size="mini" v-model="queryParams.lastWarehouse" @focus="chooseRefer('WAREHOUSE_PARAM', true, '供应仓库')" style="width: 200px">
|
|
|
|
- <el-option v-for="item in lastWarehouseOptions" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="供应库位">
|
|
|
|
- <el-select clearable size="mini" v-model="queryParams.lastAllocation" @focus="chooseRefer('ALLOCATION_PARAM', true, '供应库位', queryParams.lastWarehouse)" style="width: 200px">
|
|
|
|
- <el-option v-for="item in lastAllocationOptions" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
-
|
|
|
|
- <el-row :gutter="10">
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="物料编码">
|
|
|
|
- <el-popover
|
|
|
|
- placement="top-start"
|
|
|
|
- width="500"
|
|
|
|
- trigger="hover"
|
|
|
|
- :title="'数量:'+ queryParams.materialCodeList.length"
|
|
|
|
- :content="queryParams.names">
|
|
|
|
- <el-input slot="reference" clearable size="mini" v-model="queryParams.names" @clear="clearMaterial" style="width: 200px" @paste.native="pasteMe($event)">
|
|
|
|
- <el-button size="mini" slot="append" @click="chooseMaterial">数量:{{queryParams.materialCodeList.length}}</el-button>
|
|
|
|
- </el-input>
|
|
|
|
- </el-popover>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="默认采购组织">
|
|
|
|
- <el-select clearable size="mini" v-model="queryParams.purchaseOrg" @focus="chooseRefer('ORG_PARAM', true, '默认采购组织')" style="width: 200px">
|
|
|
|
- <el-option v-for="item in orgOptions" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="需求日期">
|
|
|
|
- <el-date-picker
|
|
|
|
- v-model="queryParams.demandDate"
|
|
|
|
- type="date"
|
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
|
- size="mini"
|
|
|
|
- style="width: 200px"
|
|
|
|
- >
|
|
|
|
- </el-date-picker>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="采购需求单号">
|
|
|
|
- <el-input
|
|
|
|
- v-model.trim="queryParams.code"
|
|
|
|
- size="mini"
|
|
|
|
- clearable
|
|
|
|
- style="width: 200px"
|
|
|
|
- />
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
-
|
|
|
|
- <el-row :gutter="10">
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="审批结束日期">
|
|
|
|
- <el-date-picker
|
|
|
|
- v-model="queryParams.approverFinishTime"
|
|
|
|
- type="date"
|
|
|
|
- clearable
|
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
|
- size="mini"
|
|
|
|
- style="width: 200px"
|
|
|
|
- >
|
|
|
|
- </el-date-picker>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="是否客户指定">
|
|
|
|
- <el-select clearable v-model="queryParams.isCustomerSpecified" size="mini" style="width: 200px">
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in options"
|
|
|
|
- :key="item.value"
|
|
|
|
- :label="item.label"
|
|
|
|
- :value="item.value">
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
-
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="是否紧急需求">
|
|
|
|
- <el-select clearable v-model="queryParams.isUrgency" size="mini" style="width: 200px">
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in options"
|
|
|
|
- :key="item.value"
|
|
|
|
- :label="item.label"
|
|
|
|
- :value="item.value">
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
-
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
- <el-form-item label="补单供应商">
|
|
|
|
- <el-select clearable size="mini" v-model="queryParams.additionalSupplier" @focus="chooseRefer('SUPPLIER_PARAM', true, '供应商')" style="width: 200px">
|
|
|
|
- <el-option v-for="item in supplierOptions" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- </CollapseTransition>
|
|
|
|
- </el-form>
|
|
|
|
- <el-divider class="lines"><i style="cursor: pointer;" :class="expanded?'el-icon-arrow-up':'el-icon-arrow-down'" @click="drop"></i></el-divider>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- <div class="btn_grooup">
|
|
|
|
- <el-button type="primary" size="mini" @click="editList">编辑</el-button>
|
|
|
|
- <el-button type="danger" size="mini" v-if="!lineDisable" @click="cancelEdit">取消编辑</el-button>
|
|
|
|
- <el-button type="success" size="mini" v-if="!lineDisable" @click="saveList">保存</el-button>
|
|
|
|
- <el-button type="primary" size="mini" v-if="lineDisable" @click="confirms">确认</el-button>
|
|
|
|
- <el-button type="primary" size="mini" v-if="lineDisable" @click="cancels">取消</el-button>
|
|
|
|
- <!-- <el-button type="primary" size="mini" v-if="lineDisable" @click="cancelAudit">取消审批</el-button> -->
|
|
|
|
- <el-button type="primary" size="mini" v-if="lineDisable" @click="audits">审核</el-button>
|
|
|
|
- <el-button type="primary" size="mini" v-if="lineDisable" @click="closeLine">行关闭</el-button>
|
|
|
|
-
|
|
|
|
- <el-button size="mini" type="primary" style="margin: 0 10px;" v-if="lineDisable" @click="handleCommand">
|
|
|
|
- 导出
|
|
|
|
- </el-button>
|
|
|
|
-
|
|
|
|
- <!-- <el-button type="primary" size="mini">转请购</el-button> -->
|
|
|
|
- </div>
|
|
|
|
- <vxe-toolbar ref="xToolbar1" custom>
|
|
|
|
- </vxe-toolbar>
|
|
|
|
-
|
|
|
|
- <vxe-table
|
|
|
|
- id="toolbar_demo5"
|
|
|
|
- :custom-config="{storage: true, checkMethod: checkColumnMethod}"
|
|
|
|
- @resizable-change="resizableChangeEvent"
|
|
|
|
- v-loading="loading"
|
|
|
|
- :data="tableList"
|
|
|
|
- :cell-style="{ borderColor: '#c0c0c0' }"
|
|
|
|
- :header-cell-style="{ borderColor: '#c0c0c0' }"
|
|
|
|
- class="exporttable"
|
|
|
|
- border
|
|
|
|
- show-summary
|
|
|
|
- show-footer
|
|
|
|
- :footer-method="getSummaries"
|
|
|
|
- highlight-current-row
|
|
|
|
- max-height="620"
|
|
|
|
- style="font-size: 12px;"
|
|
|
|
- :cell-class-name="cellClassName"
|
|
|
|
- @checkbox-all="selectAllEvent"
|
|
|
|
- @checkbox-change="handleSelectionChange"
|
|
|
|
- @cell-dblclick="doubleClick"
|
|
|
|
- ref="table"
|
|
|
|
- :checkbox-config="{trigger:'row', highlight: true, range: true}"
|
|
|
|
- :column-config="{resizable: true}"
|
|
|
|
- >
|
|
|
|
- <vxe-column type="checkbox" width="50"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="序号" type="seq" align="center" width="50px"/>
|
|
|
|
- <!-- <vxe-column show-header-overflow show-overflow title="行号" align="center" field="rowNo"/> -->
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="行状态" align="center" field="status" width="50px" :formatter="hangStatus"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="最终采购量" align="center" field="finalBuyQty" width="80px">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <el-input size="mini" :disabled="scope.row.status !== '1' || lineDisable" v-model="scope.row.finalBuyQty" @change="jilu(scope.$rowIndex)"/>
|
|
|
|
- </template>
|
|
|
|
- </vxe-column>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="关闭数量" align="center" field="closeQty" width="50px"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="人工调整数" align="center" field="artificialAdjust" width="50px">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- {{scope.row.artificialAdjust = scope.row.finalBuyQty - scope.row.suggestionPurchase}}
|
|
|
|
- </template>
|
|
|
|
- </vxe-column>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="一级品类" align="center" field="materialClassifyOneName" width="80"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="物料编码" align="center" field="materialCode" width="100px"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="品名" align="center" field="materialName" width="100px"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="规格" align="center" field="specification" width="100px"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="单位" align="center" field="unit" width="50"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="生产厂家/代理人" align="center" field="manufacturer" width="100px"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="需求单位数" align="center" field="demandNum" width="50px"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="总最终净需求量" align="center" field="netDemandNum" width="80px">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- {{scope.row.netDemandNum ? parseFloat(scope.row.netDemandNum).toFixed(2) : '0.00'}}
|
|
|
|
- </template>
|
|
|
|
- </vxe-column>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="近1月月均需求" align="center" field="evensalesforyear" width="50">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- {{scope.row.evensalesforyear ? parseFloat(scope.row.evensalesforyear).toFixed(2) : '0.00'}}
|
|
|
|
- </template>
|
|
|
|
- </vxe-column>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="近3月月均需求" align="center" field="evensalesforthrmonth" width="50">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- {{scope.row.evensalesforthrmonth ? parseFloat(scope.row.evensalesforthrmonth).toFixed(2) : '0.00'}}
|
|
|
|
- </template>
|
|
|
|
- </vxe-column>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="总月销量" align="center" field="totalMonthlySales" width="50">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- {{scope.row.totalMonthlySales ? parseFloat(scope.row.totalMonthlySales).toFixed(2) : '0.00'}}
|
|
|
|
- </template>
|
|
|
|
- </vxe-column>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="需求可用周期" align="center" field="demandCycle" width="50px">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- {{scope.row.demandCycle ? parseFloat(scope.row.demandCycle).toFixed(1) : '-'}}
|
|
|
|
- </template>
|
|
|
|
- </vxe-column>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="呆滞量" align="center" field="dullQut" width="50px">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- {{parseFloat(scope.row.dullQut).toFixed(2)}}
|
|
|
|
- </template>
|
|
|
|
- </vxe-column>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="采购周期" align="center" field="buyPeriod" width="50px" />
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="中心公共库存" align="center" field="centralPublicStock" width="50"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="中心仓专属货位" align="center" field="centralWarehouse" width="50"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="各项目仓库存" align="center" field="eachWarehouseStock" width="50"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="电商仓库" align="center" field="commerceWarehouse" width="50" />
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="区域分仓公共库存" align="center" field="regionPublicStock" width="50"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="采购在途" align="center" field="buyTransit" width="80px" />
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="借出在途" align="center" field="lendTransit" width="80px" />
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="调拨在途" align="center" field="transferTransit" width="80px"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="库存总计" align="center" field="stockTotal" width="80px"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="最小包装量" align="center" field="minPackage" width="80px"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="最小订货量" align="center" field="minOrder" width="80px"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="最小批量" align="center" field="minBatch" width="80px"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="修改原因" align="center" field="modifyReason" width="150px">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <el-input size="mini" :disabled="scope.row.status !== '1'|| lineDisable || scope.row.artificialAdjust == '0'" v-model="scope.row.modifyReason" @change="jilu(scope.$rowIndex)"/>
|
|
|
|
- </template>
|
|
|
|
- </vxe-column>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="建议采购量" align="center" field="suggestionPurchase" width="80px"/>
|
|
|
|
- <!-- <vxe-column show-header-overflow show-overflow title="建议净采购量" align="center" field="suggestBuyQty" width="100px"/> -->
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="二级品类" align="center" field="materialClassifyTwoName" width="120px"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="三级品类" align="center" field="materialClassifyThreeName" width="120px"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="四级品类" align="center" field="materialClassifyFourName" width="120px"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="采购员" align="center" field="buyerName" width="150px">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <el-input readonly :disabled="scope.row.status !== '1' || lineDisable" size="mini" v-model="scope.row.buyerName">
|
|
|
|
- <el-button size="mini" :disabled="scope.row.status !== '1' || lineDisable" slot="append" icon="el-icon-more" @click="chooseSon(scope.$rowIndex, 'CONTACTS_PARAM', true, '明细采购员')"></el-button>
|
|
|
|
- </el-input>
|
|
|
|
- </template>
|
|
|
|
- </vxe-column>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="默认采购组织" align="center" field="purchaseOrgName" width="150px">
|
|
|
|
- <!-- <template slot-scope="scope">
|
|
|
|
- <el-input readonly :disabled="scope.row.status !== '1' || lineDisable" size="mini" v-model="scope.row.purchaseOrgName">
|
|
|
|
- <el-button size="mini" :disabled="scope.row.status !== '1' || lineDisable" slot="append" icon="el-icon-more" @click="chooseSon(scope.$index, 'ORG_PARAM', true, '明细默认采购组织')"></el-button>
|
|
|
|
- </el-input>
|
|
|
|
- </template> -->
|
|
|
|
- </vxe-column>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="有效期" align="center" field="validityPeriod"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="有效期单位" align="center" field="validityPeriodUnit" width="80px"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="业务类型" align="center" field="businessType" :formatter="formatterBusinessType"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="安全库存量" align="center" field="safetyStock" width="80px">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- {{scope.row.safetyStock ? parseFloat(scope.row.safetyStock).toFixed(2) : '0.00'}}
|
|
|
|
- </template>
|
|
|
|
- </vxe-column>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="单据来源" align="center" field="billSource" :formatter="formatterSource"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="注册人" align="center" field="registrant" width="120px"/>
|
|
|
|
- <!-- <vxe-column title="可用量" align="center" field="qty"/> -->
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="总需与终采差异" align="center" field="buyDiscrepancy" width="80px"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="集团预测分类" align="center" field="forecastClassification" width="80px"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="中心仓占有量" align="center" field="centerBinPossession" width="80px"/>
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="中心仓可用量" align="center" field="centralWarehouseAvailable" width="80px"/>
|
|
|
|
- <!-- <vxe-column title="物料类别" align="center" field="materialCategory" width="150px"/> -->
|
|
|
|
- <!-- <vxe-column title="业务部门" align="center" field="departmentName" width="150px"/> -->
|
|
|
|
- <!-- <vxe-column show-header-overflow show-overflow title="需求单位" align="center" field="demandUnit"/> -->
|
|
|
|
- <vxe-column show-header-overflow show-overflow title="采购经理审核人" align="center" field="puManagerAuditor" width="120px"/>
|
|
|
|
- <vxe-column
|
|
|
|
- title="操作"
|
|
|
|
- align="center"
|
|
|
|
- width="50"
|
|
|
|
- >
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <el-button type="text" size="mini" @click="check(scope.row)">查看</el-button>
|
|
|
|
- </template>
|
|
|
|
- </vxe-column>
|
|
|
|
- </vxe-table>
|
|
|
|
-
|
|
|
|
- <!-- <el-button size="mini" style="position: absolute;left: 20px;bottom: 20px;" @click="tols.open = true">隐藏列</el-button> -->
|
|
|
|
-
|
|
|
|
- <!-- <colTol :isVisible.sync="tols.open" @reDraw="reDraw" :showColumn.sync="showColumn" :arrs.sync="arrs"/> -->
|
|
|
|
-
|
|
|
|
- <el-pagination
|
|
|
|
- background
|
|
|
|
- @size-change="handleSizeChange"
|
|
|
|
- @current-change="handleCurrentChange"
|
|
|
|
- :current-page="queryParams.pageNum"
|
|
|
|
- :page-sizes="[10, 20, 50, 100, 200, 500]"
|
|
|
|
- :page-size="50"
|
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
|
- :total=total>
|
|
|
|
- </el-pagination>
|
|
|
|
- </el-card>
|
|
|
|
- </div>
|
|
|
|
-
|
|
|
|
- <Add v-model="isList" v-if="!isList" :pageStu="page" :disable="disable" :row="rowDetail" :query="queryParams" @refresh="search"/>
|
|
|
|
-
|
|
|
|
- <Refers ref="refer" @doSubmit="selectionsToInput" :single="true"/>
|
|
|
|
-
|
|
|
|
- <TreeRefers ref="tree" @doSubmit="selectionsToInput2" :single="true"/>
|
|
|
|
-
|
|
|
|
- <popDialog ref="materialRefer" @doSubmit="selectMaterial" :single="false" />
|
|
|
|
- </div>
|
|
|
|
-</template>
|
|
|
|
-
|
|
|
|
-<script>
|
|
|
|
-import Add from './add'
|
|
|
|
-// import colTol from './colTol.vue'
|
|
|
|
-import Refers from '@/components/Refers/refers.vue'
|
|
|
|
-import TreeRefers from '@/components/Refers/treeRefer.vue'
|
|
|
|
-import popDialog from '@/components/PopDialog/index.vue'
|
|
|
|
-import CollapseTransition from '@/components/MyCollapse/collapse.vue'
|
|
|
|
-// 用于物料参照框数据
|
|
|
|
-import {getRefer} from '@/api/purchase/basic.js'
|
|
|
|
-import {getSummaryList, auditSummary, cancelAudits, confirmSummary , cancelSummary , shutDownSummary, editSummaryList, exportList, exportItems } from '@/api/purchase/DemandSummary.js'
|
|
|
|
-export default {
|
|
|
|
- name: 'demandSummary',
|
|
|
|
- dicts: ['sys_row_status', 'predictive_classify', 'sys_period_unit', 'sys_business', 'sys_bill_source'],
|
|
|
|
- components: {
|
|
|
|
- Add,
|
|
|
|
- // colTol,
|
|
|
|
- CollapseTransition,
|
|
|
|
- Refers,
|
|
|
|
- TreeRefers,
|
|
|
|
- popDialog
|
|
|
|
- },
|
|
|
|
- data() {
|
|
|
|
- return {
|
|
|
|
- loading: true,
|
|
|
|
- showColumn: {},
|
|
|
|
- arrs:[],
|
|
|
|
- tols: {
|
|
|
|
- open: false
|
|
|
|
- },
|
|
|
|
- hangStatus(row) {
|
|
|
|
- switch (row.row.status) {
|
|
|
|
- case '0':
|
|
|
|
- return '需补货'
|
|
|
|
- case '1':
|
|
|
|
- return '待计划确认'
|
|
|
|
- case '2':
|
|
|
|
- return '计划已确认'
|
|
|
|
- case '3':
|
|
|
|
- return '计划已审核'
|
|
|
|
- case '4':
|
|
|
|
- return '行关闭'
|
|
|
|
- case '5':
|
|
|
|
- return '总供应可满足'
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- formatterBusinessType(row) {
|
|
|
|
- switch (row.row.businessType) {
|
|
|
|
- case 'ZQBH':
|
|
|
|
- return '周期备货'
|
|
|
|
- case 'FXXQ':
|
|
|
|
- return '分销需求'
|
|
|
|
- case 'TSXQ':
|
|
|
|
- return '特殊采购需求'
|
|
|
|
- case 'BDXQ':
|
|
|
|
- return '补单需求'
|
|
|
|
- case 'JJXQ':
|
|
|
|
- return '紧急需求单'
|
|
|
|
- case 'XPXQ':
|
|
|
|
- return '新品需求'
|
|
|
|
- case 'HZBM':
|
|
|
|
- return '合作部门需求'
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- formatterSource(row) {
|
|
|
|
- switch (row.row.billSource) {
|
|
|
|
- case '1':
|
|
|
|
- return '手工导入'
|
|
|
|
- case '2':
|
|
|
|
- return '按客户计算'
|
|
|
|
- case '3':
|
|
|
|
- return '按仓库计算'
|
|
|
|
- case '4':
|
|
|
|
- return '手工新增'
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- expanded: false,
|
|
|
|
- // 页面配置
|
|
|
|
- isList: true,
|
|
|
|
- // 页面状态
|
|
|
|
- page: '',
|
|
|
|
- queryParams: {
|
|
|
|
- rowStatus: ['1'],
|
|
|
|
- buyer: '',
|
|
|
|
- buyerName: '',
|
|
|
|
- materialClassifyFour: [],
|
|
|
|
- manufacturer: '',
|
|
|
|
- forecastClassification: '',
|
|
|
|
- periodUnit: '',
|
|
|
|
- departmentName: '',
|
|
|
|
- puManagerAuditor: '',
|
|
|
|
- // zqgdh: '',
|
|
|
|
- code: '',
|
|
|
|
- registrant: '',
|
|
|
|
- businessType: '',
|
|
|
|
- billSource: '',
|
|
|
|
- customer: '',
|
|
|
|
- lastWarehouse: '',
|
|
|
|
- lastAllocation: '',
|
|
|
|
- materialCodeList: [],
|
|
|
|
- names: '',
|
|
|
|
- purchaseOrg: '',
|
|
|
|
- demandDate: '',
|
|
|
|
- approverFinishTime: '',
|
|
|
|
- isCustomerSpecified: '',
|
|
|
|
- isUrgency: '',
|
|
|
|
- additionalSupplier: '',
|
|
|
|
- pageNum: 1,
|
|
|
|
- pageSize: 50
|
|
|
|
- },
|
|
|
|
- personOptions: [],
|
|
|
|
- classOptions: [],
|
|
|
|
- deptOptions: [],
|
|
|
|
- auditOptions: [],
|
|
|
|
- customerOptions: [],
|
|
|
|
- lastWarehouseOptions: [],
|
|
|
|
- lastAllocationOptions: [],
|
|
|
|
- orgOptions: [],
|
|
|
|
- supplierOptions: [],
|
|
|
|
- options: [{
|
|
|
|
- value: 'Y', label: '是',
|
|
|
|
- }, {
|
|
|
|
- value: 'N', label: '否'
|
|
|
|
- }],
|
|
|
|
- referCondition: {
|
|
|
|
- type: '',
|
|
|
|
- isPage: true,
|
|
|
|
- title: ''
|
|
|
|
- },
|
|
|
|
- tableList: [],
|
|
|
|
- total: 0,
|
|
|
|
- rowDetail: {},
|
|
|
|
- disable: false,
|
|
|
|
- lineDisable: true,
|
|
|
|
- ids: [],
|
|
|
|
- allSelection: [],
|
|
|
|
- // 子表index
|
|
|
|
- tableIndex: null,
|
|
|
|
- // referConditionMx: {
|
|
|
|
- // type: '',
|
|
|
|
- // isPage: true,
|
|
|
|
- // title: ''
|
|
|
|
- // }
|
|
|
|
- // 用于保存临时记录修改行的数组
|
|
|
|
- record:[]
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- created() {
|
|
|
|
- this.$nextTick(() => {
|
|
|
|
- // 手动将表格和工具栏进行关联
|
|
|
|
- this.$refs.table.connect(this.$refs.xToolbar1)
|
|
|
|
- this.getList(this.queryParams)
|
|
|
|
- })
|
|
|
|
- },
|
|
|
|
- methods: {
|
|
|
|
- checkColumnMethod ({ column }) {
|
|
|
|
- if (column.property === 'role') {
|
|
|
|
- return false
|
|
|
|
- }
|
|
|
|
- return true
|
|
|
|
- },
|
|
|
|
- resizableChangeEvent () {
|
|
|
|
- const columns = this.$refs.table.getColumns()
|
|
|
|
- const customData = columns.map(column => {
|
|
|
|
- return {
|
|
|
|
- width: column.renderWidth
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- console.log(customData)
|
|
|
|
- },
|
|
|
|
- reDraw() {
|
|
|
|
- // this.$refs.table.doLayout();
|
|
|
|
- },
|
|
|
|
- // 单元格标红
|
|
|
|
- cellClassName({row, column, rowIndex, columnIndex}) {
|
|
|
|
- if(column.title == "需求可用周期" && Number(row.demandCycle) > 1.5 ) {
|
|
|
|
- return 'success-row';
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- // 指定列合计
|
|
|
|
- getSummaries(param) {
|
|
|
|
- const { columns, data } = param;
|
|
|
|
- const sums = [];
|
|
|
|
- columns.forEach((column, index) => {
|
|
|
|
- if (index === 0) {
|
|
|
|
- sums.push('合计');
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- const values = data.map(item => Number(item[column.property]));
|
|
|
|
- if (column.property === 'demandNum' || column.property === 'netDemandNum' || column.property === 'artificialAdjust' || column.property === 'suggestBuyQty' || column.property === 'finalBuyQty') {
|
|
|
|
- sums[index] = values.reduce((prev, curr) => {
|
|
|
|
- const value = Number(curr);
|
|
|
|
- if (!isNaN(value)) {
|
|
|
|
- return prev + curr;
|
|
|
|
- } else {
|
|
|
|
- return prev;
|
|
|
|
- }
|
|
|
|
- }, 0);
|
|
|
|
- sums[index];
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- return [sums]
|
|
|
|
- },
|
|
|
|
- // 搜索
|
|
|
|
- search() {
|
|
|
|
- this.getList(this.queryParams)
|
|
|
|
- },
|
|
|
|
- reset() {
|
|
|
|
- this.queryParams = {
|
|
|
|
- rowStatus: ['1'],
|
|
|
|
- buyer: '',
|
|
|
|
- buyerName: '',
|
|
|
|
- materialClassifyFour: [],
|
|
|
|
- manufacturer: '',
|
|
|
|
- forecastClassification: '',
|
|
|
|
- periodUnit: '',
|
|
|
|
- departmentName: '',
|
|
|
|
- puManagerAuditor: '',
|
|
|
|
- // zqgdh: '',
|
|
|
|
- code: '',
|
|
|
|
- registrant: '',
|
|
|
|
- businessType: '',
|
|
|
|
- billSource: '',
|
|
|
|
- customer: '',
|
|
|
|
- lastWarehouse: '',
|
|
|
|
- lastAllocation: '',
|
|
|
|
- materialCodeList: [],
|
|
|
|
- names: '',
|
|
|
|
- purchaseOrg: '',
|
|
|
|
- demandDate: '',
|
|
|
|
- approverFinishTime: '',
|
|
|
|
- isCustomerSpecified: '',
|
|
|
|
- isUrgency: '',
|
|
|
|
- additionalSupplier: '',
|
|
|
|
- pageNum: 1,
|
|
|
|
- pageSize: 50
|
|
|
|
- }
|
|
|
|
- this.getList(this.queryParams)
|
|
|
|
- },
|
|
|
|
- getList(params){
|
|
|
|
- getSummaryList(params).then(res => {
|
|
|
|
- if (res.code === 200) {
|
|
|
|
- this.tableList = res.rows
|
|
|
|
- this.total = res.total
|
|
|
|
- // let arrs = []
|
|
|
|
- // this.$refs.table.$children.forEach(item => {
|
|
|
|
- // if (item.label != undefined && item.prop != undefined) {
|
|
|
|
- // arrs.push({
|
|
|
|
- // label: item.label,
|
|
|
|
- // prop: item.prop
|
|
|
|
- // })
|
|
|
|
- // }
|
|
|
|
- // })
|
|
|
|
- // this.arrs = arrs
|
|
|
|
- }
|
|
|
|
- }).then(() => {
|
|
|
|
- // 合计不显示重绘
|
|
|
|
- this.$refs.table.doLayout()
|
|
|
|
- this.loading = false
|
|
|
|
- }).catch(err => {
|
|
|
|
- this.loading = false
|
|
|
|
- })
|
|
|
|
- },
|
|
|
|
- selectAllEvent({checked}) {
|
|
|
|
- const selection = this.$refs.table.getCheckboxRecords()
|
|
|
|
- console.log('选中', selection)
|
|
|
|
- this.allSelection = selection
|
|
|
|
- this.ids = selection.map(item => item.demandItemId)
|
|
|
|
- console.log('选中数组', this.ids.join())
|
|
|
|
- },
|
|
|
|
- handleSelectionChange({checked}) {
|
|
|
|
- const selection = this.$refs.table.getCheckboxRecords()
|
|
|
|
- console.log('选中', selection)
|
|
|
|
- this.allSelection = selection
|
|
|
|
- this.ids = selection.map(item => item.demandItemId)
|
|
|
|
- console.log('选中数组', this.ids.join())
|
|
|
|
- },
|
|
|
|
- handleCommand() {
|
|
|
|
- this.$modal.loading("正在导出数据,请稍后...");
|
|
|
|
- let param = this.queryParams
|
|
|
|
- param.pageSize = this.total
|
|
|
|
- exportItems(param).then(res => {
|
|
|
|
- this.$modal.closeLoading();
|
|
|
|
- const blob = new Blob([res], {
|
|
|
|
- type: "application/vnd.ms-excel;charset=UTF-8",
|
|
|
|
- });// 创建一个类文件对象:Blob对象表示一个不可变的、原始数据的类文件对象
|
|
|
|
- const downloadElement = document.createElement("a"); //创建a标签
|
|
|
|
- const href = window.URL.createObjectURL(blob); // 创建下载的链接
|
|
|
|
- // var temp = res.headers["content-disposition"];
|
|
|
|
- // var fileName = decodeURIComponent(temp.split("filename=")[1]); // 中文需要转码 (前端乱码)
|
|
|
|
- // var name = fileName.split(";")[0]; //切割成文件名
|
|
|
|
- downloadElement.href = href; //下载地址
|
|
|
|
- downloadElement.download = '采购需求处理导出'+ this.parseTime(new Date().getTime()) + ".xlsx"; // 下载后文件名
|
|
|
|
- document.body.appendChild(downloadElement);
|
|
|
|
- downloadElement.click(); // 点击下载
|
|
|
|
- document.body.removeChild(downloadElement); // 下载完成移除元素
|
|
|
|
- window.URL.revokeObjectURL(href); // 释放blob对象
|
|
|
|
- })
|
|
|
|
- },
|
|
|
|
- check(row) {
|
|
|
|
- this.isList = false
|
|
|
|
- this.page = 'check'
|
|
|
|
- this.rowDetail = row
|
|
|
|
- this.disable = true
|
|
|
|
- },
|
|
|
|
- doubleClick({row}) {
|
|
|
|
- this.isList = false
|
|
|
|
- this.page = 'check'
|
|
|
|
- this.rowDetail = row
|
|
|
|
- this.disable = true
|
|
|
|
- },
|
|
|
|
- // 表格选中数据
|
|
|
|
- rowSelect(row) {
|
|
|
|
- // console.log(row)
|
|
|
|
- this.$refs.table.toggleCheckboxRow(row.row);
|
|
|
|
- },
|
|
|
|
- handleSizeChange(val) {
|
|
|
|
- console.log(`每页 ${val} 条`);
|
|
|
|
- this.queryParams.pageSize = val
|
|
|
|
- this.getList(this.queryParams)
|
|
|
|
- },
|
|
|
|
- handleCurrentChange(val) {
|
|
|
|
- console.log(`当前页: ${val}`);
|
|
|
|
- this.queryParams.pageNum = val
|
|
|
|
- this.getList(this.queryParams)
|
|
|
|
- },
|
|
|
|
- drop() {
|
|
|
|
- this.expanded = !this.expanded
|
|
|
|
- },
|
|
|
|
- editList() {
|
|
|
|
- console.log('Lists`````',this.tableList)
|
|
|
|
- this.lineDisable = false
|
|
|
|
- },
|
|
|
|
- cancelEdit() {
|
|
|
|
- this.lineDisable = true
|
|
|
|
- this.getList(this.queryParams)
|
|
|
|
- },
|
|
|
|
- saveList() {
|
|
|
|
- // console.log('记录',this.record)
|
|
|
|
- // 对记录的数据进行去重
|
|
|
|
- let newRecord = Array.from(new Set(this.record))
|
|
|
|
- // console.log('去重后的', newRecord)
|
|
|
|
- let changeList = newRecord.map(i => {
|
|
|
|
- return this.tableList[i]
|
|
|
|
- })
|
|
|
|
- // console.log('shuzu', changeList)
|
|
|
|
- editSummaryList(changeList).then(res => {
|
|
|
|
- if (res.code === 200) {
|
|
|
|
- this.$modal.notifySuccess("保存成功");
|
|
|
|
- this.lineDisable = true
|
|
|
|
- this.getList(this.queryParams)
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- },
|
|
|
|
- confirms() {
|
|
|
|
- if (this.ids.length == 0) {
|
|
|
|
- this.$modal.notifyWarning("请选中至少一条数据");
|
|
|
|
- } else {
|
|
|
|
- confirmSummary(this.allSelection).then(res => {
|
|
|
|
- if (res.code === 200) {
|
|
|
|
- this.$modal.notifySuccess("确认成功");
|
|
|
|
- this.getList(this.queryParams)
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- cancels() {
|
|
|
|
- if (this.ids.length == 0) {
|
|
|
|
- this.$modal.notifyWarning("请选中至少一条数据");
|
|
|
|
- } else {
|
|
|
|
- let param = this.ids.join()
|
|
|
|
- cancelSummary(param).then(res => {
|
|
|
|
- if (res.code === 200) {
|
|
|
|
- this.$modal.notifySuccess("取消成功");
|
|
|
|
- this.getList(this.queryParams)
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- cancelAudit() {
|
|
|
|
- if(this.ids.length == 0) {
|
|
|
|
- this.$modal.notifyWarning("请选中至少一条数据");
|
|
|
|
- } else {
|
|
|
|
- let param = this.ids.join()
|
|
|
|
- cancelAudits(param).then(res => {
|
|
|
|
- if (res.code === 200) {
|
|
|
|
- this.$modal.notifySuccess("审核成功");
|
|
|
|
- this.getList(this.queryParams)
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- audits() {
|
|
|
|
- if(this.ids.length == 0) {
|
|
|
|
- this.$modal.notifyWarning("请选中至少一条数据");
|
|
|
|
- } else {
|
|
|
|
- let param = this.ids.join()
|
|
|
|
- auditSummary(param).then(res => {
|
|
|
|
- if (res.code === 200) {
|
|
|
|
- this.$modal.notifySuccess("审核成功");
|
|
|
|
- this.getList(this.queryParams)
|
|
|
|
- }
|
|
|
|
- }).catch(err => {
|
|
|
|
- this.getList(this.queryParams)
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- // 行关闭
|
|
|
|
- closeitem() {
|
|
|
|
- let param = this.ids.join()
|
|
|
|
- shutDownSummary(param).then(res => {
|
|
|
|
- if (res.code === 200) {
|
|
|
|
- this.$modal.notifySuccess("操作成功");
|
|
|
|
- this.getList(this.queryParams)
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- },
|
|
|
|
- closeLine() {
|
|
|
|
- if (this.ids.length == 0) {
|
|
|
|
- this.$modal.notifyWarning("请选中至少一条数据");
|
|
|
|
- } else {
|
|
|
|
- console.log('选中数组', this.allSelection)
|
|
|
|
- let item = this.allSelection.some(item => {
|
|
|
|
- return item.demandNum >= 2
|
|
|
|
- })
|
|
|
|
- if (item) {
|
|
|
|
- this.$modal.confirm('选中项有多个需求单位,是否确定关闭?').then(function () {
|
|
|
|
- }).then(() => {
|
|
|
|
- this.closeitem()
|
|
|
|
- }).catch(() => {})
|
|
|
|
- } else {
|
|
|
|
- this.closeitem()
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- // 搜索区参照选择
|
|
|
|
- chooseRefer(type, isPage, title, stordocId) {
|
|
|
|
- this.referCondition.type = type
|
|
|
|
- this.referCondition.isPage = isPage
|
|
|
|
- this.referCondition.title = title
|
|
|
|
- this.referCondition.stordocId = stordocId
|
|
|
|
- this.$refs.refer.init(this.referCondition)
|
|
|
|
- },
|
|
|
|
- selectionsToInput(selection) {
|
|
|
|
- if (this.referCondition.title == '采购员') {
|
|
|
|
- this.personOptions = selection
|
|
|
|
- this.queryParams.buyer = selection[0].code
|
|
|
|
- this.queryParams.buyerName = selection[0].name
|
|
|
|
- }
|
|
|
|
- if (this.referCondition.title == '业务部门') {
|
|
|
|
- this.deptOptions = selection
|
|
|
|
- this.queryParams.departmentName = selection[0].id
|
|
|
|
- }
|
|
|
|
- if (this.referCondition.title == '审核人') {
|
|
|
|
- this.auditOptions = selection
|
|
|
|
- this.queryParams.puManagerAuditor = selection[0].code
|
|
|
|
- }
|
|
|
|
- if (this.referCondition.title == '需求客户') {
|
|
|
|
- this.customerOptions = selection
|
|
|
|
- this.queryParams.customer = selection[0].id
|
|
|
|
- }
|
|
|
|
- if (this.referCondition.title == '供应仓库') {
|
|
|
|
- this.lastWarehouseOptions = selection
|
|
|
|
- this.queryParams.lastWarehouse = selection[0].id
|
|
|
|
- }
|
|
|
|
- if (this.referCondition.title == '供应库位') {
|
|
|
|
- this.lastAllocationOptions = selection
|
|
|
|
- this.queryParams.lastAllocation = selection[0].id
|
|
|
|
- }
|
|
|
|
- if (this.referCondition.title == '默认采购组织') {
|
|
|
|
- this.orgOptions = selection
|
|
|
|
- this.queryParams.purchaseOrg = selection[0].id
|
|
|
|
- }
|
|
|
|
- if (this.referCondition.title == '明细采购员') {
|
|
|
|
- console.log('选择进了吗',this.tableList)
|
|
|
|
- this.record.push(this.tableIndex)
|
|
|
|
- this.tableList[this.tableIndex].buyer = selection[0].code
|
|
|
|
- this.tableList[this.tableIndex].buyerName = selection[0].name
|
|
|
|
- }
|
|
|
|
- if (this.referCondition.type == 'SUPPLIER_PARAM') {
|
|
|
|
- this.supplierOptions = selection
|
|
|
|
- this.queryParams.additionalSupplier = selection[0].id
|
|
|
|
- }
|
|
|
|
- // if (this.referCondition.title == '明细默认采购组织') {
|
|
|
|
- // console.log('选择进了吗',this.tableList)
|
|
|
|
- // this.tableList[this.tableIndex].purchaseOrg = selection[0].id
|
|
|
|
- // this.tableList[this.tableIndex].purchaseOrgName = selection[0].name
|
|
|
|
- // }
|
|
|
|
- },
|
|
|
|
- // 搜索区树形选择
|
|
|
|
- chooseTreeRefer(type, isPage, title) {
|
|
|
|
- this.referCondition.type = type
|
|
|
|
- this.referCondition.isPage = isPage
|
|
|
|
- this.referCondition.title = title
|
|
|
|
- this.$refs.tree.init(this.referCondition)
|
|
|
|
- },
|
|
|
|
- selectionsToInput2(selection) {
|
|
|
|
- this.classOptions = selection
|
|
|
|
- this.queryParams.materialClassifyFour = selection.map(item => {return item.id})
|
|
|
|
- },
|
|
|
|
- // 搜索区物料编码
|
|
|
|
- chooseMaterial() {
|
|
|
|
- this.$refs.materialRefer.init()
|
|
|
|
- },
|
|
|
|
- selectMaterial(selection) {
|
|
|
|
- console.log('选择的物料', selection)
|
|
|
|
- this.queryParams.materialCodeList = selection.map(item => {return item.code})
|
|
|
|
- console.log(this.queryParams.materialCodeList)
|
|
|
|
- this.queryParams.names = (selection.map(item => {return item.name})).join(',')
|
|
|
|
- },
|
|
|
|
- // 清空物料搜索框
|
|
|
|
- clearMaterial() {
|
|
|
|
- this.queryParams.names = ''
|
|
|
|
- this.queryParams.materialCodeList = []
|
|
|
|
- },
|
|
|
|
- // 粘贴来的数据
|
|
|
|
- async pasteMe(e) {
|
|
|
|
- this.$modal.loading("正在粘贴数据...");
|
|
|
|
- e.preventDefault() //阻止默认粘贴事件
|
|
|
|
- let source = e.clipboardData.getData("Text");
|
|
|
|
- console.log('source', source)
|
|
|
|
- // 这里区分普通复制和在表格内复制,判断是否包含','
|
|
|
|
- // 没找到,就通过表格复制
|
|
|
|
- if (source.indexOf(",") === -1) {
|
|
|
|
- // 首先对源头进行解析
|
|
|
|
- let rows = source.split("\r\n"); // 拆成一个数组
|
|
|
|
- // 数组去除空字符串
|
|
|
|
- rows = rows.filter(item => {
|
|
|
|
- return item && item.trim()
|
|
|
|
- })
|
|
|
|
- await getRefer({ type: 'MATERIAL_PARAM', materialCodeList: rows }).then(res => {
|
|
|
|
- this.$modal.closeLoading();
|
|
|
|
- if (res.code === 200) {
|
|
|
|
- let rowList = res.rows
|
|
|
|
- console.log('粘贴的', rowList)
|
|
|
|
- this.queryParams.materialCodeList = rowList.map(item => {return item.code})
|
|
|
|
- this.queryParams.names = (rowList.map(item => {return item.code})).join(',')
|
|
|
|
- }
|
|
|
|
- }).catch(err => {
|
|
|
|
- this.$modal.closeLoading();
|
|
|
|
- })
|
|
|
|
- } else {
|
|
|
|
- // 找到了,按,分割
|
|
|
|
- let codelist = source.split(',')
|
|
|
|
- console.log('按照逗号分隔', codelist)
|
|
|
|
- // 数组去除空字符串
|
|
|
|
- codelist = codelist.filter(item => {
|
|
|
|
- return item && item.trim()
|
|
|
|
- })
|
|
|
|
- this.queryParams.materialCodeList = codelist
|
|
|
|
- this.queryParams.names = codelist.join(',')
|
|
|
|
- this.$modal.closeLoading();
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- // 明细行选择业务部门参照带出业务部门数据
|
|
|
|
- chooseSon(index, type, isPage, title) {
|
|
|
|
- this.tableIndex = index
|
|
|
|
- this.referCondition.type = type
|
|
|
|
- this.referCondition.isPage = isPage
|
|
|
|
- this.referCondition.title = title
|
|
|
|
- this.$refs.refer.init(this.referCondition)
|
|
|
|
- },
|
|
|
|
- jilu(index) {
|
|
|
|
- this.record.push(index)
|
|
|
|
- },
|
|
|
|
- // 清空搜索区采购员
|
|
|
|
- cleanBuyer() {
|
|
|
|
- this.queryParams.buyer = ''
|
|
|
|
- this.queryParams.buyerName = ''
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-</script>
|
|
|
|
-
|
|
|
|
-<style lang="scss" scoped>
|
|
|
|
-#demandSummary {
|
|
|
|
- padding: 12px;
|
|
|
|
- box-sizing: border-box;
|
|
|
|
- overflow-y: scroll;
|
|
|
|
-}
|
|
|
|
-.btn_grooup {
|
|
|
|
- margin-bottom: 10px;
|
|
|
|
- display: flex;
|
|
|
|
- justify-content: flex-end;
|
|
|
|
-}
|
|
|
|
-.lines {
|
|
|
|
- margin-top: 0;
|
|
|
|
-}
|
|
|
|
-.hang {
|
|
|
|
- margin: auto;
|
|
|
|
-}
|
|
|
|
-.hang ::v-deep .el-form-item__content{
|
|
|
|
- margin-left: 0px !important;
|
|
|
|
-}
|
|
|
|
-.el-pagination {
|
|
|
|
- margin-top: 10px;
|
|
|
|
- text-align: right;
|
|
|
|
-}
|
|
|
|
-::v-deep .vxe-body--row > td {
|
|
|
|
- border-right: none;
|
|
|
|
-}
|
|
|
|
- ::v-deep .el-card .el-form-item {
|
|
|
|
- margin-bottom: 3px;
|
|
|
|
-}
|
|
|
|
-::v-deep .vxe-body--row .success-row {
|
|
|
|
- background-color: #ff8a8a!important;
|
|
|
|
-}
|
|
|
|
-</style>
|
|
|
|
-<style>
|
|
|
|
-.exporttable {
|
|
|
|
- border: solid 1px #c0c0c0;
|
|
|
|
- }
|
|
|
|
-</style>
|
|
|