From ecd0f2e9e7e11387f69afd4cfb2baa91742d1920 Mon Sep 17 00:00:00 2001
From: hongchao <3228015117@qq.com>
Date: Wed, 18 Dec 2024 10:34:37 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8D=8F=E8=AE=AE=E5=90=88=E5=B9=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/cart/index.vue | 109 ++++++--
src/views/user/contract-manage/index.vue | 238 ++++++++++++++----
.../components/order-home.vue | 116 ++++++---
3 files changed, 367 insertions(+), 96 deletions(-)
diff --git a/src/views/cart/index.vue b/src/views/cart/index.vue
index 763318e..173bbf0 100644
--- a/src/views/cart/index.vue
+++ b/src/views/cart/index.vue
@@ -609,6 +609,74 @@ const onCartSubmit = async () => {
const wordUrl = ref('')
const settleWordTitle = ref('')
const dialogFormVisibleSettleWord: any = ref(false)
+//租赁服务合同
+// const handleViewWord = async (index: any) => {
+// // 组装参数
+// const { companyName, companyId } = cardList.value[index].companyPersonPhoneKey
+// let cost = 0
+// let detailsList: any = []
+
+// const isSelect = cardList.value[index].devInfoVoList.some((e: any) => e.isChecked == true)
+
+// if (!isSelect) {
+// ElMessage({
+// showClose: false,
+// message: '请勾选装备...',
+// type: 'error',
+// })
+// return
+// }
+
+// cardList.value[index].devInfoVoList.map((e: any) => {
+// if (e.isChecked) {
+// detailsList.push({
+// rentBeginTime: e.rentBeginTime,
+// rentEndTime: e.rentEndTime,
+// manageType: e.manageType,
+// days: e.days,
+// num: e.num,
+// costs: e.num * e.days * e.dayLeasePrice,
+// deviceName: e.deviceName,
+// dayLeasePrice: e.dayLeasePrice,
+// })
+// cost = cost + e.num * e.days * e.dayLeasePrice
+// }
+// })
+// const queryParams = {
+// companyName: localStorage.getItem('currentCompanyName'),
+// czcompanyName: companyName,
+// companyId,
+// cost,
+// detailsList,
+// }
+
+// console.log('查询参数', queryParams)
+// const res: any = await getBookCarAgreementApi(queryParams)
+
+// bookCarAgreement.value = res.msg
+// dialogFormVisibleSettleWord.value = true
+
+// // settleWordTitle.value = '租赁服务合同'
+// // // const orderId = row.orderId
+// // // const res: any = await getContractDetailApi({ orderId })
+// // // 打开租赁服务合同弹框
+// // wordUrl.value = 'http://127.0.0.1:29300/statics/2024/12/16/test_20241216154423A003.docx'
+// // dialogFormVisibleSettleWord.value = true
+// // setTimeout(() => {
+// // const myDocxPreviewer = jsPreviewDocx.init(document.getElementById('mmm'))
+// // //传递要预览的文件地址即可
+// // myDocxPreviewer
+// // .preview(wordUrl.value)
+// // .then((res) => {
+// // console.log('预览完成')
+// // })
+// // .catch((e) => {
+// // console.log('1111', wordUrl.value)
+// // console.log('预览失败', e)
+// // })
+// // }, 1000)
+// }
+
//租赁服务合同
const handleViewWord = async (index: any) => {
// 组装参数
@@ -653,28 +721,25 @@ const handleViewWord = async (index: any) => {
console.log('查询参数', queryParams)
const res: any = await getBookCarAgreementApi(queryParams)
- bookCarAgreement.value = res.msg
+ wordUrl.value = res.data.url
dialogFormVisibleSettleWord.value = true
- // settleWordTitle.value = '租赁服务合同'
- // // const orderId = row.orderId
- // // const res: any = await getContractDetailApi({ orderId })
- // // 打开租赁服务合同弹框
- // wordUrl.value = 'http://127.0.0.1:29300/statics/2024/12/16/test_20241216154423A003.docx'
- // dialogFormVisibleSettleWord.value = true
- // setTimeout(() => {
- // const myDocxPreviewer = jsPreviewDocx.init(document.getElementById('mmm'))
- // //传递要预览的文件地址即可
- // myDocxPreviewer
- // .preview(wordUrl.value)
- // .then((res) => {
- // console.log('预览完成')
- // })
- // .catch((e) => {
- // console.log('1111', wordUrl.value)
- // console.log('预览失败', e)
- // })
- // }, 1000)
+ settleWordTitle.value = '租赁服务合同'
+ setTimeout(() => {
+ const myDocxPreviewer = jsPreviewDocx.init(document.getElementById("mmm"));
+ //传递要预览的文件地址即可
+ myDocxPreviewer
+ .preview(
+ wordUrl.value
+ )
+ .then((res) => {
+ console.log("预览完成");
+ })
+ .catch((e) => {
+ console.log('1111', wordUrl.value)
+ console.log("预览失败", e);
+ });
+ }, 1000);
}
// 获取收货地址
@@ -825,4 +890,8 @@ getReceiptGoodsAddress()
.address-item:hover {
background-color: #c9e7e5;
}
+#mmm {
+ width: 100%;
+ height: 500px;
+}
diff --git a/src/views/user/contract-manage/index.vue b/src/views/user/contract-manage/index.vue
index 2f3491b..3c9717e 100644
--- a/src/views/user/contract-manage/index.vue
+++ b/src/views/user/contract-manage/index.vue
@@ -92,7 +92,7 @@
>
-
+
@@ -124,7 +124,7 @@
/>
-
-
+ -->
-
-
-
-
+
@@ -240,7 +233,88 @@
-
+ -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 支持格式:word.单个文件大小不能超过2M,最多可上传1张
+
+
+
+
+
+
+
+
+
+
+ 上传文件
+
+
+
+
+
+
+
+
+
+
+
@@ -298,11 +372,19 @@ const queryParams: any = reactive({
pageNum: 1,
})
+// const addAndEditForm = ref({
+// id: '',
+// contractName: '',
+// content: '',
+// contentId: '',
+// })
+
const addAndEditForm = ref({
id: '',
contractName: '',
- content: '',
- contentId: '',
+ fileInfoList: [],
+ fileInfoTempList: [],
+ bmFileInfoList: [],
})
// 获取列表
@@ -357,20 +439,26 @@ const dialogVisibleSettlein: any = ref(false)
const dialogVisibleSettleinEdit: any = ref(false)
const contractList: any = ref([])
// 合同新增
-const addContract = async () => {
- settleinTitle.value = '合同新建'
- contractList.value = []
- const res: any = await getContractSelectList()
- if (res.data.length > 0) {
- res.data.forEach((item: any) => {
- contractList.value.push({
- id: item.id,
- templateName: item.templateName,
- content: item.content,
- })
- })
- }
- dialogVisibleSettlein.value = true
+// const addContract = async () => {
+// settleinTitle.value = '合同新建'
+// contractList.value = []
+// const res: any = await getContractSelectList()
+// if (res.data.length > 0) {
+// res.data.forEach((item: any) => {
+// contractList.value.push({
+// id: item.id,
+// templateName: item.templateName,
+// content: item.content,
+// })
+// })
+// }
+// dialogVisibleSettlein.value = true
+// }
+
+// 合同新增
+const addContract = () => {
+ settleinTitle.value = '合同新建'
+ dialogVisibleSettlein.value = true;
}
const handleSelectChange = (selectedId: number) => {
@@ -384,16 +472,25 @@ const handleSelectChange = (selectedId: number) => {
console.log('2222', selectedContract)
addAndEditForm.value.content = selectedContract
}
+// // 合同编辑
+// const onContract = (row: any) => {
+// console.log(row, '详情')
+// addAndEditForm.value.id = row.id
+// addAndEditForm.value.contractName = row.contractName
+// // modelValue.value = row.content
+// addAndEditForm.value.content = row.content
+// console.log('2222', addAndEditForm.value.content)
+// settleinTitle.value = '合同修改'
+// dialogVisibleSettleinEdit.value = true
+// }
+
// 合同编辑
const onContract = (row: any) => {
- console.log(row, '详情')
addAndEditForm.value.id = row.id
addAndEditForm.value.contractName = row.contractName
- // modelValue.value = row.content
- addAndEditForm.value.content = row.content
- console.log('2222', addAndEditForm.value.content)
+ console.log('2222',addAndEditForm.value.contractName)
settleinTitle.value = '合同修改'
- dialogVisibleSettleinEdit.value = true
+ dialogVisibleSettlein.value = true
}
const onDialogClose = () => {
@@ -407,34 +504,89 @@ const onDialogClose = () => {
const onDialogClose_2 = () => {}
+// const addAndEditFormRules = reactive({
+// contractName: [{ required: true, message: '请输入合同名称', trigger: 'blur' }],
+// contentId: [{ required: true, message: '请选择合同模板', trigger: 'blur' }],
+// })
+
+// 自定义事件
+const onFileChange = (fileList: any) => {
+ addAndEditForm.value.fileInfoTempList = []
+ const fileListTemp = fileList.map((e: any) => {
+ return {
+ fileName: e.name,
+ fileUrl: e.url,
+ }
+ })
+
+ addAndEditForm.value.fileInfoTempList.push(...fileListTemp)
+}
+
const addAndEditFormRules = reactive({
contractName: [{ required: true, message: '请输入合同名称', trigger: 'blur' }],
- contentId: [{ required: true, message: '请选择合同模板', trigger: 'blur' }],
+ fileInfoList: [{ required: true, message: '请上传合同附件', trigger: 'blur' }],
})
// 提交
+// const onSubmit = () => {
+// addAndEditFormRef.value.validate(async (valid: any) => {
+// if (valid) {
+// addAndEditForm.value.content = addAndEditForm.value.content.replace(/ /gi, '\xa0')
+// addAndEditForm.value.content = addAndEditForm.value.content.replace(/\$/g, '$')
+
+// addAndEditForm.value.content = encodeURIComponent(addAndEditForm.value.content)
+// const SEN_API = settleinTitle.value === '合同修改' ? editContractApi : addContractApi
+// const res: any = await SEN_API(addAndEditForm.value)
+// if (res.code === 200) {
+// ElMessage({
+// type: 'success',
+// message: '提交成功',
+// })
+// // dialogVisibleSettlein.value = false
+// dialogVisibleSettleinEdit.value = false
+// getContractListData()
+// }
+// }
+// })
+// }
+
+
const onSubmit = () => {
+ addAndEditForm.value.fileInfoList = addAndEditForm.value.fileInfoTempList
addAndEditFormRef.value.validate(async (valid: any) => {
if (valid) {
- addAndEditForm.value.content = addAndEditForm.value.content.replace(/ /gi, '\xa0')
- addAndEditForm.value.content = addAndEditForm.value.content.replace(/\$/g, '$')
-
- addAndEditForm.value.content = encodeURIComponent(addAndEditForm.value.content)
const SEN_API = settleinTitle.value === '合同修改' ? editContractApi : addContractApi
+ addAndEditForm.value.bmFileInfoList = addAndEditForm.value.fileInfoList
const res: any = await SEN_API(addAndEditForm.value)
if (res.code === 200) {
ElMessage({
type: 'success',
message: '提交成功',
})
- // dialogVisibleSettlein.value = false
- dialogVisibleSettleinEdit.value = false
+ dialogVisibleSettlein.value = false
getContractListData()
}
}
})
}
+// 删除
+// const onDelete = async (id: any) => {
+// const res: any = await delContractApi({ id })
+// if (res.code === 200) {
+// ElMessage({
+// type: 'success',
+// message: '删除成功',
+// })
+// getContractListData()
+// }
+// }
+
+// 取消按钮
+// const onCancel = () => {
+// dialogVisibleSettlein.value = false
+// }
+
// 删除
const onDelete = async (id: any) => {
const res: any = await delContractApi({ id })
@@ -447,11 +599,13 @@ const onDelete = async (id: any) => {
}
}
+
// 取消按钮
const onCancel = () => {
dialogVisibleSettlein.value = false
}
+
const myQuillEditor = ref()
// 样式部分
diff --git a/src/views/user/orderManagementCz/components/order-home.vue b/src/views/user/orderManagementCz/components/order-home.vue
index a04a069..d247930 100644
--- a/src/views/user/orderManagementCz/components/order-home.vue
+++ b/src/views/user/orderManagementCz/components/order-home.vue
@@ -617,39 +617,72 @@ const handleViewRepair = (item: any) => {
const settleWordTitle = ref('')
const dialogFormVisibleSettleWord: any = ref(false)
//租赁协议
-const handleViewWord = async (index: Number, row: any) => {
+// const handleViewWord = async (index: Number, row: any) => {
+// settleWordTitle.value = '租赁协议'
+// // moneyParams1.value = {
+// // /* 设备状态 */
+// // maStatus: 15,
+// // detectionList: [],
+// // insureList: [],
+// // picList: [],
+// // }
+// // const orderId = row.orderId
+// const res: any = await getContractDetailApi({ orderId: row.orderId })
+// leaseAgreement.value = res.msg
+// // console.log(res, '租赁协议')
+// // leaseAgreement.value = res.
+// // cardList.value = res.rows
+// // 打开租赁协议弹框
+// dialogFormVisibleSettleWord.value = true
+
+// // wordUrl.value = res.data.url
+// // dialogFormVisibleSettleWord.value = true
+// // setTimeout(() => {
+// // const myDocxPreviewer = jsPreviewDocx.init(document.getElementById('mmm'))
+// // //传递要预览的文件地址即可
+// // myDocxPreviewer
+// // .preview(wordUrl.value)
+// // .then((res) => {
+// // console.log('预览完成')
+// // })
+// // .catch((e) => {
+// // console.log('1111', wordUrl.value)
+// // console.log('预览失败', e)
+// // })
+// // }, 1000)
+// }
+
+//租赁协议
+const handleViewWord = async(index: Number, row: any) => {
settleWordTitle.value = '租赁协议'
- // moneyParams1.value = {
- // /* 设备状态 */
- // maStatus: 15,
- // detectionList: [],
- // insureList: [],
- // picList: [],
- // }
- // const orderId = row.orderId
- const res: any = await getContractDetailApi({ orderId: row.orderId })
- leaseAgreement.value = res.msg
- // console.log(res, '租赁协议')
- // leaseAgreement.value = res.
+ moneyParams1.value = {
+ /* 设备状态 */
+ maStatus: 15,
+ detectionList: [],
+ insureList: [],
+ picList: [],
+ }
+ const orderId = row.orderId
+ const res: any = await getContractDetailApi({ orderId })
// cardList.value = res.rows
// 打开租赁协议弹框
+ wordUrl.value = res.data.url
dialogFormVisibleSettleWord.value = true
-
- // wordUrl.value = res.data.url
- // dialogFormVisibleSettleWord.value = true
- // setTimeout(() => {
- // const myDocxPreviewer = jsPreviewDocx.init(document.getElementById('mmm'))
- // //传递要预览的文件地址即可
- // myDocxPreviewer
- // .preview(wordUrl.value)
- // .then((res) => {
- // console.log('预览完成')
- // })
- // .catch((e) => {
- // console.log('1111', wordUrl.value)
- // console.log('预览失败', e)
- // })
- // }, 1000)
+ setTimeout(() => {
+ const myDocxPreviewer = jsPreviewDocx.init(document.getElementById("mmm"));
+ //传递要预览的文件地址即可
+ myDocxPreviewer
+ .preview(
+ wordUrl.value
+ )
+ .then((res) => {
+ console.log("预览完成");
+ })
+ .catch((e) => {
+ console.log('1111', wordUrl.value)
+ console.log("预览失败", e);
+ });
+ }, 1000);
}
const contract = ref({
@@ -1881,6 +1914,26 @@ const wordUrl = ref('')
+
+
-
-
-
-
-