| | |
| | | <template> |
| | | <div class="add-common"> |
| | | <el-dialog |
| | | :title="editCommonConfig.title + '采购入库'" |
| | | :visible.sync="editConfig.visible" |
| | | :width="dialogWidth" |
| | | :before-close="handleClose" |
| | | > |
| | | <el-dialog :title="editCommonConfig.title + '采购入库'" :visible.sync="editConfig.visible" :width="dialogWidth" |
| | | :before-close="handleClose"> |
| | | <!-- 头 --> |
| | | <div slot="title" class="dialog-header"> |
| | | <span>{{ editCommonConfig.title === "查看" ? editCommonConfig.title : editCommonConfig.title + addName }}</span> |
| | |
| | | <i class="el-icon-s-tools"></i> |
| | | <span>动作</span> |
| | | </span> |
| | | <el-button v-if="showEdit" :disabled="this.editConfig.infomation.status===5" plain size="mini" style="margin-left: 15px" @click="editClick">编辑</el-button> |
| | | <el-button v-if="showEdit" :disabled="this.editConfig.infomation.status === 5" plain size="mini" |
| | | style="margin-left: 15px" @click="editClick">编辑</el-button> |
| | | </div> |
| | | </div> |
| | | <!-- 内容 --> |
| | | <el-form |
| | | ref="form" |
| | | :model="editConfig.infomation" |
| | | :rules="rules" |
| | | label-position="right" |
| | | label-width="120px" |
| | | size="mini" |
| | | > |
| | | <el-form ref="form" :model="editConfig.infomation" :rules="rules" label-position="right" label-width="120px" |
| | | size="mini"> |
| | | <div> |
| | | <!-- <div>aaa</div> --> |
| | | <StatusCommonView |
| | | :showButton="showButton" |
| | | :isValidateClick="isValidateClick" |
| | | :isDelClick="isDelClick" |
| | | :isCancel="isCancel" |
| | | :list="list" |
| | | :showCancel="showCancel" |
| | | @delClick="delClick" |
| | | @validateClick="validateClick" |
| | | @btnCancel="btnCancel" |
| | | /> |
| | | <StatusCommonView :showButton="showButton" :isValidateClick="isValidateClick" :isDelClick="isDelClick" |
| | | :isCancel="isCancel" :list="list" :showCancel="showCancel" @delClick="delClick" @validateClick="validateClick" |
| | | @btnCancel="btnCancel" /> |
| | | </div> |
| | | <div class="basic-info"> |
| | | <div class="basic-info-view"> |
| | |
| | | <el-form-item prop="companyName"> |
| | | <span slot="label">{{ workType === 1 ? "供应商" : workType === 2 ? "客户" : "联系人" }}</span> |
| | | |
| | | <el-select |
| | | v-if="workType === 1" |
| | | v-model="editConfig.infomation.companyName" |
| | | placeholder="请选择" |
| | | size="mini" |
| | | style="width: 90%" |
| | | :disabled="!showFooter" |
| | | @change="companyChange" |
| | | > |
| | | <el-option |
| | | v-for="item in supplierOptions" |
| | | :key="item.SupplierId" |
| | | :label="item.SupplierName" |
| | | :value="{ value: item.SupplierId, label: item.SupplierName }" |
| | | > |
| | | <el-select v-if="workType === 1" v-model="editConfig.infomation.companyName" placeholder="请选择" |
| | | size="mini" style="width: 90%" :disabled="!showFooter" @change="companyChange"> |
| | | <el-option v-for="item in supplierOptions" :key="item.SupplierId" :label="item.SupplierName" |
| | | :value="{ value: item.SupplierId, label: item.SupplierName }"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-select |
| | | v-else-if="workType === 2" |
| | | v-model="editConfig.infomation.companyName" |
| | | placeholder="请选择" |
| | | size="mini" |
| | | style="width: 90%" |
| | | :disabled="!showFooter" |
| | | @change="companyChange" |
| | | > |
| | | <el-option |
| | | v-for="item in clientOptions" |
| | | :key="item.ClientId" |
| | | :label="item.ClientName" |
| | | :value="{ value: item.ClientId, label: item.ClientName }" |
| | | > |
| | | <el-select v-else-if="workType === 2" v-model="editConfig.infomation.companyName" placeholder="请选择" |
| | | size="mini" style="width: 90%" :disabled="!showFooter" @change="companyChange"> |
| | | <el-option v-for="item in clientOptions" :key="item.ClientId" :label="item.ClientName" |
| | | :value="{ value: item.ClientId, label: item.ClientName }"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-select |
| | | v-else |
| | | v-model="editConfig.infomation.companyName" |
| | | placeholder="请选择" |
| | | size="mini" |
| | | style="width: 90%" |
| | | :disabled="!showFooter" |
| | | @change="companyChange" |
| | | > |
| | | <el-option |
| | | v-for="item in companyOptions" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="{ value: item.id, label: item.name }" |
| | | > |
| | | <el-select v-else v-model="editConfig.infomation.companyName" placeholder="请选择" size="mini" |
| | | style="width: 90%" :disabled="!showFooter" @change="companyChange"> |
| | | <el-option v-for="item in companyOptions" :key="item.id" :label="item.name" |
| | | :value="{ value: item.id, label: item.name }"> |
| | | </el-option> |
| | | </el-select> |
| | | |
| | |
| | | </el-col> --> |
| | | <el-col :span="12"> |
| | | <el-form-item label="日期" prop="operationDate"> |
| | | <el-date-picker |
| | | v-model="editConfig.infomation.operationDate" |
| | | value-format="yyyy-MM-dd" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | style="width: 90%" |
| | | :disabled="!showFooter" |
| | | > |
| | | <el-date-picker v-model="editConfig.infomation.operationDate" value-format="yyyy-MM-dd" type="date" |
| | | placeholder="选择日期" style="width: 90%" :disabled="!showFooter"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col v-if="showOperationType" :span="12"> |
| | | <el-form-item label="入库类型" prop="operationTypeId"> |
| | | <el-select |
| | | v-model="editConfig.infomation.operationTypeId" |
| | | placeholder="请选择" |
| | | size="mini" |
| | | style="width: 90%" |
| | | :disabled="!showFooter" |
| | | > |
| | | <el-select v-model="editConfig.infomation.operationTypeId" placeholder="请选择" size="mini" |
| | | style="width: 90%" :disabled="!showFooter"> |
| | | <el-option v-for="item in operationTypeOptions" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="来源单据" prop="sourceNumber"> |
| | | <el-input |
| | | v-model="editConfig.infomation.sourceNumber" |
| | | placeholder="例如:PO0032" |
| | | style="width: 90%" |
| | | :disabled="!showFooter" |
| | | ></el-input> |
| | | <el-input v-model="editConfig.infomation.sourceNumber" placeholder="例如:PO0032" style="width: 90%" |
| | | :disabled="!showFooter"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item v-if="workType !== 1" label="源位置" prop="fromLocationId"> |
| | | <el-select |
| | | v-model="editConfig.infomation.fromLocationId" |
| | | placeholder="请选择" |
| | | size="mini" |
| | | style="width: 90%" |
| | | :disabled="!showFooter" |
| | | > |
| | | <el-option |
| | | v-for="item in toLocationOptions" |
| | | :key="item.id" |
| | | :label="item.jointName" |
| | | :value="item.id" |
| | | > |
| | | <el-select v-model="editConfig.infomation.fromLocationId" placeholder="请选择" size="mini" |
| | | style="width: 90%" :disabled="!showFooter"> |
| | | <el-option v-for="item in toLocationOptions" :key="item.id" :label="item.jointName" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item v-if="workType !== 2" label="仓库位置" prop="toLocationId"> |
| | | <el-select |
| | | v-model="editConfig.infomation.toLocationId" |
| | | placeholder="请选择" |
| | | size="mini" |
| | | style="width: 90%" |
| | | :disabled="!showFooter" |
| | | > |
| | | <el-option |
| | | v-for="item in toLocationOptions" |
| | | :key="item.id" |
| | | :label="item.jointName" |
| | | :value="item.id" |
| | | > |
| | | <el-select v-model="editConfig.infomation.toLocationId" placeholder="请选择" size="mini" style="width: 90%" |
| | | :disabled="!showFooter"> |
| | | <el-option v-for="item in toLocationOptions" :key="item.id" :label="item.jointName" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="负责人" prop="contacterName"> |
| | | <el-select |
| | | v-model="editConfig.infomation.contacterName" |
| | | placeholder="请选择" |
| | | size="mini" |
| | | style="width: 90%" |
| | | :disabled="!showFooter" |
| | | @change="contacterChange" |
| | | > |
| | | <el-option |
| | | v-for="item in memberOptions" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="{ value: item.id, label: item.name }" |
| | | > |
| | | <el-select v-model="editConfig.infomation.contacterName" placeholder="请选择" size="mini" |
| | | style="width: 90%" :disabled="!showFooter" @change="contacterChange"> |
| | | <el-option v-for="item in memberOptions" :key="item.id" :label="item.name" |
| | | :value="{ value: item.id, label: item.name }"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | </el-col> --> |
| | | <el-col :span="24"> |
| | | <el-form-item label="备注" prop="comment"> |
| | | <el-input |
| | | v-model.trim="editConfig.infomation.comment" |
| | | size="mini" |
| | | type="textarea" |
| | | style="width: 96%" |
| | | :autosize="{ minRows: 3 }" |
| | | :disabled="!showFooter" |
| | | ></el-input> |
| | | <el-input v-model.trim="editConfig.infomation.comment" size="mini" type="textarea" style="width: 96%" |
| | | :autosize="{ minRows: 3 }" :disabled="!showFooter"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </el-tabs> |
| | | <!-- 操作 --> |
| | | <div v-if="activeName === 'first'"> |
| | | <CommonFormTableView |
| | | :product-table-list="productTableList" |
| | | :detail-enter="!showFooter" |
| | | @inputContent="inputContent" |
| | | @addProductClick="addProductClick('操作')" |
| | | > |
| | | <CommonFormTableView :product-table-list="productTableList" :detail-enter="!showFooter" |
| | | @inputContent="inputContent" @addProductClick="addProductClick('操作')"> |
| | | <template v-if="showFooter" slot="tableButton"> |
| | | <el-table-column label="操作" width="60" fixed="right" align="center"> |
| | | <template slot-scope="scope"> |
| | |
| | | </div> |
| | | <!-- 物流信息 --> |
| | | <div v-if="activeName==='two'&&this.workType===2"> |
| | | <el-form |
| | | label-position="right" |
| | | :model="shipmentsInfo" |
| | | label-width="120px" |
| | | size="mini" |
| | | style="margin-top: 20px;" |
| | | > |
| | | <el-form label-position="right" :model="shipmentsInfo" label-width="120px" size="mini" |
| | | style="margin-top: 20px;"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="承运商" > |
| | | <el-select |
| | | size="mini" :disabled="!showFooter" v-model="editConfig.infomation.logisticCompanyId" placeholder="请选择" style="width: 90%;"> |
| | | <el-option |
| | | v-for="item in shipmentsInfo.carrier" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | <el-select size="mini" :disabled="!showFooter" v-model="editConfig.infomation.logisticCompanyId" |
| | | placeholder="请选择" style="width: 90%;"> |
| | | <el-option v-for="item in shipmentsInfo.carrier" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="运单号" > |
| | | <el-input style="width: 90%;" :disabled="!showFooter" v-model="editConfig.infomation.waybillNumber"></el-input> |
| | | <el-input style="width: 90%;" :disabled="!showFooter" |
| | | v-model="editConfig.infomation.waybillNumber"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="收货人"> |
| | | <el-input style="width: 90%;" :disabled="!showFooter" v-model="editConfig.infomation.receiverName"></el-input> |
| | | <el-input style="width: 90%;" :disabled="!showFooter" |
| | | v-model="editConfig.infomation.receiverName"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="联系电话"> |
| | | <el-input style="width: 90%;" :disabled="!showFooter" v-model="editConfig.infomation.receiverPhone"></el-input> |
| | | <el-input style="width: 90%;" :disabled="!showFooter" |
| | | v-model="editConfig.infomation.receiverPhone"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="收货地址"> |
| | | <el-input style="width: 90%;" :disabled="!showFooter" v-model="editConfig.infomation.receiverAddr"></el-input> |
| | | <el-input style="width: 90%;" :disabled="!showFooter" |
| | | v-model="editConfig.infomation.receiverAddr"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="重量"> |
| | | <el-input style="width: 90%;" :disabled="!showFooter" v-model="editConfig.infomation.weight"></el-input> |
| | | <el-input style="width: 90%;" :disabled="!showFooter" |
| | | v-model="editConfig.infomation.weight"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="物流重量"> |
| | | <el-input style="width: 90%;" :disabled="!showFooter" v-model="editConfig.infomation.logisticWeight"></el-input> |
| | | <el-input style="width: 90%;" :disabled="!showFooter" |
| | | v-model="editConfig.infomation.logisticWeight"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-form> |
| | |
| | | }, |
| | | showCancel:false, // 取消是否可以显示 |
| | | list:[], |
| | | pdfParams:{} |
| | | } |
| | | }, |
| | | created() { |
| | | localStorage.removeItem('pdfParams'); |
| | | this.getCompanyList() |
| | | this.setStatusList() |
| | | this.setTableForm() |
| | |
| | | }, |
| | | //打印 |
| | | async btnPrint(){ |
| | | await printReceipts(this.editCommonConfig.infomation.id).then((res) => { |
| | | console.log(res) |
| | | localStorage.removeItem('pdfParams'); |
| | | try { |
| | | let res = await printReceipts(this.editCommonConfig.infomation.id); |
| | | console.log(res); |
| | | if (res.code === 200) { |
| | | // this.$message.success("打印成功") |
| | | // const link = document.createElement('a'); |
| | | // link.href = res.data; |
| | | // link.download = '出库单.xlsx'; |
| | | // link.click(); |
| | | this.$router.push({ |
| | | name:"previewExcel", |
| | | params:{ |
| | | console.log(this.editConfig.infomation.baseOperationType,"类型") |
| | | let pdfParams = { |
| | | url:res.data, |
| | | baseOperationType:this.editConfig.infomation.baseOperationType||undefined, |
| | | cutAfterWidth:this.editConfig.infomation.baseOperationType===2 ? 50.8 : 53.3 |
| | | }; |
| | | localStorage.setItem('pdfParams', JSON.stringify(pdfParams)); |
| | | } |
| | | }) |
| | | } catch (error) { |
| | | console.error(error); |
| | | } finally { |
| | | var { href } = this.$router.resolve({ |
| | | name: 'previewExcel', |
| | | }); |
| | | window.open(href, '_blank'); |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | |
| | | align-items: center; |
| | | font-size: 14px; |
| | | color: #333; |
| | | |
| | | .header_btns { |
| | | margin-left: auto; |
| | | margin-right: 60px; |
| | | |
| | | .btn { |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .btn:nth-of-type(2){ |
| | | cursor: no-drop; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .content-status { |
| | | display: flex; |
| | | } |
| | | |
| | | .basic-info { |
| | | height: calc(100% - 80px); |
| | | overflow: auto; |
| | |
| | | // margin-top: 20px; |
| | | // } |
| | | } |
| | | |
| | | .purchase-view { |
| | | display: flex; |
| | | |
| | | .left { |
| | | width: 50%; |
| | | } |
| | | |
| | | .right { |
| | | width: 50%; |
| | | } |
| | | } |
| | | |
| | | .second-label { |
| | | margin-left: 20px; |
| | | border-bottom: 1px solid #d9d9d9; |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | ::v-deep { |
| | | .el-dialog__headerbtn { |
| | | position: absolute; |
| | | top: 15px; |
| | | } |
| | | |
| | | .el-button { |
| | | &:hover { |
| | | border: 1px solid #dcdfe6; |
| | | color: #333; |
| | | } |
| | | } |
| | | |
| | | .el-tabs--card > .el-tabs__header { |
| | | border-bottom: none; |
| | | } |
| | | |
| | | // .el-tabs__item.is-active { |
| | | // color: #333; |
| | | // background: #f1f3f8; |
| | |
| | | font-size: 13px; |
| | | background: #f3f3f3; |
| | | } |
| | | |
| | | .el-tabs__header { |
| | | margin: 0 0 1px; |
| | | } |
| | | |
| | | .bottom{ |
| | | .el-form{ |
| | | // border-top: 1px solid #EBEEF5; |
| | | } |
| | | |
| | | .el-form-item{ |
| | | height: 28px; |
| | | |
| | | .el-input { |
| | | input{ |
| | | height: 28px; |