|
@@ -0,0 +1,856 @@
|
|
|
+<template>
|
|
|
+ <div class="app-container">
|
|
|
+ <div v-if="show === 1">
|
|
|
+ <!-- 筛选条件 -->
|
|
|
+ <div>
|
|
|
+ <div>
|
|
|
+ <el-form
|
|
|
+ ref="screenForm"
|
|
|
+ :model="screenForm"
|
|
|
+ label-width="70px"
|
|
|
+ size="mini"
|
|
|
+ label-position="left"
|
|
|
+ >
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6">
|
|
|
+ <el-form-item label="物料编码" prop="materialNumber">
|
|
|
+ <el-input
|
|
|
+ placeholder="请输入物料编码"
|
|
|
+ v-model="screenForm.materialNumber"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6">
|
|
|
+ <el-form-item label="产品名称" prop="materialName">
|
|
|
+ <el-input
|
|
|
+ placeholder="请输入产品名称"
|
|
|
+ v-model="screenForm.materialName"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6">
|
|
|
+ <el-form-item label="产品编码" prop="materialOldNumber">
|
|
|
+ <el-input
|
|
|
+ placeholder="请输入产品编码"
|
|
|
+ v-model="screenForm.materialOldNumber"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+<!-- <el-col :xs="24" :sm="12" :lg="6">-->
|
|
|
+<!-- <el-form-item label="生效日期" prop="startDate">-->
|
|
|
+<!-- <el-date-picker-->
|
|
|
+<!-- v-model="screenForm.startDate"-->
|
|
|
+<!-- type="datetime"-->
|
|
|
+<!-- placeholder="请输入生效日期"-->
|
|
|
+<!-- value-format="yyyy-MM-dd HH:mm:ss"-->
|
|
|
+<!-- >-->
|
|
|
+<!-- </el-date-picker>-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+<!-- </el-col>-->
|
|
|
+<!-- <el-col :xs="24" :sm="12" :lg="6">-->
|
|
|
+<!-- <el-form-item label="失效日期" prop="endDate">-->
|
|
|
+<!-- <el-date-picker-->
|
|
|
+<!-- v-model="screenForm.endDate"-->
|
|
|
+<!-- type="datetime"-->
|
|
|
+<!-- placeholder="请输入生效日期"-->
|
|
|
+<!-- value-format="yyyy-MM-dd HH:mm:ss "-->
|
|
|
+<!-- >-->
|
|
|
+<!-- </el-date-picker>-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+<!-- </el-col>-->
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6">
|
|
|
+ <el-form-item label="销售类型" prop="saleTypeId">
|
|
|
+ <el-select
|
|
|
+ v-model="screenForm.saleTypeId"
|
|
|
+ filterable
|
|
|
+ placeholder="选择销售类型"
|
|
|
+ style="width: 100%"
|
|
|
+ >
|
|
|
+ <el-option label="全部" value=""></el-option>
|
|
|
+ <el-option
|
|
|
+ v-for="item in typeList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.saleName"
|
|
|
+ :value="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6">
|
|
|
+ <el-form-item label="产品类别" prop="k3CategoryNumber">
|
|
|
+ <el-select
|
|
|
+ style="width:100%"
|
|
|
+ placeholder="请选择产品类别"
|
|
|
+ v-model="screenForm.k3CategoryNumber"
|
|
|
+ >
|
|
|
+ <el-option label="全部" value=""></el-option>
|
|
|
+ <el-option
|
|
|
+ v-for="item in dictList"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.number"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6">
|
|
|
+ <el-form-item label="规格型号" prop="specification">
|
|
|
+ <el-input
|
|
|
+ placeholder="请输入规格型号"
|
|
|
+ v-model="screenForm.specification"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6">
|
|
|
+ <el-form-item label="备注" prop="remark">
|
|
|
+ <el-input
|
|
|
+ placeholder="请输入备注"
|
|
|
+ v-model="screenForm.remark"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :lg="24" class="tr">
|
|
|
+ <el-form-item label="">
|
|
|
+ <el-button size="mini" @click="resetScreenForm">清空</el-button>
|
|
|
+ <el-button size="mini" type="primary" @click="submitScreenForm"
|
|
|
+ >搜索</el-button
|
|
|
+ >
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 按钮 -->
|
|
|
+ <div class="btn-group clearfix">
|
|
|
+ <div class="fl">
|
|
|
+ <el-button type="primary" v-if="$checkBtnRole('add', $route.meta.roles)" icon="el-icon-plus" size="mini" @click="addFn">新增</el-button>
|
|
|
+ <!-- <el-button type="primary" size="mini">编辑</el-button> -->
|
|
|
+ <el-upload
|
|
|
+
|
|
|
+ style="margin-bottom: 10px;"
|
|
|
+ class="import-btn"
|
|
|
+ :action="baseURL + 'student/import'"
|
|
|
+ :http-request="handleImport"
|
|
|
+ :file-list="importFileList"
|
|
|
+ :show-file-list="false"
|
|
|
+ :disabled="importLoading"
|
|
|
+ v-loading="importLoading"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ >导入调价单
|
|
|
+ </el-button>
|
|
|
+ </el-upload>
|
|
|
+ <el-button
|
|
|
+
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ @click="hanleDownloadFiles"
|
|
|
+ >下载模板
|
|
|
+ </el-button>
|
|
|
+ <el-popconfirm
|
|
|
+ v-if="$checkBtnRole('del', $route.meta.roles)"
|
|
|
+ confirm-button-text="好的"
|
|
|
+ cancel-button-text="不用了"
|
|
|
+ icon="el-icon-info"
|
|
|
+ icon-color="red"
|
|
|
+ title="内容确定删除吗?"
|
|
|
+ style="margin-right:10px"
|
|
|
+ @onConfirm="hanleDeleteAll"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ slot="reference"
|
|
|
+ class="el-popover-left"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ </el-popconfirm>
|
|
|
+ <el-button size="mini" v-if="$checkBtnRole('examine', $route.meta.roles)" type="warning" icon="el-icon-finished" @click="batchExamine" >批量审批</el-button>
|
|
|
+ </div>
|
|
|
+ <div class="fr">
|
|
|
+ <ExportButton :exUrl="'product-upd-price/export'" :exParams="exParams" />
|
|
|
+ <!-- <el-button type="primary" size="mini">导入</el-button>
|
|
|
+ <el-button type="primary" size="mini">导出</el-button>
|
|
|
+ <el-button type="primary" size="mini">打印</el-button> -->
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="mymain-container">
|
|
|
+ <!-- 列表 -->
|
|
|
+ <div class="table">
|
|
|
+ <el-table
|
|
|
+ v-loading="listLoading"
|
|
|
+ :data="dataList"
|
|
|
+ element-loading-text="Loading"
|
|
|
+ border
|
|
|
+ fit
|
|
|
+ highlight-current-row
|
|
|
+ @select-all="hanleSelectAll"
|
|
|
+ @select="hanleSelectAll"
|
|
|
+ :row-class-name="tableRowClassName"
|
|
|
+
|
|
|
+ >
|
|
|
+ <el-table-column
|
|
|
+ type="selection"
|
|
|
+ align="left"
|
|
|
+ width="50"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="单据号"
|
|
|
+ prop="updPriceBillId"
|
|
|
+ min-width="200"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <CopyButton :copyText="scope.row.updPriceBillId" />
|
|
|
+ <span>{{scope.row.updPriceBillId}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="备注"
|
|
|
+ prop="remark"
|
|
|
+ min-width="200"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="销售类型"
|
|
|
+ prop="saleTypeName"
|
|
|
+ :formatter="formatterType"
|
|
|
+ min-width="160"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+ <!-- <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="产品类别"
|
|
|
+ prop="mainName"
|
|
|
+ min-width="160"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column> -->
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="物料编码"
|
|
|
+ prop="materialNumber"
|
|
|
+ min-width="160"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <CopyButton :copyText="scope.row.materialNumber" />
|
|
|
+ <span>{{scope.row.materialNumber}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="产品名称"
|
|
|
+ prop="materialName"
|
|
|
+ min-width="200"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <CopyButton :copyText="scope.row.materialName" />
|
|
|
+ <span>{{scope.row.materialName}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="产品编码"
|
|
|
+ prop="materialOldNumber"
|
|
|
+ min-width="200"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <CopyButton :copyText="scope.row.materialOldNumber" />
|
|
|
+ <span>{{scope.row.materialOldNumber}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="规格型号"
|
|
|
+ prop="specification"
|
|
|
+ min-width="200"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <CopyButton :copyText="scope.row.specification" />
|
|
|
+ <span>{{scope.row.specification}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="计量单位"
|
|
|
+ prop="unit"
|
|
|
+ min-width="160"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="right"
|
|
|
+ label="数量"
|
|
|
+ prop="qty"
|
|
|
+ min-width="160"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="right"
|
|
|
+ label="批发价"
|
|
|
+ prop="batchPrice"
|
|
|
+ min-width="160"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+
|
|
|
+ <el-table-column
|
|
|
+ align="right"
|
|
|
+ label="格力折扣"
|
|
|
+ prop="discAmount"
|
|
|
+ min-width="160"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="调价日期"
|
|
|
+ prop="createTime"
|
|
|
+ min-width="200"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="生效日期"
|
|
|
+ prop="startDate"
|
|
|
+ min-width="200"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="失效日期"
|
|
|
+ prop="endDate"
|
|
|
+ min-width="200"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+ <!-- <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="是否促销价"
|
|
|
+ prop="isPromote"
|
|
|
+ min-width="160"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-tag size="mini" type="success" v-if="scope.row.isPromote">是</el-tag>
|
|
|
+ <el-tag size="mini" type="danger" v-else>否</el-tag>
|
|
|
+ </template>
|
|
|
+ </el-table-column> -->
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="返利类型(钱包)"
|
|
|
+ prop="wallets"
|
|
|
+ min-width="200"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <template v-for="(item, index) in scope.row.wallets">
|
|
|
+ <template v-if="item.type === 'REBATE'">
|
|
|
+ <el-tag
|
|
|
+ type="success"
|
|
|
+ style="margin: 0 10px"
|
|
|
+ size="mini"
|
|
|
+
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
+ {{ item.walletName }}
|
|
|
+ </el-tag>
|
|
|
+ </template
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="现金钱包"
|
|
|
+ prop="modifyPriceDepartment"
|
|
|
+ min-width="200"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <template v-for="(item, index) in scope.row.wallets">
|
|
|
+ <template v-if="item.type === 'COMMONLY'">
|
|
|
+
|
|
|
+ <el-tag
|
|
|
+ type="success"
|
|
|
+ style="margin: 0 10px"
|
|
|
+ size="mini"
|
|
|
+
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
+ {{ item.walletName }}
|
|
|
+ </el-tag>
|
|
|
+ </template
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="调价部门"
|
|
|
+ prop="adminWebsitName"
|
|
|
+ min-width="200"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="调价业务员"
|
|
|
+ prop="serviceName"
|
|
|
+ min-width="200"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="制单日期"
|
|
|
+ prop="createTime"
|
|
|
+ min-width="200"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="审核人"
|
|
|
+ prop="confirmName"
|
|
|
+ min-width="200"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="审核日期"
|
|
|
+ prop="confirmTime"
|
|
|
+ min-width="200"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="left"
|
|
|
+ label="状态"
|
|
|
+ prop="examineStatus"
|
|
|
+ min-width="160"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-tag size="mini" type="success" v-if="scope.row.examineStatus == 'SAVE'"
|
|
|
+ >保存</el-tag
|
|
|
+ >
|
|
|
+ <el-tag
|
|
|
+ size="mini"
|
|
|
+ type="danger"
|
|
|
+ v-else-if="scope.row.examineStatus == 'WAIT'"
|
|
|
+ >待审核</el-tag
|
|
|
+ >
|
|
|
+ <el-tag
|
|
|
+ size="mini"
|
|
|
+ type="danger"
|
|
|
+ v-else-if="scope.row.examineStatus == 'OK'"
|
|
|
+ >通过</el-tag
|
|
|
+ >
|
|
|
+ <el-tag
|
|
|
+ size="mini"
|
|
|
+ type="danger"
|
|
|
+ v-else-if="scope.row.examineStatus == 'FAIL'"
|
|
|
+ >不通过</el-tag
|
|
|
+ >
|
|
|
+ <el-tag size="mini" type="danger" v-else>审核</el-tag>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ label="操作"
|
|
|
+ fixed="right"
|
|
|
+ min-width="160"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <template v-if="scope.row.examineStatus == 'SAVE'">
|
|
|
+ <el-popconfirm
|
|
|
+ title="确定提审吗?"
|
|
|
+ @onConfirm="handleGetPriceSubmit(scope.row.updPriceBillId)"
|
|
|
+ style="margin-right: 10px"
|
|
|
+ >
|
|
|
+ <el-button type="text" slot="reference">提审</el-button>
|
|
|
+ </el-popconfirm>
|
|
|
+ </template>
|
|
|
+ <template v-if="scope.row.examineStatus == 'WAIT'">
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ class="textColor"
|
|
|
+ @click="approvalFn(scope.row.updPriceBillId)"
|
|
|
+ >审批</el-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ <el-button
|
|
|
+ v-if="scope.row.examineStatus == 'SAVE'"
|
|
|
+ type="text"
|
|
|
+ class="textColor"
|
|
|
+ @click="editFn(scope.row.updPriceBillId,scope.row)"
|
|
|
+ >编辑</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ class="textColor"
|
|
|
+ @click="detailFn(scope.row.updPriceBillId)"
|
|
|
+ >详情</el-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ <!-- 分页 -->
|
|
|
+ <div class="fr">
|
|
|
+ <el-pagination
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ :current-page="currentPage"
|
|
|
+ :page-sizes="[10, 20, 30, 50]"
|
|
|
+ :page-size="10"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ :total="listTotal"
|
|
|
+ >
|
|
|
+ </el-pagination>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <ModifyListApply v-else-if="show === 2 || show==5" :cid='cid'/>
|
|
|
+ <ModifyListApproval v-else-if="show === 3 " :detail="detail" />
|
|
|
+ <ModifyListDetail v-else :detail="detail" />
|
|
|
+ <ExamineDialog :isShow.sync="isShowExamineDialog" :examineForm.sync="examineForm" />
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import ModifyListApply from './components/modify_list-apply.vue'
|
|
|
+import ModifyListApproval from './components/modify_list-approval.vue'
|
|
|
+import ModifyListDetail from './components/modify_list-detail.vue'
|
|
|
+import ExamineDialog from '@/components/Common/examine-dialog'
|
|
|
+import Mixin from '@/mixin/index'
|
|
|
+import {
|
|
|
+ getPriceSubmit,
|
|
|
+ getProductRricedel,
|
|
|
+ getProductRriceDetail,
|
|
|
+ getProductRriceList,
|
|
|
+ getTypeList,
|
|
|
+ examineData
|
|
|
+} from '@/api/basic_data/material'
|
|
|
+import {downloadFiles, handleImport} from '@/utils/util'
|
|
|
+import { getCategoryList } from '@/api/common'
|
|
|
+
|
|
|
+export default {
|
|
|
+ mixins: [Mixin],
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ baseURL: '',
|
|
|
+ importFileList: [],
|
|
|
+ show: 1,
|
|
|
+ currentPage: 1, // 当前页码
|
|
|
+ pageSize: 10, // 每页数量
|
|
|
+ listTotal: 0, // 列表总数
|
|
|
+ dataList: [
|
|
|
+ {
|
|
|
+ baseUnitId: "",
|
|
|
+ batchPrice: "",
|
|
|
+ billId: "",
|
|
|
+ endDate: "",
|
|
|
+ id: null,
|
|
|
+ isPromote: "",
|
|
|
+ isPublish: "",
|
|
|
+ materialId: "",
|
|
|
+ materialName: "",
|
|
|
+ materialNumber: "",
|
|
|
+ parentId: "",
|
|
|
+ qty: "",
|
|
|
+ rebateUseRate: "",
|
|
|
+ retailPrice: "",
|
|
|
+ saleTypeId: "",
|
|
|
+ specification: "",
|
|
|
+ startDate: "",
|
|
|
+ wallets: [],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ screenForm: {
|
|
|
+ materialName: "",
|
|
|
+ materialNumber: "",
|
|
|
+ startDate: "",
|
|
|
+ materialOldNumber:'',
|
|
|
+ saleTypeId:'',
|
|
|
+ k3CategoryNumber:'',
|
|
|
+ specification:'',
|
|
|
+ remark: ''
|
|
|
+ },
|
|
|
+ liDetail: {},
|
|
|
+ detail: {},
|
|
|
+ obj: {
|
|
|
+ baseUnitId: "",
|
|
|
+ batchPrice: "",
|
|
|
+ billId: "",
|
|
|
+ endDate: "",
|
|
|
+ id: null,
|
|
|
+ isPromote: "",
|
|
|
+ isPublish: "",
|
|
|
+ materialId: "4",
|
|
|
+ materialName: "",
|
|
|
+ materialNumber: "",
|
|
|
+ parentId: "",
|
|
|
+ qty: "",
|
|
|
+ rebateUseRate: "",
|
|
|
+ retailPrice: "",
|
|
|
+ saleTypeId: "",
|
|
|
+ specification: "",
|
|
|
+ startDate: "",
|
|
|
+ wallets: [],
|
|
|
+ },
|
|
|
+ cid:'',
|
|
|
+ typeList: [],
|
|
|
+ dictList:[],
|
|
|
+ importLoading:false,
|
|
|
+ isShowExamineDialog: false,
|
|
|
+ examineForm: {
|
|
|
+ status: 'OK',
|
|
|
+ remark: '',
|
|
|
+ },
|
|
|
+ };
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ ExamineDialog,
|
|
|
+ ModifyListApply,
|
|
|
+ ModifyListApproval,
|
|
|
+ ModifyListDetail,
|
|
|
+ },
|
|
|
+ computed:{
|
|
|
+ exParams() {
|
|
|
+ return {
|
|
|
+ materialName: this.screenForm.materialName,
|
|
|
+ materialNumber: this.screenForm.materialNumber,
|
|
|
+ startDate: this.screenForm.startDate,
|
|
|
+ materialOldNumber:this.screenForm.materialOldNumber,
|
|
|
+ saleTypeId:this.screenForm.saleTypeId,
|
|
|
+ k3CategoryNumber:this.screenForm.k3CategoryNumber,
|
|
|
+ specification:this.screenForm.specification,
|
|
|
+ remark: this.screenForm.remark,
|
|
|
+ billType:'DIFF'
|
|
|
+ };
|
|
|
+ },
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ let params = {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: -1,
|
|
|
+ saleCode: "",
|
|
|
+ saleName: "",
|
|
|
+ status: "",
|
|
|
+ };
|
|
|
+ getTypeList(params).then((res) => {
|
|
|
+ this.typeList = res.data.records;
|
|
|
+ });
|
|
|
+ getCategoryList({ pageNum:1,pageSize:-1}).then((res) => {
|
|
|
+ this.dictList = res.data.records
|
|
|
+ console.log(this.dictList,777777)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ formatterType(row) {
|
|
|
+ for (let i = 0; i < this.typeList.length; i++) {
|
|
|
+ if (this.typeList[i].id == row.saleTypeId) {
|
|
|
+ return this.typeList[i].saleName;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ addFn() {
|
|
|
+ this.show = 2;
|
|
|
+ },
|
|
|
+ hanleDeleteAll(id) {
|
|
|
+
|
|
|
+ this.hanleDeleteAllPromise(id).then((ids) => {
|
|
|
+
|
|
|
+ getProductRricedel(ids).then((res) => {
|
|
|
+ this.$successMsg("删除成功");
|
|
|
+ this.getList();
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 打开 批量审批
|
|
|
+ batchExamine() {
|
|
|
+ if (this.ids.length) {
|
|
|
+ this.isShowExamineDialog = true;
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.$errorMsg('请选择审核项')
|
|
|
+ },
|
|
|
+ // 提交 批量审批
|
|
|
+ submitExamineForm() {
|
|
|
+ // let ids = this.dis.map(item => {
|
|
|
+ // return item
|
|
|
+ // });
|
|
|
+ const ids = [...new Set(this.ids)]
|
|
|
+ examineData({
|
|
|
+ ids: ids.join(','),
|
|
|
+ examineStatus: this.examineForm.status,
|
|
|
+ examineRemark: this.examineForm.remark,
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ this.isShowExamineDialog = false;
|
|
|
+ this.$successMsg("修改成功");
|
|
|
+ this.getList();
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleGetPriceSubmit(id) {
|
|
|
+ console.log(id);
|
|
|
+ getPriceSubmit({ ids:id }).then((res) => {
|
|
|
+ this.$successMsg("已提审");
|
|
|
+ this.getList();
|
|
|
+ });
|
|
|
+ },
|
|
|
+ approvalFn(id) {
|
|
|
+ getProductRriceDetail({ id }).then((res) => {
|
|
|
+ this.detail = res.data;
|
|
|
+ this.show = 3;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ detailFn(id) {
|
|
|
+ getProductRriceDetail({ id }).then((res) => {
|
|
|
+ this.detail = res.data;
|
|
|
+
|
|
|
+ this.show = 4;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ getList() {
|
|
|
+ this.listLoading = true;
|
|
|
+ console.log(456654);
|
|
|
+ let params = {
|
|
|
+ pageNum: this.currentPage,
|
|
|
+ pageSize: this.pageSize,
|
|
|
+ materialName: this.screenForm.materialName,
|
|
|
+ materialNumber: this.screenForm.materialNumber,
|
|
|
+ startDate: this.screenForm.startDate,
|
|
|
+ materialOldNumber:this.screenForm.materialOldNumber,
|
|
|
+ saleTypeId:this.screenForm.saleTypeId,
|
|
|
+ k3CategoryNumber:this.screenForm.k3CategoryNumber,
|
|
|
+ specification:this.screenForm.specification,
|
|
|
+ remark: this.screenForm.remark,
|
|
|
+ billType:'DIFF'
|
|
|
+ };
|
|
|
+ getProductRriceList(params).then((res) => {
|
|
|
+ this.dataList = res.data.records;
|
|
|
+ this.listTotal = res.data.total;
|
|
|
+ this.listLoading = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ editFn(id, row) {
|
|
|
+ this.cid = id
|
|
|
+ this.show = 5;
|
|
|
+
|
|
|
+
|
|
|
+ // this.diaLogForm = {
|
|
|
+ // id,
|
|
|
+ // composeNumber: row.composeNumber,
|
|
|
+ // items: row.items === undefined ? [] : row.items,
|
|
|
+ // materialId: row.materialId,
|
|
|
+ // orgNumber: row.orgNumber,
|
|
|
+ // productModel: row.productModel,
|
|
|
+ // productVolume: row.productVolume,
|
|
|
+ // };
|
|
|
+ // this.showDialogForm = true;
|
|
|
+ },
|
|
|
+ hanleInfo() {
|
|
|
+ if (this.type === 1) {
|
|
|
+ getProductAdd(this.diaLogForm).then((res) => {
|
|
|
+ this.$successMsg("保存成功");
|
|
|
+ console.log(params, 123);
|
|
|
+ this.getList();
|
|
|
+ });
|
|
|
+ } else if (this.type === 2) {
|
|
|
+ const params = {
|
|
|
+ ...this.diaLogForm,
|
|
|
+ };
|
|
|
+ console.log(params, 123);
|
|
|
+ getProductEdit(params).then((res) => {
|
|
|
+ this.$successMsg("编辑成功");
|
|
|
+ this.getList();
|
|
|
+ });
|
|
|
+ this.diaLogForm.id = null;
|
|
|
+ }
|
|
|
+ this.showDialogForm = false;
|
|
|
+ },
|
|
|
+ hanleDelete(id) {
|
|
|
+ this.hanleDeleteAllPromise(id).then((ids) => {
|
|
|
+ getProductDel(ids).then((res) => {
|
|
|
+ this.$successMsg("删除成功");
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ handleExport() {
|
|
|
+ let screenData = {
|
|
|
+ customerName: this.screenForm.customerName,
|
|
|
+ freeDay: this.screenForm.freeDay,
|
|
|
+ toll: this.screenForm.toll,
|
|
|
+ remark: this.screenForm.remark,
|
|
|
+ billType:'DIFF'
|
|
|
+ };
|
|
|
+ downloadFiles("product-compose/export", screenData);
|
|
|
+ },
|
|
|
+ resetInfo() {
|
|
|
+ this.diaLogForm = {
|
|
|
+ composeNumber: "",
|
|
|
+ id: "",
|
|
|
+ items: [],
|
|
|
+ materialId: "",
|
|
|
+ orgNumber: 0,
|
|
|
+ productModel: "",
|
|
|
+ productVolume: "",
|
|
|
+ };
|
|
|
+ },
|
|
|
+ // 导入
|
|
|
+ async handleImport(param) {
|
|
|
+ this.importLoading = true
|
|
|
+ const file = param.file
|
|
|
+ const formData = new FormData()
|
|
|
+ formData.append('file', file)
|
|
|
+ formData.append('billType', 'DIFF')
|
|
|
+
|
|
|
+ const result = await handleImport('/product-upd-price/material/import', formData)
|
|
|
+ this.importLoading = false
|
|
|
+ this.importFileList = []
|
|
|
+ if (result.code === 200) {
|
|
|
+ this.$alert('成功处理记录数:' + result.data, '导入成功', {
|
|
|
+ confirmButtonText: '确定'
|
|
|
+ })
|
|
|
+ this.getList()
|
|
|
+ } else {
|
|
|
+ this.$alert(result.message, '导入失败', {
|
|
|
+ confirmButtonText: '确定'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 下载经销商模板
|
|
|
+ hanleDownloadFiles() {
|
|
|
+ downloadFiles('product-upd-price/download')
|
|
|
+ },
|
|
|
+ tableRowClassName({row, rowIndex}) {
|
|
|
+ // || row.examineStatus=='FAIL'
|
|
|
+ if (this.ids.includes(row.updPriceBillId)) {
|
|
|
+ return 'warning-row';
|
|
|
+ }
|
|
|
+ return '';
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+
|
|
|
+ ::v-deep .el-table .warning-row {
|
|
|
+ background: oldlace;
|
|
|
+ }
|
|
|
+::v-deep .el-select--small {
|
|
|
+ width: 100%;
|
|
|
+}
|
|
|
+.import-btn{
|
|
|
+ display: inline-block;
|
|
|
+ margin: 0 10px;
|
|
|
+}
|
|
|
+</style>
|