From fc188397419e76da8e97c0782599f757fb34bd30 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期四, 14 十二月 2023 16:13:26 +0800 Subject: [PATCH] 增加编码规范功能及新建供应商和采购页面增加编码 --- src/views/purchaseManage/purchase/index.vue | 303 +++++++++++++++++++++++++++++-------------------- 1 files changed, 178 insertions(+), 125 deletions(-) diff --git a/src/views/purchaseManage/purchase/index.vue b/src/views/purchaseManage/purchase/index.vue index 7fda0cf..2c70931 100644 --- a/src/views/purchaseManage/purchase/index.vue +++ b/src/views/purchaseManage/purchase/index.vue @@ -1,16 +1,16 @@ <template> - <div class="purchase" v-loading="tableLoading"> + <div class="purchase" v-loading="tableLoading"> <div class="filter"> <div class="filter-card"> <CommonSearch - :show-add="true" - add-title="鏂板缓" - @addCommonClick="addBtnClick" - :show-download="false" - :amount-view="false" - :show-action-btn="false" - :placeholder="'璇疯緭鍏ヤ緵搴斿晢/鐗╂枡/閲囪喘鍗曠瓑'" - @searchClick="onFilterSearch" + :show-add="true" + add-title="鏂板缓" + @addCommonClick="addBtnClick" + :show-download="false" + :amount-view="false" + :show-action-btn="false" + :placeholder="'璇疯緭鍏ヤ緵搴斿晢鍚嶇О/鐗╂枡鍚嶇О/閲囪喘鍗曞悕绉�'" + @searchClick="onFilterSearch" /> </div> </div> @@ -19,34 +19,49 @@ <div class="body-card"> <div class="list-view"> <TableCommonView - ref="tableListRef" - :table-list="tableList" - @selCommonClick="selCommonClick" - @selTableCol="selTableCol" + ref="tableListRef" + :table-list="tableList" + @selCommonClick="selCommonClick" + @selTableCol="selTableCol" > <template slot="tableButton"> - <el-table-column label="鐘舵��" width="120"> + <el-table-column label="鐘舵��" width="120"> <template slot-scope="scope"> {{ getpurchaseStatus(scope.row.status) }} </template> </el-table-column> <el-table-column label="鎿嶄綔" width="220" fixed="right"> <template slot-scope="scope"> - <el-button type="text" size="small" @click="btnConfirm(scope.row)" style="margin-right: 5px" - >纭</el-button + <el-button + v-if="scope.row.status === 1" + type="text" + size="small" + @click="btnConfirm(scope.row)" + style="margin-right: 5px" + >纭</el-button > - <el-button type="text" size="small" @click="btnEdit(scope.row)" style="margin-right: 5px" - >缂栬緫</el-button + <el-button + v-if="scope.row.status === 1" + type="text" + size="small" + @click="btnEdit(scope.row)" + style="margin-right: 5px" + >缂栬緫</el-button > <el-button type="text" size="small" @click="btnLook(scope.row)" style="margin-right: 5px" - >鏌ョ湅</el-button + >鏌ョ湅</el-button > - <el-button type="text" size="small" @click="btnCancel(scope.row)" style="margin-right: 5px" - >鍙栨秷</el-button + <el-button + v-if="scope.row.status === 1" + type="text" + size="small" + @click="btnCancel(scope.row)" + style="margin-right: 5px" + >鍙栨秷</el-button > - <el-button type="text" size="small" @click="btnDelete(scope.row)" style="margin-right: 5px" + <!-- <el-button v-if="scope.row.status===1" type="text" size="small" @click="btnDelete(scope.row)" style="margin-right: 5px" >鍒犻櫎</el-button - > + > --> <!-- <el-button v-if="scope.row.status< 4" @click="submitClick(scope.row)" type="text" size="small">鎻愪氦</el-button> --> </template> </el-table-column> @@ -59,7 +74,6 @@ </div> </div> - <!-- 鏂板缓/缂栬緫閿�鍞嚎绱� --> <!-- <AddSalesLeadDialog v-if="editSalesLeadConfig.visible" :edit-rightContent-config="editSalesLeadConfig" /> --> <!-- 璇︽儏 --> @@ -71,10 +85,11 @@ <script> import pageMixin from "@/components/makepager/pager/mixin/pageMixin" -import { getPurchaseList, getPurchaseInfo, submitPurchase,deletePurchase } from "@/api/purchaseManage/purchase" +import { getPurchaseList, getPurchaseInfo, submitPurchase, deletePurchase } from "@/api/purchaseManage/purchase" import DetailSupplier from "@/views/purchaseManage/purchase/DetailSupplier" import AddPurchase from "@/views/purchaseManage/purchase/components/AddPurchase" import { getSupplierList } from "@/api/supplierManage/supplier" +import { getDataByType } from "@/api/data" export default { name: "SupplierManage", props: {}, @@ -83,6 +98,7 @@ computed: {}, data() { return { + purchaseStatusList: getDataByType("purchaseStatus"), tableLoading: false, tableList: {}, // 鍒楄〃 selValueList: [], @@ -95,53 +111,69 @@ editConfig: { visible: false, title: "鍒涘缓", - isDisabled:false, + isDisabled: false, + detailEnter: false, infomation: { - supplierList:[] + supplierList: [] } }, tableColumn: [ - { label: "閲囪喘鍗曞彿", prop: "number", min: 150, isCommonClick: true ,default:true}, - { label: "閲囪喘鍗曞悕绉�", prop: "name", min: 130, isCommonClick: true }, { label: "鍗曟嵁绫诲瀷", prop: "orderType", min: 130 }, + { label: "閲囪喘鍗曞彿", prop: "number", min: 150, isCommonClick: true, default: true }, + { label: "閲囪喘鍗曞悕绉�", prop: "name", min: 130, isCommonClick: true }, { label: "渚涘簲鍟嗗悕绉�", prop: "supplierName", min: 130 }, { label: "閲囪喘鏁伴噺", prop: "quantity", min: 130 }, { label: "鏀惰揣浠撳簱", prop: "warehouse", min: 130 }, { label: "缁忓姙浜�", prop: "handledBy", min: 130 }, { label: "鍒跺崟浜�", prop: "creator", min: 130 } ], - showCol: ['閲囪喘鍗曞彿', '閲囪喘鍗曞悕绉�', '鍗曟嵁绫诲瀷', '渚涘簲鍟嗗悕绉�', '閲囪喘鏁伴噺', '鏀惰揣浠撳簱'] + showCol: ["閲囪喘鍗曞彿", "閲囪喘鍗曞悕绉�", "鍗曟嵁绫诲瀷", "渚涘簲鍟嗗悕绉�", "閲囪喘鏁伴噺", "鏀惰揣浠撳簱", "缁忓姙浜�", "鍒跺崟浜�"] } }, created() { + console.log(this.$route.params, "璺敱鍙傛暟") + if (this.$route.params.supplierId) { + this.editConfig.visible = true + this.editConfig.infomation = { + productList: [], + purchaseTypeId: "", + supplierId: this.$route.params.supplierId || "", + supplierName: this.$route.params.supplierName || "", + orderSource: "鎵嬪姩鍒涘缓", + name: "", + contact: "", + phone: "", + signingDate: "", + deliveryDate: "", + remark: "", + wholeDiscountType: null, + wholeDiscount: 0, + priceAdjustmentType: null, + priceAdjustment: 0, + realTotalPrice: 0 + } + } this.setTable() this.getData() this.getSupplierData() }, methods: { getpurchaseStatus(val) { - let statusList=[ - {id:1,name:"寰呯‘璁�"}, - {id:2,name:"寰呭叆搴�"}, - {id:3,name:"宸插叆搴�"}, - {id:4,name:"宸插畬鎴�"}, - {id:5,name:"宸插彇娑�"} - ] if (val) { - for (let i in statusList) { - if (statusList[i].id == val) { - return statusList[i].name + for (let i in this.purchaseStatusList) { + if (this.purchaseStatusList[i].id == val) { + return this.purchaseStatusList[i].name } } } else { return "--" } }, - setColumnVisible(showCol){ - return this.tableColumn.map(ele=>{ + setColumnVisible(showCol) { + return this.tableColumn.map((ele) => { return { ...ele, - isShowColumn:showCol.includes(ele.label) + isShowColumn: showCol.includes(ele.label) } }) }, @@ -151,62 +183,62 @@ selectIndex: true, showcol: this.showCol, allcol: [], - tableColumn:this.setColumnVisible(this.showCol) + tableColumn: this.setColumnVisible(this.showCol) } - this.tableList.allcol = this.tableList.tableColumn.filter(ele=>!ele.default).map(ele=>ele.label); + this.tableList.allcol = this.tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label) }, selTableCol(val) { - this.showcol = val; - this.tableList.tableColumn = this.setColumnVisible(val); + this.showcol = val + this.tableList.tableColumn = this.setColumnVisible(val) }, // 璇锋眰鏁版嵁 async getData() { await getPurchaseList({ - keyword: this.search, + keyword: this.search || "", page: this.pagerOptions.currPage, pageSize: this.pagerOptions.pageSize }) - .then((res) => { - if (res.data.code === 200) { - let list = res.data.data.list - list.map((item)=>{ - item.supplierName=item.supplier.name - }) - this.tableList.tableInfomation = list || [] - this.pagerOptions.totalCount = res.data.data.total - } - }) - .catch((err) => { - console.log(err) - }) + .then((res) => { + if (res.code === 200) { + let list = res.data.list + list.map((item) => { + item.supplierName = item.supplier.name + }) + this.tableList.tableInfomation = list || [] + this.pagerOptions.totalCount = res.data.total + } + }) + .catch((err) => { + console.log(err) + }) }, // 鑾峰彇渚涘簲鍟嗘暟鎹� async getSupplierData() { await getSupplierList({ // [val]: content, - page:1, + status: 1, + page: 1, pageSize: 10 - }) - .then((res) => { + }).then((res) => { if (res.data.code == 200) { - this.editConfig.infomation.supplierList=res.data.data.list - + this.editConfig.infomation.supplierList = res.data.data.list } }) }, // 鎼滅储 - onFilterSearch(searchText){ - this.search = searchText ?? '' + onFilterSearch(searchText) { + this.search = searchText ?? "" this.pagerOptions.currPage = 1 this.getData() }, // 鏂板缓 addBtnClick() { - this.editConfig.isDisabled=false + this.editConfig.detailEnter = false + this.editConfig.isDisabled = false // this.editRow = {}; // this.$refs.add.islook = true; this.editConfig.visible = true - this.editConfig.title = "鍒涘缓" + this.editConfig.title = "鏂板缓" this.editConfig.infomation = { productList: [], purchaseTypeId: "", @@ -214,6 +246,7 @@ supplierName: "", orderSource: "鎵嬪姩鍒涘缓", name: "", + number: "", contact: "", phone: "", signingDate: "", @@ -229,12 +262,17 @@ // 缂栬緫 btnEdit(row) { + this.editConfig.detailEnter = false + this.editConfig.isDisabled = false this.tableLoading = true - getPurchaseInfo({ id: row.ID }).then((res) => { + getPurchaseInfo({ id: row.id }).then((res) => { if (res.code == 200) { this.tableLoading = false this.editConfig.visible = true this.editConfig.title = "缂栬緫" + res.data.productList.map((item, index) => { + item.productIndex = index + }) this.editConfig.infomation = { productList: res.data.productList, supplierName: res.data.purchase.supplier.name, @@ -252,51 +290,64 @@ }, // 纭鍙戣揣 btnConfirm(row) { - this.$confirm("鏄惁鎻愪氦?", "鎻愮ず", { + let string = "鏄惁鎻愪氦锛�" + if (!row.supplierName) { + string = "鎮ㄦ湁蹇呭~瀛楁鏈綍鍏ワ紝璇锋鏌ユ暟鎹畬鏁存�с��" + } + this.$confirm(string, "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }).then( + () => { + if (!row.supplierName) { + this.btnEdit(row) + } else { + submitPurchase({ id: row.ID, status: 2 }).then((response) => { + if (response.code === 200) { + this.$message.success("鎻愪氦鎴愬姛") + this.getData() + } else { + this.$message.warning("鎻愪氦澶辫触") + } + }) + } + }, + (e) => { + console.error(e) + } + ) + }, + // 鍙栨秷 + btnCancel(row) { + this.$confirm("鏄惁鍙栨秷?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }).then( + () => { + submitPurchase({ id: row.ID, status: 5 }).then((response) => { + if (response.code === 200) { + this.$message.success("宸插彇娑�") + this.getData() + } else { + // this.$message.warning("鎻愪氦澶辫触") + } + }) + }, + (e) => { + console.error(e) + } + ) + }, + // 鍒犻櫎 + btnDelete(row) { + this.$confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?", "鎻愮ず", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", type: "warning" }) .then(() => { - submitPurchase({ id: row.ID,status:2 }).then((response) => { - if (response.code === 200) { - this.$message.success("鎻愪氦鎴愬姛") - this.getData() - } else { - this.$message.warning("鎻愪氦澶辫触") - } - }) - },(e)=>{ - console.error(e) - }) - }, - // 鍙栨秷 - btnCancel(row){ - this.$confirm("鏄惁鍙栨秷?", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }) - .then(() => { - submitPurchase({ id: row.ID,status:5 }).then((response) => { - if (response.code === 200) { - this.$message.success("宸插彇娑�") - this.getData() - } else { - // this.$message.warning("鎻愪氦澶辫触") - } - }) - },(e)=>{ - console.error(e) - }) - }, - // 鍒犻櫎 - btnDelete(row){ - this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { deletePurchase({ id: row.ID }).then((response) => { if (response.code === 200) { this.$message.success("鍒犻櫎鎴愬姛") @@ -305,18 +356,20 @@ this.$message.warning("鍒犻櫎澶辫触") } }) - }).catch(() => { + }) + .catch(() => { this.$message({ - type: 'info', - message: '宸插彇娑堝垹闄�' - }); - }); + type: "info", + message: "宸插彇娑堝垹闄�" + }) + }) }, // 鏌ョ湅 - btnLook(row){ - this.editConfig.isDisabled=true + btnLook(row) { + this.editConfig.detailEnter = true + this.editConfig.isDisabled = true this.tableLoading = true - getPurchaseInfo({ id: row.ID }).then((res) => { + getPurchaseInfo({ id: row.id }).then((res) => { if (res.code == 200) { this.tableLoading = false this.editConfig.visible = true @@ -336,10 +389,10 @@ }, // 璇︽儏 selCommonClick(row) { - console.log(row) this.tableLoading = true - getPurchaseInfo({ id: row.ID }).then((res) => { + getPurchaseInfo({ id: row.id }).then((res) => { if (res.code == 200) { + console.log(res, "浜у搧璇︽儏") this.tableLoading = false this.commonDetail.visible = true this.commonDetail.infomation = { @@ -360,16 +413,16 @@ <!-- Add "scoped" attribute to limit CSS to this component only --> <style lang="scss" scoped> -.purchase{ +.purchase { height: 100%; overflow: hidden; background-color: transparent; - .filter{ + .filter { height: 80px; display: flex; align-items: center; padding: 12px 20px 0 20px; - &-card{ + &-card { height: 80px; display: flex; align-items: center; @@ -380,7 +433,7 @@ background-color: #fff; } } - .body{ + .body { box-sizing: border-box; padding: 10px 20px; border-radius: 12px; -- Gitblit v1.8.0