| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854 |
- <template>
- <div class="ele-body">
- <el-card shadow="never" v-loading="loading">
- <search ref="search" @search="reload"></search>
- <ele-pro-table ref="tableRef" :columns="columns" :datasource="datasource" :pageSize="20"
- :pageSizes="[20, 30, 40, 50, 100]" row-key="id" @selection-change="handleSelectionChange" :initLoad="false" @select="handleSelect"
- @done="onDone">
- <!-- <template v-slot:toolbar>
- <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleEstimatedDelivery">交期预估</el-button>
- <el-button style="background-color: #dd2c00;color: white;border-color: #dd2c00" icon="el-icon-delete"
- size="mini" :disabled="multiple" @click="handleDelete">批量删除</el-button>
- <el-button style="background-color: #ec407a;color: white;border-color: #ec407a" icon="el-icon-download"
- size="mini" @click="importTemplate">下载模板</el-button>
- <el-button type="info" icon="el-icon-upload2" size="mini" @click="handleImport">导入</el-button>
- <el-button type="warning" icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
- <el-button style="background-color: #8bc34a;color: white;border-color: #8bc34a" icon="el-icon-download"
- size="mini" :disabled="ids.length == 0" @click="handleSaleorder">转销售订单</el-button>
- </template> -->
- <template v-slot:status="{ row }">
- {{ row.status == 0 ? '未预估' : row.status == 1 ? '已预估' : '已转销售单' }}
- </template>
- <!-- 操作列 -->
- <!-- <template v-slot:action="{ row }">
- <el-link type="primary" :underline="false" icon="el-icon-edit" @click="handleUpdate(row)">
- 修改
- </el-link>
- <el-popconfirm class="ele-action" title='是否确认删除此数据?' @confirm="handleDelete(row)">
- <template v-slot:reference>
- <el-link type="danger" :underline="false" icon="el-icon-delete">
- 删除
- </el-link>
- </template>
- </el-popconfirm>
- </template> -->
- </ele-pro-table>
- <!-- 添加或修改销售订单对话框 -->
- <ele-modal :title="titleExpect" :visible.sync="openExpect" :before-close="cancelExpect"
- :close-on-click-modal="false" :close-on-press-escape="false" append-to-body width="70%" :maxable="true">
- <el-table v-loading="loading" :data="salesOrderExpectList">
- <el-table-column label="序号" align="center" prop="id" />
- <el-table-column label="年份" align="center" prop="year" />
- <el-table-column label="月份" align="center" prop="month" />
- <el-table-column label="日期" align="center" prop="day" />
- <el-table-column label="预计交付日期" align="center" prop="deliverDay" />
- <el-table-column label="规划产能(吨)" align="center" prop="plannedCapacity" />
- <el-table-column label="已排产产能" align="center" prop="plannedSumCapacity" />
- <el-table-column label="未排产产能" align="center" prop="unplannedSumCapacity" />
- <el-table-column label="本次排产产能" align="center" prop="currentPlannedSumCapacity" />
- <el-table-column label="已排产单号列表" align="center" prop="plannedOrder" />
- <el-table-column label="已排产产能列表" align="center" prop="plannedOrderCapacity" />
- </el-table>
- <div slot="footer" class="dialog-footer">
- <el-button type="primary" :disabled="single" @click="submitFormExpect">确定交期</el-button>
- <el-button type="primary" :disabled="multiple" @click="submitFormAllExpect">确定所有交期</el-button>
- <el-button @click="cancelExpect">取 消</el-button>
- </div>
- </ele-modal>
- <!-- 添加或修改销售订单对话框 -->
- <ele-modal :title="title" :visible.sync="open" :before-close="cancel" :close-on-click-modal="false"
- :close-on-press-escape="false" append-to-body width="70%" :maxable="true">
- <el-form ref="form" :model="form" :rules="rules" label-width="80px">
- <el-row>
- <el-col :span="8">
- <el-form-item label="销售订单" prop="preSalesOrderNumber">
- <el-input v-model="form.preSalesOrderNumber" placeholder="请输入销售订单" />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="客户代号" prop="customerCode">
- <el-input v-model="form.customerCode" placeholder="请输入客户代号" />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="客户名称" prop="customerName">
- <el-input v-model="form.customerName" placeholder="请输入客户名称" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="8">
- <el-form-item label="产品描述" prop="productDescription">
- <el-input v-model="form.productDescription" type="textarea" placeholder="请输入内容" />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="产品编码" prop="productCode">
- <el-input v-model="form.productCode" placeholder="请输入产品编码" />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="订单数量" prop="orderQuantity">
- <el-input v-model="form.orderQuantity" placeholder="请输入订单数量" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="8">
- <el-form-item label="单位" prop="unit">
- <el-input v-model="form.unit" placeholder="请输入单位" />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="重量" prop="weightKg">
- <el-input v-model="form.weightKg" placeholder="请输入重量" />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="客户交期" prop="customerDeliveryDate">
- <el-date-picker clearable v-model="form.customerDeliveryDate" type="date" value-format="yyyy-MM-dd"
- placeholder="请选择客户交期">
- </el-date-picker>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="8">
- <el-form-item label="生产交期" prop="productionDeliveryDate">
- <el-date-picker clearable v-model="form.productionDeliveryDate" type="date" value-format="yyyy-MM-dd"
- placeholder="请选择生产交期">
- </el-date-picker>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="材料编码" prop="materialCode">
- <el-input v-model="form.materialCode" placeholder="请输入材料编码" />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="材料描述" prop="materialDescription">
- <el-input v-model="form.materialDescription" type="textarea" placeholder="请输入内容" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="8">
- <el-form-item label="物料数量" prop="materialQuantity">
- <el-input v-model="form.materialQuantity" placeholder="请输入物料数量" />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="物料单位" prop="materialUnit">
- <el-input v-model="form.materialUnit" placeholder="请输入物料单位" />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="物料重量" prop="materialWeightKg">
- <el-input v-model="form.materialWeightKg" placeholder="请输入物料重量" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="8">
- <el-form-item label="编号" prop="productionCodes">
- <el-input v-model="form.productionCodes" placeholder="请输入编号,用','隔开" />
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="submitForm">确 定</el-button>
- <el-button @click="cancel">取 消</el-button>
- </div>
- </ele-modal>
- <!-- 直报系统导入对话框 -->
- <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
- <el-upload class="avatar-uploader" action="#" :show-file-list="false" :http-request="uploadFile"
- :before-upload="beforeUpload" :on-change="handleChange" ref="uploadFile">
- <el-button type="warning" size="mini">批量导入</el-button>
- </el-upload>
- </el-dialog>
- <ele-modal title="选择工厂" :visible.sync="factoriesVisible" :before-close="handleCancel"
- :close-on-click-modal="false" :close-on-press-escape="false" append-to-body width="20%" :maxable="true">
- <el-row>
- <el-select v-model="factoriesId">
- <el-option v-for="item of factoryList" :key="item.id" :label="item.name" :value="item.id"></el-option>
- </el-select>
- </el-row>
- <div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="handleSubmit">确 定</el-button>
- <el-button @click="handleCancel">取 消</el-button>
- </div>
- </ele-modal>
- </el-card>
- </div>
- </template>
- <script>
- import { estimateDeliveryDates, createAll, convertToSalesOrder, importTemplate, exportFile, importFile, listSalesorder, getSalesOrder, delSalesorder, addSalesorder, updateSalesorder, listSalesOrderExpect, occupyRes, listSalesOrderOccupyRes, listSalesorderExpectAll, occupyAllRes, getQueryFactory } from "@/api/aps/presalesorder";
- import { API_BASE_URL, TOKEN_HEADER_NAME, LAYOUT_PATH } from '@/config/setting';
- import { getToken, setToken } from '@/utils/token-util';
- import { download } from '@/utils/request';
- import modalTitle from '@/components/modalTitle.vue';
- import search from './search.vue';
- export default {
- name: "PreSalesorder",
- components: { modalTitle, search },
- data() {
- return {
- fullscreen: false,
- fileList: [],
- isSubmitting: true,
- // 用户导入参数
- upload: {
- // 是否显示弹出层(用户导入)
- open: false,
- // 弹出层标题(用户导入)
- title: "",
- // 是否禁用上传
- isUploading: false,
- // 是否更新已经存在的用户数据
- updateSupport: 0,
- // 设置上传的请求头部
- // headers: {
- // Authorization: "Bearer " +getToken()
- // },
- // 上传的地址
- url: API_BASE_URL + "/aps/presalesorder/importData"
- },
- // 遮罩层
- loading: false,
- // 选中数组
- ids: [],
- selectionData: [],
- // 非单个禁用
- single: true,
- // 非多个禁用
- multiple: true,
- // 总条数
- total: 0,
- // 销售订单表格数据
- salesorderList: [],
- // 销售订单交期预估表格数据
- salesOrderExpectList: [],
- // 弹出层标题
- title: "",
- // 是否显示弹出层
- open: false,
- // 弹出层标题
- titleExpect: "交期确定",
- // 是否显示弹出层
- openExpect: false,
- columns: [
- // {
- // width: 45,
- // type: 'selection',
- // columnKey: 'selection',
- // align: 'center',
- // reserveSelection: true
- // },
- {
- columnKey: 'index',
- label: '序号',
- type: 'index',
- width: 55,
- align: 'center',
- showOverflowTooltip: true,
- fixed: 'left'
- },
- {
- prop: 'preSalesOrderNumber',
- label: '销售订单号',
- showOverflowTooltip: true,
- align: 'center',
- width: 140,
- },
- {
- prop: 'customerCode',
- label: '客户代号',
- showOverflowTooltip: true,
- align: 'center',
- },
- {
- prop: 'customerName',
- label: '客户名称',
- showOverflowTooltip: true,
- align: 'center',
- width: 140,
- },
- {
- prop: 'hostDescription',
- label: '主机描述',
- showOverflowTooltip: true,
- align: 'center',
- width: 140,
- },
- {
- prop: 'hostCode',
- label: '主机编码',
- showOverflowTooltip: true,
- align: 'center',
- width: 140,
- },
- {
- prop: 'customerDeliveryDate',
- label: '客户交期',
- showOverflowTooltip: true,
- align: 'center',
- width: 140,
- },
- {
- prop: 'productionDeliveryDate',
- label: '生产交期',
- showOverflowTooltip: true,
- align: 'center',
- width: 140,
- },
- {
- prop: 'materialCode',
- label: '材料编码',
- showOverflowTooltip: true,
- align: 'center',
- width: 140,
- },
- {
- prop: 'materialDescription',
- label: '材料描述',
- showOverflowTooltip: true,
- align: 'center',
- width: 140,
- },
- {
- prop:'productionCodes',
- label: '编号',
- showOverflowTooltip: true,
- align: 'center',
- width: 140,
- },
- {
- prop: 'factoriesName',
- label: '工厂名称',
- showOverflowTooltip: true,
- align: 'center',
- width: 120,
- },
- {
- prop: 'materialQuantity',
- label: '数量',
- showOverflowTooltip: true,
- align: 'center',
- },
- {
- prop: 'materialWeightKg',
- label: '重量(kg)',
- showOverflowTooltip: true,
- align: 'center',
- },
- {
- prop: 'materialUnit',
- label: '单位',
- showOverflowTooltip: true,
- align: 'center',
- },
-
- // {
- // prop: 'status',
- // slot: 'status',
- // width: 120,
- // label: '订单状态',
- // showOverflowTooltip: true,
- // align: 'center',
- // },
- // {
- // columnKey: 'action',
- // label: '操作',
- // width: 150,
- // align: 'center',
- // resizable: false,
- // slot: 'action',
- // fixed: 'right'
- // }
- ],
- // 表单参数
- form: {},
- // 表单校验
- rules: {
- preSalesOrderNumber: [
- { required: true, message: "销售订单不能为空", trigger: "blur" }
- ],
- },
- selDataIds: [],
- whereForm: {},
- factoriesId: '',
- factoriesVisible: false,
- factoryList: []
- };
- },
- async created() {
- await this.reload();
- await this.getFactoryList();
- },
- methods: {
- handleSelect(selection, row) {
- const matchField = 'preSalesOrderNumber';
- const isSelected = selection.some(item => item.id === row.id);
- const list = this.$refs.tableRef.getData()
- const matchedRows = list.filter(
- item => item[matchField] === row[matchField]
- )
- // 批量设置选择状态
- this.$nextTick(() => {
- matchedRows.forEach(item => {
- this.$refs.tableRef.toggleRowSelection(item, isSelected)
- })
- })
- },
- async getFactoryList() {
- const res = await getQueryFactory();
- console.log(res, 'data工厂')
- this.factoryList = res.data;
- },
- datasource({ page, where, limit }) {
- where.queryType = 2; //查询类型(1:预销售单页面查询;2:已转销售单页面查询)
- let pageNum = page;
- let size = limit;
- const res = listSalesorder({ ...where, pageNum, size });
- return res;
- },
- reload(where) {
- console.log(where, 'where22222')
- this.whereForm = where;
- this.$nextTick(() => {
- if (this.$refs.tableRef && this.$refs.tableRef.reload)
- this.$refs.tableRef.reload({ page: 1, where: where });
- })
- },
- onDone() {
- this.$nextTick(() => {
- this.$refs.tableRef.setSelectedRowKeys(this.selDataIds);
- });
- },
- /** 修改按钮操作 */
- handleUpdate(row) {
- this.resetForm();
- const id = row.id || this.ids
- getSalesOrder(id).then(response => {
- this.form = response.data;
- this.open = true;
- this.title = "修改销售订单";
- });
- },
- /** 删除 */
- handleDelete(row) {
- let ids = []
- if (row.id) {
- ids = [row.id]
- } else {
- ids = this.ids
- }
- this.$confirm(`是否确认删除该数据?`, '提示')
- .then(() => {
- delSalesorder({ ids: ids })
- .then(() => {
- this.reload();
- this.$message.success("删除成功");
- })
- .catch((e) => {
- console.log(e);
- });
- })
- .catch(() => { });
- },
- // 多选框选中数据
- handleSelectionChange(selection) {
- this.ids = selection.map(item => item.id)
- this.selectionData = selection
- console.log(this.ids, 'selection')
- this.single = selection.length !== 1;
- this.multiple = !selection.length;
- // if (selection.length == 1) {
- // const selSalesOrderNumber = selection[0].preSalesOrderNumber;
- // const list = this.$refs.tableRef.getData();
- // const data = []
- // for (let i = 0; i < list.length; i++) {
- // if (list[i].preSalesOrderNumber == selSalesOrderNumber) {
- // data.push(list[i].id);
- // }
- // }
- // this.selDataIds = data;
- // }
- // console.log(this.selDataIds, '勾选')
- // if (this.selDataIds.length > 0) {
- // this.$refs.tableRef.setSelectedRowKeys(this.selDataIds);
- // }
- },
- async handleEstimatedDelivery() {
- if (this.ids.length === 0) {
- this.$message.warning("请选择");
- return;
- }
- this.factoriesId = '';
- this.factoriesVisible = true;
- },
- async handleSubmit() {
- const res = await estimateDeliveryDates({ ids: this.ids, factoriesId: this.factoriesId })
- if (res.code == 0) {
- this.$message.success("操作成功");
- this.factoriesVisible = false;
- this.reload();
- }
- },
- handleCancel() {
- this.factoriesVisible = false;
- },
- /*交期预估*/
- async handleExpect(row) {
- if (this.ids.length === 0) {
- this.$message.warning("请选择");
- return;
- }
- const id = row.id || this.ids;
- const response = await getSalesOrder(id);
- const saleOrder = response.data;
- this.form = response.data;
- //如果是已经占用资源,则显示已经占用的资源,不能重复
- if (saleOrder.status === "1" || saleOrder.status === "2") {
- const occupyRes = await listSalesOrderOccupyRes(saleOrder);
- this.salesOrderExpectList = occupyRes;
- this.single = true;
- this.multiple = true;
- } else if (saleOrder.status === "0") {
- const expectRes = await listSalesOrderExpect(saleOrder);
- this.salesOrderExpectList = expectRes;
- this.single = false;
- this.multiple = true;
- }
- console.log(this.salesOrderExpectList.length, 'this.salesOrderExpectList.length')
- if (this.salesOrderExpectList.length > 0) {
- this.submitFormAllExpect();
- }
- },
- submitFormAllExpect() {
- var arr = [];
- this.salesOrderExpectList.forEach(item => {
- var node = {};
- node.id = item.id;
- node.createTime = item.createTime;
- node.createUserId = item.createUserId;
- node.year = item.year;
- node.month = item.month;
- node.day = item.day;
- node.plannedCapacity = item.plannedCapacity;
- node.unplannedSumCapacity = item.unplannedSumCapacity;
- node.deliverDay = item.deliverDay;
- node.currentPlannedSumCapacity = item.currentPlannedSumCapacity;
- node.plannedSumCapacity = item.plannedSumCapacity;
- node.plannedOrder = item.plannedOrder;
- node.plannedOrderCapacity = item.plannedOrderCapacity;
- node.plannedOrderDate = item.plannedOrderDate;
- arr.push(node);
- });
- console.log(arr, 'arr')
- occupyAllRes(arr).then(response => {
- //console.log(response)
- // this.openExpect = false;
- this.reload();
- this.$message.success("占用成功");
- });
- },
- //全部预估
- // handleAllExpect() {
- // listSalesorderExpectAll().then(response => {
- // this.salesOrderExpectList = response;
- // this.openExpect = true;
- // this.single = true;
- // this.multiple = false;
- // });
- // },
- /** 导入按钮操作 */
- handleImport() {
- this.upload.title = "销售订单数据导入";
- this.upload.open = true;
- },
- //文件上传
- uploadFile(param) {
- let fd = new FormData();
- this.fileList.forEach((item) => {
- fd.append('importExcel', item.raw);
- });
- importFile(fd)
- .then((res) => {
- this.$refs.uploadFile.clearFiles();
- this.upload.open = false;
- this.reload();
- })
- .catch((data) => {
- if (data.code != -1) {
- this.$message.error(data.message);
- }
- })
- .finally(() => {
- this.$refs.uploadFile.clearFiles();
- });
- },
- //上传限制
- beforeUpload(file) {
- const isLt10M = file.size / 1024 / 1024 < 10;
- if (!isLt10M) {
- this.$message.error('上传文件大小不能超过 10MB!');
- }
- return isLt10M;
- },
- handleChange(file, fileList) {
- this.fileList = fileList;
- console.log(fileList);
- },
- /** 导出按钮操作 */
- handleExport() {
- console.log(this.whereForm, 'this.whereForm')
- this.loading = true;
- let params = this.whereForm ? this.whereForm : []
- exportFile(params).then(res => {
- this.loading = false;
- });
- },
- /** 下载模板操作 */
- importTemplate() {
- importTemplate(this.whereForm).then(res => {
- this.$message.success("模板下载成功");
- });
- },
- /** 转销售单按钮操作 */
- handleSaleorder(row) {
- if (this.ids.length == 0) {
- this.$message.warning("请选择");
- return;
- }
- const filteredData = this.selectionData.filter((item) => item.status == 1);
- console.log(filteredData, 'filteredData');
- if (filteredData.length > 0) {
- const ids = filteredData.map(item => item.id)
- convertToSalesOrder({ ids: ids }).then(response => {
- this.$message.success("转换成功");
- this.reload();
- });
- } else {
- this.$message.warning("请选择状态为未提交的数据!");
- return;
- }
- // const id = row.id || this.ids
- // getSalesOrder(id).then(response => {
- // let saleorder = response.data;
- // this.form = response.data;
- // console.log(saleorder);
- // //如果是已经占用资源,则显示已经占用的资源,不能重复
- // if (saleorder.status == "1") {
- // convertToSalesOrder(this.ids).then(response => {
- // this.$message.success("转换成功");
- // });
- // return;
- // }
- // else if (saleorder.status == "0") {
- // //如果没有
- // this.$message.success("没有交期预估");
- // } else if (saleorder.status == "2") {
- // //如果没有
- // this.$message.success("已经转换过了");
- // }
- // });
- },
- // 表单重置
- resetForm() {
- this.form = {
- id: null,
- preSalesOrderNumber: null,
- customerCode: null,
- customerName: null,
- productDescription: null,
- productCode: null,
- orderQuantity: null,
- unit: null,
- weightKg: null,
- customerDeliveryDate: null,
- productionDeliveryDate: null,
- materialCode: null,
- materialDescription: null,
- materialQuantity: null,
- materialUnit: null,
- materialWeightKg: null,
- status: null,
- };
- },
- // 取消按钮
- cancel() {
- this.open = false;
- this.resetForm();
- },
- // 取消按钮
- cancelExpect() {
- this.openExpect = false;
- },
- /** 提交按钮 */
- submitForm() {
- this.$refs["form"].validate(valid => {
- if (valid) {
- if (this.form.id != null) {
- if (this.form.productionCodes) {
- this.form.productionCodes = this.form.productionCodes.replace(/,/g, ",")
- }
- updateSalesorder(this.form).then(response => {
- this.$message.success("修改成功");
- this.open = false;
- this.reload();
- });
- } else {
- addSalesorder(this.form).then(response => {
- this.$message.success("新增成功");
- this.open = false;
- this.reload();
- });
- }
- }
- });
- },
- /** 提交交期确定按钮 */
- submitFormExpect() {
- const id = this.ids
- getSalesOrder(id).then(response => {
- // console.log(response);
- let saleorder = response.data;
- if (saleorder.status == "1" || saleorder.status == "2") {
- this.$message.success("已经分配过资源");
- return;
- }
- var i = 0;
- this.salesOrderExpectList.forEach(item => {
- i++;
- item.plannedOrder = saleorder.preSalesOrderNumber + "-" + saleorder.materialCode + "";
- item.plannedOrderCapacity = item.currenPlannedSumCapacity;
- item.plannedSumCapacity = item.currenPlannedSumCapacity;
- });
- var lastNode = this.salesOrderExpectList[this.salesOrderExpectList.length - 1];
- console.log(lastNode, 'lastNode');
- var productDay = lastNode.deliverDay;
- saleorder.productionDeliveryDate = productDay;
- console.log(saleorder.productionDeliveryDate);
- var arr = [];
- this.salesOrderExpectList.forEach(item => {
- var node = {};
- node.id = item.id;
- node.createTime = item.createTime;
- node.createUserId = item.createUserId;
- node.year = item.year;
- node.month = item.month;
- node.day = item.day;
- node.plannedCapacity = item.plannedCapacity;
- node.unplannedSumCapacity = item.unplannedSumCapacity;
- node.deliverDay = item.deliverDay;
- node.currenPlannedSumCapacity = item.currenPlannedSumCapacity;
- node.plannedSumCapacity = item.plannedSumCapacity;
- node.plannedOrder = item.plannedOrder;
- node.plannedOrderCapacity = item.plannedOrderCapacity;
- node.plannedOrderDate = item.plannedOrderDate;
- arr.push(node);
- });
- occupyRes(arr).then(response => {
- this.$message.success("占用成功");
- saleorder.status = "1";
- console.log(saleorder);
- updateSalesorder(saleorder).then(response => {
- this.$message.success("修改成功");
- this.openExpect = false;
- this.reload();
- });
- });
- });
- },
- /** 转销售单按钮操作 */
- handleAllSaleorder() {
- this.loading = true;
- let saleorder = {};
- //如果是已经占用资源,则显示已经占用的资源,不能重复
- createAll(saleorder).then(response => {
- this.$message.success("转换成功");
- this.loading = false;
- });
- },
- // // 提交上传文件
- // submitFileForm() {
- // this.$refs.upload.submit();
- // },
- // // 文件上传中处理
- // handleFileUploadProgress(event, file, fileList) {
- // this.upload.isUploading = true;
- // },
- // // 文件上传成功处理
- // handleFileSuccess(response, file, fileList) {
- // this.upload.open = false;
- // this.upload.isUploading = false;
- // this.$refs.upload.clearFiles();
- // this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
- // response.msg + "</div>", "导入结果", {
- // dangerouslyUseHTMLString: true
- // });
- // this.reload();
- // },
- }
- };
- </script>
|