From a59ab6b2cb459c2ab6e1ac30bfa09de65d5f5856 Mon Sep 17 00:00:00 2001 From: zuozhengqing <a13193816592@163.com> Date: 星期四, 23 十一月 2023 13:54:49 +0800 Subject: [PATCH] modify:修改供应商管理-采购列表数据,修改合同附件的上传下载和删除 --- src/api/supplierManage/supplier.js | 17 ++++- src/views/supplierManage/supplier/DetailSupplier.vue | 38 +++++++++--- src/views/supplierManage/supplier/AddSupplier.vue | 76 +++++++++++++++++------- src/views/purchaseManage/purchase/components/AddPurchase.vue | 2 src/api/common/other.js | 17 ++++- src/views/purchaseManage/purchase/index.vue | 14 +++- 6 files changed, 116 insertions(+), 48 deletions(-) diff --git a/src/api/common/other.js b/src/api/common/other.js index 4f88e95..adf2e9d 100644 --- a/src/api/common/other.js +++ b/src/api/common/other.js @@ -1,9 +1,16 @@ -// import request from "@/common/untils/request.js" -import axios from "axios" +import request from "@/common/untils/request.js" +// import axios from "axios" // 璐熻矗浜� -export const getMemberListFromGrpc = async (data) => { - return await axios.get(`/api/m/getMemberListFromGrpc`, { +// export const getMemberListFromGrpc = async (data) => { +// return await axios.get(`/api/m/getMemberListFromGrpc`, { +// params: data +// }) +// } +export function getMemberListFromGrpc(data) { + return request({ + url: "/api/m/getMemberListFromGrpc", + method: "get", params: data }) -} +} \ No newline at end of file diff --git a/src/api/supplierManage/supplier.js b/src/api/supplierManage/supplier.js index ca6d89a..df43251 100644 --- a/src/api/supplierManage/supplier.js +++ b/src/api/supplierManage/supplier.js @@ -1,5 +1,5 @@ import request from "@/common/untils/request.js" -import axios from "axios" +// import axios from "axios" // 鏈嶅姟鍟嗗垪琛� export function getSupplierList(data) { @@ -68,9 +68,16 @@ } // 涓婁紶鍚堝悓 -export const createContract = async (data) => { - return await axios.post(`/api/con/createContract`, data, { - headers: { "Content-Type": "application/x-www-form-urlencoded;charset=utf-8" } +// export const createContract = async (data) => { +// return await axios.post(`/api/con/createContract`, data, { +// headers: { "Content-Type": "application/x-www-form-urlencoded;charset=utf-8" } +// }) +// } +export function createContract(data) { + return request({ + url: "/api/con/createContract", + method: "post", + data }) } // 鍒犻櫎鍚堝悓 @@ -92,7 +99,7 @@ // 涓嬭浇鍚堝悓 export function downloadContract(data) { return request({ - url: "/api/con/downloadContract", + url: "/api/downloadContract", method: "get", params: data }) diff --git a/src/views/purchaseManage/purchase/components/AddPurchase.vue b/src/views/purchaseManage/purchase/components/AddPurchase.vue index b29c0e1..ca221b1 100644 --- a/src/views/purchaseManage/purchase/components/AddPurchase.vue +++ b/src/views/purchaseManage/purchase/components/AddPurchase.vue @@ -125,6 +125,8 @@ :disabled="editConfig.isDisabled" v-model="editConfig.infomation.phone" placeholder="璇峰~鍐�" + maxlength="11" + show-word-limit clearable ></el-input> </el-form-item> diff --git a/src/views/purchaseManage/purchase/index.vue b/src/views/purchaseManage/purchase/index.vue index f5ef1f0..485d218 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> @@ -44,9 +44,9 @@ <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 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> @@ -115,10 +115,16 @@ pagerOptions:{ pageSize:15, currPage:1, - } + }, } }, created() { + console.log(this.$route.params,"璺敱鍙傛暟") + if(this.$route.params.supplierId){ + this.editConfig.visible = true + this.editConfig.infomation.supplierId=this.$route.params.supplierId + this.editConfig.infomation.supplierName=this.$route.params.supplierName + } this.setTable() this.getData() this.getSupplierData() diff --git a/src/views/supplierManage/supplier/AddSupplier.vue b/src/views/supplierManage/supplier/AddSupplier.vue index f6083ba..c8dbfa4 100644 --- a/src/views/supplierManage/supplier/AddSupplier.vue +++ b/src/views/supplierManage/supplier/AddSupplier.vue @@ -164,7 +164,8 @@ <div @click="addAnnexClick"> <el-upload class="upload-demo" - action="https://jsonplaceholder.typicode.com/posts/" + :headers="headers" + action="" :limit="1" :before-upload="beforeAvatarUpload" :on-exceed="handleExceed" @@ -210,14 +211,15 @@ createContract, updateSupplier, getIndustryList, - getSupplierTypeList + getSupplierTypeList, + // downloadContract // previewContract } from "@/api/supplierManage/supplier" import EditDropdownDialog from "@/views/other/commonDialog/EditDropdownDialog" import { getMemberListFromGrpc } from "@/api/common/other" import download from "downloadjs" // import { renderAsync } from "docx-preview" -// import axios from "axios" +import axios from "axios" export default { name: "AddSupplierDialog", props: { @@ -233,7 +235,12 @@ } }, components: { EditDropdownDialog }, - computed: {}, + computed: { + headers() { + const authorization = "Bearer "+document.cookie.replace(/(?:(?:^|.*;\s*)token\s*=\s*([^;]*).*$)|^.*$/, "$1")|| '' + return { authorization } + } + }, data() { return { dialogWidth: "50%", @@ -290,7 +297,7 @@ pageSize: 100 }).then((res) => { console.log(res) - this.memberOptions = res.data.data.list + this.memberOptions = res.data.list }) }, // 渚涘簲鍟嗙被鍨� @@ -403,10 +410,9 @@ fd.append("name", file.name) // 璋冪敤鎺ュ彛 createContract(fd).then((res) => { - if (res.status == 200) { - console.log(res.data.data) + if (res.code == 200) { this.file_name = file.name - this.file_id = res.data.data.id + this.file_id = res.data.id } }) } @@ -418,7 +424,7 @@ }, // 涓嬭浇鍚堝悓 downloadClick() { - let url = "/api/con/downloadContract?id=" + this.file_id + let url = "/api/downloadContract?id=" + this.file_id download(url, "", "") }, // 鍒犻櫎鍚堝悓 @@ -432,20 +438,44 @@ // }) }, // 棰勮鍚堝悓 - async previewClick() { - this.previewUrl = "/api/con/previewContract?id=" + this.file_id - if (this.file_name.includes("pdf")) { - window.open(this.previewUrl, "_blank") - } else { - let routeUrl = this.$router.resolve({ - path: "/PreviewFile", - query: { - //瑕佷紶鐨勫弬鏁� - previewUrl: this.previewUrl - } - }) - window.open(routeUrl.href, "_blank") - } + // async previewClick() { + // this.previewUrl = "/api/con/previewContract?id=" + this.file_id + // if (this.file_name.includes("pdf")) { + // window.open(this.previewUrl, "_blank") + // } else { + // let routeUrl = this.$router.resolve({ + // path: "/PreviewFile", + // query: { + // //瑕佷紶鐨勫弬鏁� + // previewUrl: this.previewUrl + // } + // }) + // window.open(routeUrl.href, "_blank") + // } + // } + async previewClick() { + this.previewUrl = "/api/previewContract?id=" + this.file_id + if (this.file_name.includes("pdf")) { + console.log("鏄痯df鏂囦欢") + await axios.get(this.previewUrl, { headers: { "Authorization":"Bearer "+ document.cookie.replace(/(?:(?:^|.*;\s*)token\s*=\s*([^;]*).*$)|^.*$/, "$1")} }) + .then(response => { + window.open(this.previewUrl, "_blank") + console.log("response",response,this.previewUrl) + }) + .catch(error => { + console.error(error); + }); + } else { + console.log(this.previewUrl,"鐪嬬湅鏄暐瀛�") + let routeUrl = this.$router.resolve({ + path: "/PreviewFile", + query: { + //瑕佷紶鐨勫弬鏁� + previewUrl: this.previewUrl + } + }) + window.open(routeUrl.href, "_blank") + } } } } diff --git a/src/views/supplierManage/supplier/DetailSupplier.vue b/src/views/supplierManage/supplier/DetailSupplier.vue index c2765a1..df157c1 100644 --- a/src/views/supplierManage/supplier/DetailSupplier.vue +++ b/src/views/supplierManage/supplier/DetailSupplier.vue @@ -65,7 +65,7 @@ </ul> <div class="business_scope"> <div class="content-title">{{ "鍚堝悓闄勪欢" }}</div> - <div class="content-data"> + <div class="content-data" @click="downLoadFiles"> {{ detailConfig.infomation.contract.fileName ? detailConfig.infomation.contract.fileName : "--" }} </div> </div> @@ -82,6 +82,7 @@ <span style="margin-left: 10px">浜у搧淇℃伅</span> </div> <div v-show="isBasicExpand" class="basic-info-content"> + <el-button type="primary" size="mini" @click="toPurchaseBtn"><i class="el-icon-plus"></i> 鏂板缓</el-button> <TableCommonView style="margin-top: 2px" class="content-table" @@ -99,6 +100,7 @@ </template> <script> +import download from "downloadjs" export default { name: "DetailSupplier", props: { @@ -128,21 +130,21 @@ noContactDays: 0, newContactDays: "", tableList:{}, - showCol: ['浜у搧鍚嶇О', '浜у搧缂栫爜', '璁¢噺鍗曚綅', '瑙勬牸鍨嬪彿', '鏁伴噺', '閿�鍞崟浠�','浠风◣鍚堣','鎻忚堪'], + showCol: ['閲囪喘鍗曞彿', '閲囪喘鍗曞悕绉�', '鍗曟嵁绫诲瀷', '渚涘簲鍟嗗悕绉�', '閲囪喘鏁伴噺', '鏀惰揣浠撳簱','缁忓姙浜�','鍒跺崟浜�'], tableColumn: [ - { label: "浜у搧鍚嶇О", prop: "name", min: 160, }, - { label: "浜у搧缂栫爜", prop: "number", min: 130, }, - { label: "璁¢噺鍗曚綅", prop: "unit", min: 130 }, - { label: "瑙勬牸鍨嬪彿", prop: "specifications", min: 130 }, - { label: "鏁伴噺", prop: "amount", min: 130 }, - { label: "閿�鍞崟浠�", prop: "price", min: 130 }, - { label: "浠风◣鍚堣", prop: "total", min: 130 }, - { label: "鎻忚堪", prop: "remark", min: 130 }, + { 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 } ], } }, created() { - console.log(this.detailConfig,"鎶藉眽缁勪欢") + console.log(this.commonDetail,"鎶藉眽缁勪欢props") this.setData(this.detailConfig.infomation) this.addConfig = { id_name: "sales_leads_id", @@ -295,6 +297,20 @@ // console.log(totalDays) return totalDays // 鐩稿樊鐨勫ぉ鏁� + }, + toPurchaseBtn(){ + this.$router.push({ + name: 'purchase', + params: { + supplierId:this.commonDetail.infomation.ID, + supplierName:this.commonDetail.infomation.name + } + }); + }, + // 涓嬭浇鍚堝悓闄勪欢 + downLoadFiles(){ + let url = "/api/downloadContract?id=" + this.commonDetail.infomation.fileId + download(url, "", "") } } } -- Gitblit v1.8.0