From 84d9de8968ea6675ecb57fa7c59a7bf2fede8f4d Mon Sep 17 00:00:00 2001 From: zuozhengqing <a13193816592@163.com> Date: 星期三, 06 十二月 2023 16:45:44 +0800 Subject: [PATCH] 采购管理新增和编辑时供应商是否可以提供当前产品提示优化 --- src/views/purchaseManage/purchase/index.vue | 219 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 180 insertions(+), 39 deletions(-) diff --git a/src/views/purchaseManage/purchase/index.vue b/src/views/purchaseManage/purchase/index.vue index ae0314a..806d08f 100644 --- a/src/views/purchaseManage/purchase/index.vue +++ b/src/views/purchaseManage/purchase/index.vue @@ -9,7 +9,7 @@ :show-download="false" :amount-view="false" :show-action-btn="false" - :placeholder="'璇疯緭鍏ヤ緵搴斿晢/鐗╂枡/閲囪喘鍗曠瓑'" + :placeholder="'璇疯緭鍏ヤ緵搴斿晢鍚嶇О/鐗╂枡鍚嶇О/閲囪喘鍗曞悕绉�'" @searchClick="onFilterSearch" /> </div> @@ -30,12 +30,24 @@ {{ getpurchaseStatus(scope.row.status) }} </template> </el-table-column> - <el-table-column label="鎿嶄綔" width="120" fixed="right"> + <el-table-column label="鎿嶄綔" width="220" fixed="right"> <template slot-scope="scope"> - <el-button type="text" size="small" @click="editClick(scope.row)" style="margin-right: 5px" + <el-button v-if="scope.row.status===1" 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="btnEdit(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> + <el-button type="text" size="small" @click="btnLook(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 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> </template> @@ -53,16 +65,17 @@ <!-- 璇︽儏 --> <DetailSupplier v-if="commonDetail.visible" :common-detail="commonDetail" /> <!-- 鏂板缓/缂栬緫 --> - <AddPurchase v-if="editConfig.visible" :edit-common-config="editConfig" /> + <AddPurchase ref="addDialog" v-if="editConfig.visible" :edit-common-config="editConfig" /> </div> </template> <script> import pageMixin from "@/components/makepager/pager/mixin/pageMixin" -import { getPurchaseList, getPurchaseInfo, submitPurchase } 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 { getDataByType } from "@/api/data" +import { getSupplierList } from "@/api/supplierManage/supplier" +import { getDataByType } from "@/api/data"; export default { name: "SupplierManage", props: {}, @@ -71,6 +84,7 @@ computed: {}, data() { return { + purchaseStatusList:getDataByType('purchaseStatus'), tableLoading: false, tableList: {}, // 鍒楄〃 selValueList: [], @@ -83,25 +97,55 @@ editConfig: { visible: false, title: "鍒涘缓", - infomation: {} + isDisabled:false, + detailEnter:false, + infomation: { + supplierList:[] + } }, - purchaseStatusList: getDataByType("purchaseStatus"), tableColumn: [ + { label: "鍗曟嵁绫诲瀷", prop: "orderType", min: 130 }, { label: "閲囪喘鍗曞彿", prop: "number", min: 150, isCommonClick: true ,default:true}, { label: "閲囪喘鍗曞悕绉�", prop: "name", min: 130, isCommonClick: true }, - { label: "鍗曟嵁绫诲瀷", prop: "orderType", min: 130 }, - { label: "渚涘簲鍟嗗悕绉�", prop: "contact", min: 130 }, + { 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: ['閲囪喘鍗曞彿', '閲囪喘鍗曞悕绉�', '鍗曟嵁绫诲瀷', '渚涘簲鍟嗗悕绉�', '閲囪喘鏁伴噺', '鏀惰揣浠撳簱','缁忓姙浜�','鍒跺崟浜�'], + pagerOptions:{ + pageSize:15, + currPage:1, + }, } }, 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) { @@ -140,20 +184,38 @@ // 璇锋眰鏁版嵁 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) { - const list = res.data.data.list - 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, + status:1, + page:1, + pageSize: 10 + }) + .then((res) => { + if (res.data.code == 200) { + this.editConfig.infomation.supplierList=res.data.data.list + + } + }) }, // 鎼滅储 onFilterSearch(searchText){ @@ -163,6 +225,8 @@ }, // 鏂板缓 addBtnClick() { + this.editConfig.detailEnter=false + this.editConfig.isDisabled=false // this.editRow = {}; // this.$refs.add.islook = true; this.editConfig.visible = true @@ -188,13 +252,18 @@ }, // 缂栬緫 - editClick(row) { + btnEdit(row) { + this.editConfig.detailEnter=false + this.editConfig.isDisabled=false this.tableLoading = true 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, @@ -211,34 +280,106 @@ // this.$refs.add.islook = true; }, // 纭鍙戣揣 - submitClick(row) { - this.$confirm("鏄惁鎻愪氦?", "鎻愮ず", { + btnConfirm(row) { + let string='鏄惁鎻愪氦锛�' + if(!row.supplierName){ + string='鎮ㄦ湁蹇呭~瀛楁鏈綍鍏ワ紝璇锋鏌ユ暟鎹畬鏁存�с��' + } + this.$confirm(string, "鎻愮ず", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", type: "warning" }) .then(() => { - console.log("dddd") - submitPurchase({ id: row.ID }).then((response) => { - if (response.code === 200) { - this.$message.success("鎻愪氦鎴愬姛") - this.getData() - } else { - this.$message.warning("鎻愪氦澶辫触") - } - }) + 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) }) }, - - // 璇︽儏 - selCommonClick(row) { - console.log(row) + // 鍙栨秷 + 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("鍒犻櫎鎴愬姛") + this.getData() + } else { + this.$message.warning("鍒犻櫎澶辫触") + } + }) + }).catch(() => { + this.$message({ + type: 'info', + message: '宸插彇娑堝垹闄�' + }); + }); + }, + // 鏌ョ湅 + btnLook(row){ + this.editConfig.detailEnter=true + this.editConfig.isDisabled=true this.tableLoading = true getPurchaseInfo({ id: row.ID }).then((res) => { if (res.code == 200) { this.tableLoading = false + this.editConfig.visible = true + this.editConfig.title = "鏌ョ湅" + this.editConfig.infomation = { + productList: res.data.productList, + supplierName: res.data.purchase.supplier.name, + ...res.data.purchase + } + } else { + this.$message.error(res.msg ? res.msg + "," : "" + "鑾峰彇淇℃伅澶辫触锛�") + } + }) + setTimeout(() => { + this.tableLoading = false + }, 3000) + }, + // 璇︽儏 + selCommonClick(row) { + this.tableLoading = true + getPurchaseInfo({ id: row.ID }).then((res) => { + if (res.code == 200) { + console.log(res,"浜у搧璇︽儏") + this.tableLoading = false this.commonDetail.visible = true this.commonDetail.infomation = { productList: res.data.productList, -- Gitblit v1.8.0