From 033e85a3630fea9860b3fb6b42ed705906bcd3c0 Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期五, 25 八月 2023 19:28:59 +0800 Subject: [PATCH] 采购 --- src/components/makepager/BomDialog.vue | 0 /dev/null | 536 ----------------------------------------------------- src/views/purchaseManage/purchase/components/AddPurchase.vue | 2 src/views/purchaseManage/purchase/index.vue | 4 4 files changed, 2 insertions(+), 540 deletions(-) diff --git a/src/views/purchaseManage/purchase/components/BomDialog.vue b/src/components/makepager/BomDialog.vue similarity index 100% rename from src/views/purchaseManage/purchase/components/BomDialog.vue rename to src/components/makepager/BomDialog.vue diff --git a/src/views/purchaseManage/purchase/components/AddPurchase.vue b/src/views/purchaseManage/purchase/components/AddPurchase.vue index 816cb6d..c833e6e 100644 --- a/src/views/purchaseManage/purchase/components/AddPurchase.vue +++ b/src/views/purchaseManage/purchase/components/AddPurchase.vue @@ -249,7 +249,7 @@ <script> import CommonFormTableView from "@/components/makepager/CommonFormTableView"; -import BomDialog from "@/views/purchaseManage/purchase/components/BomDialog"; +import BomDialog from "@/components/makepager/BomDialog"; import { getAddQuotation, getUpdateQuotation, diff --git a/src/views/purchaseManage/purchase/components/AddPurchase2.vue b/src/views/purchaseManage/purchase/components/AddPurchase2.vue deleted file mode 100644 index 031cb3b..0000000 --- a/src/views/purchaseManage/purchase/components/AddPurchase2.vue +++ /dev/null @@ -1,536 +0,0 @@ -<template> - <el-dialog - :close-on-click-modal="false" - :visible.sync="islook" - width="60rem" - class="add-event-dialog" - @close="shutdown" - > - <div slot="title" class="tac drawerHeader"> - <span>{{ editRow.id ? "缂栬緫" : "鍒涘缓" }}閲囪喘鍗�</span> - </div> - <div class="dialog-content-box"> - <div class="margin_bottom_20px font_size_14 title">鍩虹淇℃伅</div> - <el-form - ref="form" - :rules="rules" - :model="form" - label-width="120px" - label-position="left" - > - <el-form-item - label="閲囪喘绫诲瀷" - prop="brand" - class="form-item float_left" - > - <el-select - placeholder="璇烽�夋嫨閲囪喘绫诲瀷" - v-model="form.brand" - clearable - style="width: calc(100% - 30px)" - > - <el-option - v-for="ele in plcBrandList" - :key="ele.id" - :label="ele.name" - :value="ele.name" - ></el-option> - </el-select> - <i - class="el-icon-setting margin_left_10px cursor_pointer" - style="font-size: 20px; color: #333" - @click="handleShow" - ></i> - </el-form-item> - <el-form-item label="渚涘簲鍟嗗悕绉�" prop="returnNumber" class="form-item"> - <el-input - v-model="form.returnNumber" - maxlength="50" - clearable - placeholder="璇疯緭鍏�" - ></el-input> - </el-form-item> - <el-form-item label="鍗曟嵁鏉ユ簮" prop="returnName" class="form-item"> - <el-input - v-model="form.returnName" - maxlength="50" - clearable - placeholder="璇疯緭鍏�" - ></el-input> - </el-form-item> - <el-form-item label="閲囪喘鍗曞悕绉�" prop="returnName" class="form-item"> - <el-input - v-model="form.returnName" - maxlength="50" - clearable - placeholder="璇疯緭鍏�" - ></el-input> - </el-form-item> - <el-form-item label="渚涘簲鍟嗚仈绯讳汉" prop="returnName" class="form-item"> - <el-input - v-model="form.returnName" - maxlength="50" - clearable - placeholder="璇疯緭鍏�" - ></el-input> - </el-form-item> - - <el-form-item label="鑱旂郴浜虹數璇�" prop="contact_phone" class="form-item"> - <el-input - v-model="form.contact_phone" - placeholder="璇疯緭鍏�" - maxlength="11" - show-word-limit - ></el-input> - </el-form-item> - <el-form-item label="绛剧害鏃ユ湡" prop="returnAt" class="form-item"> - <el-date-picker - v-model="form.returnAt" - style="width: 100%" - type="date" - placeholder="閫夋嫨鏃ユ湡" - value-format="yyyy-MM-dd" - > - </el-date-picker> - </el-form-item> - <el-form-item label="浜や粯鏃ユ湡" prop="returnAt" class="form-item"> - <el-date-picker - v-model="form.returnAt" - style="width: 100%" - type="date" - placeholder="閫夋嫨鏃ユ湡" - value-format="yyyy-MM-dd" - > - </el-date-picker> - </el-form-item> - <el-form-item label="澶囨敞淇℃伅" prop="remark" class="form-item-two"> - <el-input - type="textarea" - :autosize="{ minRows: 3, maxRows: 4 }" - maxlength="500" - clearable - v-model="form.remark" - ></el-input> - </el-form-item> - </el-form> - <div class="form-bottom-box"> - <div class="form-bottom-box-top"> - <div class="margin_bottom_2px font_size_14 title">浜у搧淇℃伅</div> - </div> - - <el-table - ref="multipleTable" - :header-cell-style="{ background: '#f1f3f8', color: '#000009' }" - :data="returnItems" - tooltip-effect="dark" - height="calc(100% - 80px)" - row-key="id" - border - style="width: 100%; padding: 0" - > - <el-table-column label="搴忓彿" type="index" width="80"> - </el-table-column> - <el-table-column label="宸ュ叿绫诲瀷" prop="toolType" width="120"> - <!-- <template slot-scope="scope"> - {{ scope.row.toolType }} - </template> --> - </el-table-column> - <el-table-column prop="toolNumber" label="宸ュ叿缂栫爜"> - </el-table-column> - <el-table-column prop="toolName" label="宸ュ叿鍚嶇О"> </el-table-column> - <el-table-column label="鎿嶄綔" width="100"> - <template slot-scope="scope"> - <el-button @click="deleteClick(scope)" type="text" size="small" - >绉婚櫎</el-button - > - </template> - </el-table-column> - </el-table> - <div class="font_size_14 margin_top_10px float_right"> - 褰掕繕鎬绘暟锛歿{ returnItems ? returnItems.length : 0 }} - </div> - </div> - </div> - <div slot="footer" class="dialog-footer tac"> - <el-button @click="shutdown">鍙栨秷</el-button> - - <el-button type="primary" @click="onSubmit(form)">纭畾</el-button> - </div> - <BomDialog - ref="editDialog" - @sucessSet="handleGetBomKindDictList" - @handleConfirmSave="handleConfirmSave" - :workList="plcBrandList" - title="PLC鍝佺墝" - ></BomDialog> - </el-dialog> -</template> - -<script> -import BomDialog from "@/views/purchaseManage/purchase/components/BomDialog"; -import { - postGetUnitDictList, - postGetSaveSUnitDict, -} from "@/api/purchaseManage/purchase"; -export default { - components: { - BomDialog, - }, - props: { - editRow: { - type: [Object], - default: () => { - return {}; - }, - }, - }, - data() { - return { - islook: false, - showWorkerList: [], - form: { - remark: "", - returnAt: "", - returnName: "", - returnNumber: "", - returnObj: "", - returnerId: "", - returnerName: "", - contact_phone: "", - }, - - rules: { - // 鎵嬫満鍙� - contact_phone: [ - { - required: true, - message: "璇峰~鍐�", - trigger: "change", - }, - { validator: this.validatorPhone, trigger: "change" }, - ], - // 棰嗙敤缂栧彿 - returnNumber: [ - { - required: true, - message: "璇峰~鍐�", - trigger: "change", - }, - ], - // 褰掕繕鍚嶇О - returnName: [ - { - required: true, - message: "璇峰~鍐�", - trigger: "change", - }, - ], - // 褰掕繕鏃堕棿 - returnAt: [ - { - required: true, - message: "璇烽�夋嫨", - trigger: "change", - }, - ], - // 褰掕繕浜� - returnObj: [ - { - required: true, - message: "璇烽�夋嫨", - trigger: "change", - }, - ], - }, - - returnItems: [], //瀛楀吀涓嬬殑琛ㄦ牸 - PreObj: { - pageSize: 0, - page: 0, - projectID: "", - }, - - // 鏌愪汉鐨勯鐢ㄦ槑缁� - toolsObj: { - takeName: "", - page: 1, - pageSize: 500, - takerId: "", - toolName: "", - toolType: "", - }, - plcBrandList: [], - }; - }, - mounted() {}, - watch: { - editRow(val) { - if (val.id && this.islook) { - this.initFormData(val); - } - }, - islook(val) { - if (val) { - this.returnItems = []; - this.form = { - remark: "", - returnAt: "", - returnName: "", - returnNumber: "", - returnerId: "", - returnerName: "", - returnObj: "", - contact_phone: "", - }; - - if (this.editRow && this.editRow.id) { - this.initFormData(this.editRow); - } - } - }, - }, - methods: { - validatorPhone(rule, value, callback) { - if (value) { - if (value == undefined || value == null) { - callback(new Error("璇疯緭鍏�")); - } else { - if (value.length != 11) { - callback(new Error("闀垮害鍦�11涓瓧绗︼紒")); - } else { - var reg = - /^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/; - if (!reg.test(value)) { - callback(new Error("璇峰~鍐欐纭殑鑱旂郴鐢佃瘽锛�")); - } else { - callback(); - } - } - } - } else { - callback(); - } - }, - // PLC閰嶇疆璁剧疆 - handleShow() { - this.handleGetBomKindDictList(); - this.$refs.editDialog.editDialogVisible = true; - }, - // PLC閰嶇疆 - handleGetBomKindDictList(val) { - postGetUnitDictList().then((res) => { - this.unitList = res.data; - if (val) { - for (let i in this.unitList) { - if (this.unitList[i].isDefault) { - this.form.unit = this.form.unit - ? this.form.unit - : this.unitList[i].name; - this.$set(this.form, "unit", this.form.unit); - break; - } - } - } - }); - }, - handleConfirmSave(data) { - postGetSaveSUnitDict({ data: data }).then((res) => { - if (res.code == 200) { - this.$message({ - message: "鎿嶄綔鎴愬姛锛�", - type: "success", - }); - this.$refs.editDialog.editDialogVisible = false; - this.handleGetBomKindDictList(); - } - }); - }, - returnChange(val) { - if (val) { - this.toolsObj.takerId = this.form.returnObj.split("&")[0]; - } else { - this.toolsObj.takerId = ""; - } - }, - - // 娣诲姞宸ュ叿 棰嗙敤鏄庣粏 - selectTools(frockType, selections) { - for (let i in selections) { - let isPush = true; - if (this.returnItems.length > 0) { - for (let j in this.returnItems) { - if (selections[i].id == this.returnItems[j].toolNumber) { - isPush = false; - } - } - } - - if (isPush) { - let toolName = ""; - if (frockType == "妯″叿") { - toolName = selections[i].moldName; - } else if (frockType == "妫�鍏�") { - toolName = selections[i].gaugeName; - } else { - toolName = selections[i].frockName; - } - let item = { - toolType: frockType, - toolNumber: selections[i].id, - toolName: toolName, - }; - this.returnItems.push(item); - } - } - }, - - initFormData(row) { - if (row.id) { - let form = JSON.parse(JSON.stringify(row)); - this.form = { - remark: form.remark, - returnAt: form.ReturnAt, - contact_phone: form.contact_phone, - returnName: form.ReturnName, - returnNumber: form.ReturnNumber, - returnerId: form.ReturnerId, - returnerName: form.ReturnerName, - returnObj: "", - id: row.id, - }; - - if (this.form.returnerId && this.form.returnerName) { - this.form.returnObj = - this.form.returnerId + "&" + this.form.returnerName; - } - this.returnItems = this.editRow.ReturnItems; - } - }, - - deleteClick(scope) { - this.returnItems.splice(scope.$index, 1); - this.$forceUpdate(); - this.$message({ - type: "success", - message: "绉婚櫎鎴愬姛锛�", - }); - }, - onSubmit() { - this.$refs.form.validate((valid) => { - if (valid) { - let params = JSON.parse(JSON.stringify(this.form)); - params.returnerId = params.returnObj.split("&")[0]; - params.returnerName = params.returnObj.split("&")[1]; - params.returnItems = this.returnItems; - if (this.editRow && this.editRow.id) { - params.id = this.editRow.id; - // editReturn(params).then((res) => { - // if (res.code == 200) { - // this.$message.success("缂栬緫鎴愬姛锛�"); - // this.$emit("shutdown", this.form); - // this.shutdown(); - // } - // }); - } else { - // addReturn(params).then((res) => { - // if (res.code == 200) { - // this.$message.success("娣诲姞鎴愬姛锛�"); - // this.$emit("shutdown", this.form); - // this.shutdown(); - // } - // }); - } - } - }); - }, - shutdown() { - this.islook = false; - this.$refs.form.resetFields(); - }, - }, -}; -</script> - -<style lang="scss" scoped> -::v-deep .el-tabs__content { - height: calc(100% - 55px); - overflow-y: auto; -} -.title { - height: 42px; - line-height:42px; - font-weight: 700px; - padding: 0 10px; - color: #333; - background: rgb(236, 244, 255); -} -.form-bottom-box { - height: calc(100% - 340px); - - .form-bottom-box-top { - height: 50px; - overflow: hidden; - } -} -.form-item { - width: calc(50% - 20px); - float: left; - &:nth-of-type(odd) { - margin-right: 20px; - } -} -.form-item-two { - width: 100%; - float: left; -} -.form-item-three { - width: calc(100% - 20px); - float: left; -} -.form-item-check { - width: calc(33% - 40px); - float: left; - &:nth-of-type(odd) { - margin-right: 20px; - } -} -.title { - width: 100%; -} -.dialog-content-box { - height: 580px; - padding-bottom: 50px; - overflow-y: auto; - - .el-form { - overflow: hidden; - padding: 0 10px; - } -} -.num-identify { - padding: 5px 8px; - background-color: rgba(255, 153, 0, 1); - border-radius: 6px; - font-size: 14px; - color: #fff; - font-weight: 600; -} -.drawerHeader { - // position:relative; - .identify { - width: 80px; - height: 25px; - line-height: 25px; - text-align: center; - border: 1px solid rgba(255, 153, 0, 1); - border-radius: 6px; - font-size: 16px; - color: rgba(255, 153, 0, 1); - transform: rotate(15deg); - font-weight: 600; - margin-right: 100px; - margin-top: 12px; - float: right; - } -} -</style> diff --git a/src/views/purchaseManage/purchase/index.vue b/src/views/purchaseManage/purchase/index.vue index 6d1b7f3..ea06106 100644 --- a/src/views/purchaseManage/purchase/index.vue +++ b/src/views/purchaseManage/purchase/index.vue @@ -41,7 +41,6 @@ <!-- <AddSalesLeadDialog v-if="editSalesLeadConfig.visible" :edit-rightContent-config="editSalesLeadConfig" /> --> <!-- 璇︽儏 --> <DetailSupplier v-if="commonDetail.visible" :common-detail="commonDetail" @submitClick="submitClick" /> - <AddPurchase2 ref="add" :editRow="editRow" @shutdown="getData" /> <!-- 鏂板缓/缂栬緫 --> <AddPurchase v-if="editConfig.visible" :edit-common-config="editConfig" /> </div> @@ -53,12 +52,11 @@ getSalesLeadsList, getDeleteSalesLeads } from "@/api/purchaseManage/purchase"; import DetailSupplier from "@/views/purchaseManage/purchase/DetailSupplier" -import AddPurchase2 from "@/views/purchaseManage/purchase/components/AddPurchase2" import AddPurchase from "@/views/purchaseManage/purchase/components/AddPurchase" export default { name: "SupplierManage", props: {}, - components: { DetailSupplier,AddPurchase2,AddPurchase }, + components: { DetailSupplier,AddPurchase }, mixins: [pageMixin], computed: {}, data() { -- Gitblit v1.8.0