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