| | |
| | | <div class="basic-info-view"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="产品" prop="productName"> |
| | | <el-select |
| | | v-model="editConfig.infomation.productName" |
| | | placeholder="请选择" |
| | | size="mini" |
| | | style="width: 90%" |
| | | :disabled="!showFooter" |
| | | @change="selProductChange" |
| | | <el-form-item label="报废单号" prop="number"> |
| | | <el-input |
| | | style="width: 85%" |
| | | v-if=" |
| | | editConfig.title == '编辑' || |
| | | editConfig.title == '查看' || |
| | | (editConfig.title == '新建' && codenumer && (explain != '' || isIdDisabled)) |
| | | " |
| | | :disabled="editConfig.title != '新建'" |
| | | v-model="editConfig.infomation.number" |
| | | placeholder="请输入编码" |
| | | > |
| | | <el-option |
| | | v-for="item in productOptions" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="{ value: item.id, label: item.name, unit: item.unit }" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-input> |
| | | <span v-else-if="editConfig.title == '新建'" style="color: #f56c6c; width: 85%" |
| | | >请优先配置编码规范 <el-button type="text" @click="numberClick"> 配置规范 </el-button></span |
| | | > |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="产品" prop="productName"> |
| | | <SimpleSearchInput |
| | | :echoValue="editConfig.infomation.productName" |
| | | :echoName="editConfig.infomation.productName" |
| | | checkedNum="1" |
| | | :clearable="true" |
| | | @select-user="selProductChange" |
| | | :disabled="!showFooter" |
| | | style="width: 90%" |
| | | > |
| | | </SimpleSearchInput> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | |
| | | :min="0" |
| | | :precision="2" |
| | | :controls="false" |
| | | style="width: 85%" |
| | | style="width: 90%" |
| | | :disabled="!showFooter" |
| | | ></el-input-number> |
| | | <span>{{ " " + unit }}</span> |
| | |
| | | style="width: 90%" |
| | | :disabled="!showFooter" |
| | | > |
| | | <el-option v-for="item in toLocationOptions" :key="item.id" :label="item.name" :value="item.id"> |
| | | <el-option v-for="item in toLocationOptions1" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | <script> |
| | | import { getProductList } from "@/api/product/product" |
| | | import { getLocationList } from "@/api/overview/overview" |
| | | import { addDisuse, finishDisuse } from "@/api/operate/scrap" |
| | | import { addDisuse, finishDisuse, updateScrap } from "@/api/operate/scrap" |
| | | import SimpleSearchInput from "@/components/makepager/SimpleSearchInput" |
| | | import codeMixin from "@/views/overview/mixin/codeMixin" |
| | | export default { |
| | | name: "AddScrapDialog", |
| | | mixins: [codeMixin], |
| | | props: { |
| | | editCommonConfig: { |
| | | type: Object, |
| | |
| | | } |
| | | } |
| | | }, |
| | | components: {}, |
| | | components: { SimpleSearchInput }, |
| | | computed: {}, |
| | | data() { |
| | | return { |
| | |
| | | editConfig: this.editCommonConfig, |
| | | rules: { |
| | | // 产品,数量必填 |
| | | productName: [{ required: true, message: "请选择产品", trigger: "change" }], |
| | | productName: [{ required: true, validator: this.validatorProduct, trigger: "change" }], |
| | | amount: [{ required: true, message: "请输入数量", trigger: "blur" }], |
| | | fromLocationId: [{ required: true, message: "请选择源位置", trigger: "change" }], |
| | | toLocationId: [{ required: true, message: "请选择报废位置", trigger: "change" }], |
| | | sourceNumber: [{ required: true, message: "请输入来源单据", trigger: "blur" }] |
| | | sourceNumber: [{ required: true, message: "请输入来源单据", trigger: "blur" }], |
| | | number: [{ required: true, validator: this.validateCheckCode, trigger: ["change", "blur"] }] |
| | | }, |
| | | memberOptions: [], |
| | | productOptions: [], |
| | | toLocationOptions: [], |
| | | toLocationOptions1: [], |
| | | list: [ |
| | | { label: "草稿", status: "todo", value: 1 }, |
| | | { label: "就绪", status: "todo", value: 3 }, |
| | |
| | | created() { |
| | | this.setBottonView() |
| | | this.getProductList() |
| | | this.getLocationList() |
| | | this.getLocationList({ |
| | | isScrapLocation: true, |
| | | page: 0, |
| | | pageSize: 0 |
| | | }) |
| | | this.getLocationList({ |
| | | // isScrapLocation: true, |
| | | page: 0, |
| | | pageSize: 0 |
| | | }) |
| | | this.unit = this.editConfig.infomation.unit || "" |
| | | this.formInfo() |
| | | }, |
| | | methods: { |
| | | formInfo() { |
| | | this.objCode.type = "仓库报废编码" |
| | | this.objCode.codeStandID = "" |
| | | if (this.editConfig.infomation.codeStandardID) { |
| | | this.objCode.codeStandID = this.editConfig.infomation.codeStandardID |
| | | } |
| | | this.getRCodeStandardList() |
| | | }, |
| | | // 产品 |
| | | async getProductList() { |
| | | await getProductList({ |
| | |
| | | }) |
| | | }, |
| | | // 获取仓库位置列表 |
| | | async getLocationList() { |
| | | await getLocationList({ |
| | | keyWord: "", |
| | | page: 0, |
| | | pageSize: 0 |
| | | }).then((res) => { |
| | | console.log(res) |
| | | if (res.code === 200) { |
| | | this.toLocationOptions = res.data |
| | | } |
| | | }) |
| | | async getLocationList(params) { |
| | | if(params.isScrapLocation){ |
| | | await getLocationList(params).then((res) => { |
| | | console.log(res) |
| | | if (res.code === 200) { |
| | | this.toLocationOptions1 = res.data |
| | | } |
| | | }) |
| | | }else{ |
| | | await getLocationList(params).then((res) => { |
| | | console.log(res) |
| | | if (res.code === 200) { |
| | | this.toLocationOptions = res.data |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | // 设置删除/打印/编辑是否显示 |
| | | setBottonView() { |
| | | if (this.editConfig.title === "新建") { |
| | | if (this.editConfig.title === "新建" || this.editConfig.title === "编辑") { |
| | | this.showButton = false |
| | | this.showEdit = false |
| | | this.showFooter = true |
| | |
| | | this.isValidateClick = false |
| | | } else { |
| | | this.showButton = true |
| | | this.showEdit = true |
| | | this.showEdit = false |
| | | this.showFooter = false |
| | | this.isValidateClick = true |
| | | } |
| | |
| | | }, |
| | | // 保存 |
| | | saveClick(formName) { |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | this.editConfig.infomation.productId = this.productId |
| | | this.editConfig.infomation.productName = this.productName |
| | | this.editConfig.infomation.unit = this.unit |
| | | addDisuse({ |
| | | ...this.editConfig.infomation |
| | | }).then((res) => { |
| | | console.log(res) |
| | | this.editConfig.visible = false |
| | | if (res.code === 200) { |
| | | this.$message.success("添加成功") |
| | | this.$parent.getData() |
| | | if (this.editCommonConfig.title === "新建") { |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | this.editConfig.infomation.productId = this.productId |
| | | this.editConfig.infomation.productName = this.productName |
| | | this.editConfig.infomation.unit = this.unit |
| | | addDisuse({ |
| | | ...this.editConfig.infomation |
| | | }).then((res) => { |
| | | console.log(res) |
| | | this.editConfig.visible = false |
| | | if (res.code === 200) { |
| | | this.$message.success("添加成功") |
| | | this.$parent.getData() |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | } else if (this.editCommonConfig.title === "编辑") { |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | let params = { |
| | | amount: this.editConfig.infomation.amount, |
| | | baseOperationType: this.editConfig.infomation.baseOperationType, |
| | | fromLocationId: this.editConfig.infomation.fromLocationId, |
| | | id: this.editConfig.infomation.id, |
| | | number: this.editConfig.infomation.number, |
| | | operationDate: this.editConfig.infomation.operationDate, |
| | | productId: this.editConfig.infomation.productId, |
| | | sourceNumber: this.editConfig.infomation.sourceNumber, |
| | | status: this.editConfig.infomation.status, |
| | | toLocationId: this.editConfig.infomation.toLocationId |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | updateScrap(params).then((res) => { |
| | | console.log(res) |
| | | this.editConfig.visible = false |
| | | if (res.code === 200) { |
| | | this.$message.success("修改成功") |
| | | this.$parent.getData() |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | // 选择产品 |
| | | selProductChange(val) { |
| | | this.unit = val.unit |
| | | this.productName = val.label |
| | | this.productId = val.value |
| | | this.productName = val.name |
| | | this.productId = val.id |
| | | this.editConfig.infomation.productName = val.name |
| | | }, |
| | | // 验证 |
| | | async validateClick() { |
| | | console.log(this.editConfig.infomation.id, "xxx") |
| | | await finishDisuse(this.editConfig.infomation.id).then((res) => { |
| | | console.log(res) |
| | | this.editConfig.visible = false |
| | |
| | | this.$parent.getData() |
| | | } |
| | | }) |
| | | }, |
| | | // 产品单独校验 |
| | | validatorProduct(rule, value, callback) { |
| | | if (this.editConfig.infomation.productName && this.editConfig.infomation.productName.length > 0) { |
| | | callback() |
| | | } else { |
| | | callback(new Error("请选择产品")) |
| | | } |
| | | } |
| | | } |
| | | } |