123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878 |
- <template>
- <div>
- <div>
- <el-page-header @back="goBack" content="存货调价单"> </el-page-header>
- </div>
- <br /><br />
- <div>
- <el-form
- ref="screenForm"
- label-width="100px"
- size="small"
- label-position="left"
- >
- <el-row :gutter="20">
- <el-col :xs="24" :sm="12" :lg="6">
- <el-form-item label="单据编号">
- <el-input
- placeholder="请输入"
- disabled
- v-model="base.billId"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :lg="6">
- <el-form-item label="调价日期">
- <el-date-picker
- v-model="base.startDate"
- type="datetime"
- disabled
- 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="调价部门">
- <el-input placeholder="请输入" disabled></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :lg="6">
- <el-form-item label="调价业务员">
- <el-input placeholder="请输入" disabled></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :lg="6">
- <el-form-item label="制单日期">
- <el-date-picker
- v-model="startDate"
- disabled
- 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="销售类型">
- <el-select placeholder="请选择销售类型" v-model="saleTypeId">
- <el-option
- v-for="item in typeList"
- :label="item.name"
- :value="item.name"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :lg="6">
- <el-form-item label="文件编码">
- <el-input placeholder="请输入" v-model="base.remark"></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :lg="6">
- <el-form-item label="" class="fr"> </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- </div>
- <div class="mymain-container">
- <!-- 列表 -->
- <div class="table">
- <el-form v-if="!detail.length" size="small" label-position="left">
- <el-table
- v-loading="listLoading"
- :data="items"
- element-loading-text="Loading"
- border
- fit
- highlight-current-row
- stripe
- >
- <el-table-column
- align="center"
- label="操作类型"
- prop="nname"
- min-width="160"
- show-overflow-tooltip
- >
- <!-- <el-button type="text" class="textColor">修改</el-button> -->
- <template slot-scope="scope">
- <el-button
- type="text"
- class="textColor"
- @click="hanleDeleInd(scope.$index)"
- >删除</el-button
- >
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="销售类型"
- prop="saleTypeId"
- min-width="160"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <el-form-item>
- <el-select
- placeholder="请选择销售类型"
- v-model="scope.row.saleTypeId"
- >
- <el-option
- v-for="item in typeList"
- :label="item.name"
- :value="item.id"
- ></el-option>
- </el-select>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="存货编码"
- prop="materialNumber"
- min-width="160"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <el-form-item>
- <el-input v-model="scope.row.materialNumber"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="存货名称"
- prop="materialName"
- min-width="160"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <el-form-item>
- <el-input v-model="scope.row.materialName"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="规格型号"
- prop="specification"
- min-width="160"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <el-form-item>
- <el-input v-model="scope.row.specification"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="计量单位"
- prop="company"
- min-width="160"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <el-form-item>
- <el-input v-model="scope.row.SalesType"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="批发价"
- prop="batchPrice"
- min-width="160"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <el-form-item>
- <el-input v-model="scope.row.batchPrice"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="格力折扣"
- prop="retailPrice"
- min-width="160"
- show-overflow-tooltip
- ><template slot-scope="scope">
- <el-form-item>
- <el-input v-model="scope.row.retailPrice"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="返利类型"
- prop="rebateUseRate"
- min-width="160"
- show-overflow-tooltip
- ><template slot-scope="scope">
- <el-form-item>
- <el-input v-model="scope.row.rebateUseRate"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="生效日期"
- prop="startDate"
- min-width="160"
- show-overflow-tooltip
- ><template slot-scope="scope">
- <el-form-item>
- <el-date-picker
- v-model="scope.row.startDate"
- type="date"
- placeholder="请输入调价日期"
- value-format="yyyy-MM-dd"
- >
- </el-date-picker>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="失效日期"
- prop="endDate"
- min-width="160"
- show-overflow-tooltip
- ><template slot-scope="scope">
- <el-form-item>
- <el-date-picker
- v-model="scope.row.endDate"
- type="date"
- placeholder="请输入调价日期"
- value-format="yyyy-MM-dd"
- >
- </el-date-picker>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="是否促销价"
- prop="isPromote"
- min-width="160"
- show-overflow-tooltip
- ><template slot-scope="scope">
- <el-form-item>
- <el-select
- v-model="scope.row.isPromote"
- @change="hanleChange"
- placeholder="请选择是否促销价"
- >
- <el-option
- v-for="item in scope.row.isPromoteArr"
- :key="item.bool"
- :value="item.bool"
- :label="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="数量"
- prop="qty"
- min-width="160"
- show-overflow-tooltip
- ><template slot-scope="scope">
- <el-form-item>
- <el-input v-model="scope.row.qty"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="现金钱包"
- prop="wallets"
- min-width="160"
- show-overflow-tooltip
- ><template slot-scope="scope">
- <el-form-item>
- <el-select
- v-model="scope.row.isPublish"
- @change="hanleChange"
- placeholder="请选择现金钱包"
- >
- <el-option
- v-for="item in scope.row.rebateList"
- :key="item.bool"
- :value="item.bool"
- :label="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="发布"
- prop="isPublish"
- min-width="160"
- show-overflow-tooltip
- ><template slot-scope="scope">
- <el-form-item>
- <el-select
- v-model="scope.row.isPublish"
- @change="hanleChange"
- placeholder="请选择是否发布"
- >
- <el-option
- v-for="item in scope.row.isPublishArr"
- :key="item.bool"
- :value="item.bool"
- :label="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </template>
- </el-table-column>
- </el-table>
- </el-form>
- <el-form :model="detail" v-else size="small" label-position="left">
- <el-table
- v-loading="listLoading"
- :data="detail"
- element-loading-text="Loading"
- border
- fit
- highlight-current-row
- stripe
- >
- <el-table-column
- align="center"
- label="操作类型"
- prop="nname"
- min-width="160"
- show-overflow-tooltip
- >
- <!-- <el-button type="text" class="textColor">修改</el-button> -->
- <template slot-scope="scope">
- <el-button
- type="text"
- class="textColor"
- @click="hanleDeleInd(scope.$index)"
- >删除</el-button
- >
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="销售类型"
- prop="saleTypeId"
- min-width="160"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <el-form-item>
- <el-select
- placeholder="请选择销售类型"
- v-model="scope.row.saleTypeId"
- >
- <el-option
- v-for="item in typeList"
- :label="item.name"
- :value="item.id"
- ></el-option>
- </el-select>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="存货编码"
- prop="materialNumber"
- min-width="160"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <el-form-item>
- <el-input v-model="scope.row.materialNumber"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="存货名称"
- prop="materialName"
- min-width="160"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <el-form-item>
- <el-input v-model="scope.row.materialName"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="规格型号"
- prop="specification"
- min-width="160"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <el-form-item>
- <el-input v-model="scope.row.specification"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="计量单位"
- prop="company"
- min-width="160"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <el-form-item>
- <el-input v-model="scope.row.SalesType"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="批发价"
- prop="batchPrice"
- min-width="160"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <el-form-item>
- <el-input v-model="scope.row.batchPrice"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="零售价"
- prop="retailPrice"
- min-width="160"
- show-overflow-tooltip
- ><template slot-scope="scope">
- <el-form-item>
- <el-input v-model="scope.row.retailPrice"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="返利使用比例"
- prop="rebateUseRate"
- min-width="160"
- show-overflow-tooltip
- ><template slot-scope="scope">
- <el-form-item>
- <el-input v-model="scope.row.rebateUseRate"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="生效日期"
- prop="startDate"
- min-width="160"
- show-overflow-tooltip
- ><template slot-scope="scope">
- <el-form-item>
- <el-date-picker
- v-model="scope.row.startDate"
- type="date"
- placeholder="请输入调价日期"
- value-format="yyyy-MM-dd"
- >
- </el-date-picker>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="失效日期"
- prop="endDate"
- min-width="160"
- show-overflow-tooltip
- ><template slot-scope="scope">
- <el-form-item>
- <el-date-picker
- v-model="scope.row.endDate"
- type="date"
- placeholder="请输入调价日期"
- value-format="yyyy-MM-dd"
- >
- </el-date-picker>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="是否促销价"
- prop="isPromote"
- min-width="160"
- show-overflow-tooltip
- ><template slot-scope="scope">
- <el-form-item>
- <el-select
- v-model="scope.row.isPromote"
- @change="hanleChange"
- placeholder="请选择是否促销价"
- >
- <el-option
- v-for="item in scope.row.isPromoteArr"
- :key="item.bool"
- :value="item.bool"
- :label="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="数量"
- prop="qty"
- min-width="160"
- show-overflow-tooltip
- ><template slot-scope="scope">
- <el-form-item>
- <el-input v-model="scope.row.qty"></el-input>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="支付钱包类型"
- prop="wallets"
- min-width="160"
- show-overflow-tooltip
- ><template slot-scope="scope">
- <el-form-item>
- <el-select
- v-model="scope.row.isPublish"
- @change="hanleChange"
- placeholder="请选择支付钱包类型"
- >
- <el-option
- v-for="item in scope.row.rebateList"
- :key="item.bool"
- :value="item.bool"
- :label="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="发布"
- prop="isPublish"
- min-width="160"
- show-overflow-tooltip
- ><template slot-scope="scope">
- <el-form-item>
- <el-select
- v-model="scope.row.isPublish"
- @change="hanleChange"
- placeholder="请选择是否发布"
- >
- <el-option
- v-for="item in scope.row.isPublishArr"
- :key="item.bool"
- :value="item.bool"
- :label="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </template>
- </el-table-column>
- </el-table>
- </el-form>
- <el-dialog
- title="提示"
- :visible.sync="centerDialogVisible"
- width="50%"
- center
- class="dia"
- >
- <el-form
- :model="form"
- ref="form"
- label-width="80px"
- :inline="false"
- size="normal"
- >
- <el-form-item label="产品类型">
- <el-select v-model="materialId" placeholder="请选择" width="100%">
- <el-option
- v-for="item in materialLis"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </el-form>
- <span slot="footer" class="dialog-footer">
- <el-button @click="centerDialogVisible = false">取 消</el-button>
- <el-button type="primary" @click="hanleAdd">确 定</el-button>
- </span>
- </el-dialog>
- </div>
- </div>
- <div class="btn-group clearfix">
- <el-button size="small">重置</el-button>
- <el-button size="small" type="primary" @click="hanleSbumit"
- >提交</el-button
- >
- <el-button
- style="float: right"
- type="primary"
- size="small"
- @click="(centerDialogVisible = true), getMaterialList()"
- >添加</el-button
- >
- </div>
- </div>
- </template>
- <script>
- import {
- getProductRriceAdd,
- getProductRriceConfirm,
- getProductRriceDetail,
- getProductRriceEdit,
- getProductRriceList,
- getProductRriceRevoke,
- getProductRriceSubmit,
- getTypeList,
- // getTree,
- getMaterialList,
- getRebate,
- } from "@/api/basic_data/material";
- import { thisTypeAnnotation } from "@babel/types";
- export default {
- data() {
- return {
- listLoading: false,
- screenForm: {},
- base: {
- adminCompanyId: "",
- adminWebsitId: "",
- billId: "",
- examineNote: "",
- examineResult: true,
- examineStatus: "",
- id: null,
- operatorId: "",
- operatorName: "",
- remark: "",
- saleTypeId: "",
- },
- items: [],
- centerDialogVisible: false,
- materialLis: [],
- materialId: "",
- rebateList: [],
- typeList: [],
- saleTypeId: "",
- remark: "",
- detail: [],
- form: {},
- startDate: "",
- };
- },
- mounted() {
- let params = {
- pageNum: 1,
- pageSize: 10,
- saleCode: "",
- saleName: "",
- status: 1,
- };
- getTypeList(params).then((res) => {
- this.typeList = res.data.records;
- });
- },
- methods: {
- hanleChange(e) {
- console.log(e);
- },
- goBack() {
- this.$parent.show = 1;
- },
- indexMethod(index) {
- console.log(index);
- },
- hanleDeleInd(index) {
- this.items.splice(index, 1);
- },
- getMaterialList() {
- let rebateParams = {
- pageNum: 1,
- pageSize: 10,
- mainName: "",
- saleTypeCode: "",
- saleTypeName: "",
- status: 1,
- };
- getRebate(rebateParams).then((res) => {
- this.rebateList = res.data.records;
- });
- let params = {
- pageNum: 1,
- pageSize: 10,
- keyword: "",
- };
- getMaterialList(params).then((res) => {
- this.materialLis = res.data.records;
- });
- },
- hanleAdd() {
- this.centerDialogVisible = false;
- this.items.push({
- baseUnitId: "",
- batchPrice: "",
- billId: "",
- endDate: "",
- id: null,
- isPromote: "",
- isPublish: "",
- materialId: this.materialId,
- materialName: "",
- materialNumber: "",
- parentId: "",
- qty: "",
- rebateUseRate: "",
- retailPrice: "",
- saleTypeId: this.saleTypeId,
- specification: "",
- startDate: "",
- wallets: [
- {
- billId: "44",
- id: "",
- mainId: "",
- parentId: "",
- parentItemId: "",
- },
- ],
- rebateList: this.rebateList,
- isPublishArr: [
- {
- value: "是",
- bool: 1,
- },
- {
- value: "否",
- bool: 0,
- },
- ],
- isPromoteArr: [
- {
- value: "是",
- bool: 1,
- },
- {
- value: "否",
- bool: 0,
- },
- ],
- });
- },
- hanleSbumit() {
- const params = {
- ...this.base,
- items: this.items,
- };
- getProductRriceAdd(params).then((res) => {
- this.items = {
- baseUnitId: "32",
- batchPrice: "23",
- billId: "",
- endDate: "",
- id: null,
- isPromote: "",
- isPublish: "",
- materialId: "",
- materialName: "",
- materialNumber: "",
- parentId: "",
- qty: "",
- rebateUseRate: "",
- retailPrice: "",
- saleTypeId: "",
- specification: "",
- startDate: "",
- wallets: [],
- isPublishArr: [
- {
- value: "是",
- bool: 1,
- },
- {
- value: "否",
- bool: 0,
- },
- ],
- isPromoteArr: [
- {
- value: "是",
- bool: 1,
- },
- {
- value: "否",
- bool: 0,
- },
- ],
- };
- this.base = {
- adminCompanyId: "5454",
- adminWebsitId: "345",
- billId: "34324",
- examineNote: "234",
- examineResult: true,
- examineStatus: "2342",
- id: null,
- operatorId: "234",
- operatorName: "3223",
- remark: "2332",
- saleTypeId: "2332",
- };
- getProductRriceDetail({ id: res.data }).then((res) => {
- this.base = {
- ...res.data,
- };
- this.detail = res.data.items;
- });
- });
- },
- },
- };
- </script>
- <style lang="scss" scoped>
- ::v-deep .el-date-editor--date {
- width: 100%;
- }
- .dia .el-select--normal {
- width: 100%;
- }
- </style>
|