公共服务跳转,及结算审核合并
This commit is contained in:
parent
05598cd181
commit
1bf36a3555
|
|
@ -8,3 +8,5 @@ ENV = 'production'
|
|||
# VUE_APP_BASE_API = '/prod-api'
|
||||
# 智能机具管理系统/宏源环境
|
||||
VUE_APP_BASE_API = '/iws/jiju-api'
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,16 +2,16 @@ import request from '@/utils/request'
|
|||
|
||||
// 登录方法 - 调试使用 - 产线环境需注释
|
||||
export function login(data) {
|
||||
return false
|
||||
// return request({
|
||||
// url: '/auth/login',
|
||||
// headers: {
|
||||
// isToken: false,
|
||||
// repeatSubmit: false
|
||||
// },
|
||||
// method: 'post',
|
||||
// data: data
|
||||
// })
|
||||
// return false
|
||||
return request({
|
||||
url: '/auth/login',
|
||||
headers: {
|
||||
isToken: false,
|
||||
repeatSubmit: false
|
||||
},
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function isLogin(data) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
import * as CryptoJS from 'crypto-js'
|
||||
|
||||
/**
|
||||
* @param {Object} word解密
|
||||
*/
|
||||
export function bnsCloudDecrypt(word) {
|
||||
var key = CryptoJS.enc.Utf8.parse('bonus@cloud@2025')
|
||||
var decrypt = CryptoJS.AES.decrypt(word, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })
|
||||
return CryptoJS.enc.Utf8.stringify(decrypt).toString()
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Object} word加密
|
||||
*/
|
||||
function bnsCloudEncrypt(word) {
|
||||
var key = CryptoJS.enc.Utf8.parse('bonus@cloud@2025')
|
||||
var srcs = CryptoJS.enc.Utf8.parse(word)
|
||||
var encrypted = CryptoJS.AES.encrypt(srcs, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })
|
||||
return encrypted.toString()
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
import Cookies from 'js-cookie'
|
||||
|
||||
const TokenKey = 'Admin-Token'
|
||||
const TokenKey = 'Admin-jVToken'
|
||||
|
||||
const ExpiresInKey = 'Admin-Expires-In'
|
||||
const ExpiresInKey = 'Admin-Expires-In-jV'
|
||||
|
||||
export function getToken() {
|
||||
return Cookies.get(TokenKey)
|
||||
|
|
|
|||
|
|
@ -168,6 +168,7 @@ import dingding from '@/assets/images/dingding.svg'
|
|||
import wx from '@/assets/images/wx.svg'
|
||||
import qq from '@/assets/images/QQ.svg'
|
||||
import { setToken, setExpiresIn } from '@/utils/auth'
|
||||
import { bnsCloudDecrypt } from '@/utils/aes'
|
||||
|
||||
export default {
|
||||
name: 'Login',
|
||||
|
|
@ -330,6 +331,35 @@ export default {
|
|||
} else {
|
||||
this.isIws = false
|
||||
this.getCookie()
|
||||
|
||||
const origin = window.location.href
|
||||
if (origin.indexOf('params') !== -1) {
|
||||
//获取浏览器路径
|
||||
const url = new URL(origin)
|
||||
const urlParam = new URLSearchParams(url.search)
|
||||
console.log(url)
|
||||
console.log(urlParam)
|
||||
//解析路径参数
|
||||
const params = urlParam.get('params')
|
||||
console.log(params)
|
||||
if (params) {
|
||||
//对参数进行解密
|
||||
const jiemi = bnsCloudDecrypt(params)
|
||||
//解密参数继续解析
|
||||
const logingParam = new URLSearchParams(jiemi)
|
||||
//获取账号密码
|
||||
const username = logingParam.get('username')
|
||||
const password = logingParam.get('password')
|
||||
if (username && password) {
|
||||
this.loginForm.username = username
|
||||
this.loginForm.password = password
|
||||
//自己系统登录的方法 有验证码的 需要去添加一个无验证码登录的方法
|
||||
this.authLogin()
|
||||
}
|
||||
} else {
|
||||
console.log('无自动登录参数')
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -343,13 +373,58 @@ export default {
|
|||
})
|
||||
},
|
||||
getCookie() {
|
||||
const username = Cookies.get('username')
|
||||
const password = Cookies.get('password')
|
||||
const rememberMe = Cookies.get('rememberMe')
|
||||
const username = Cookies.get('jVusername')
|
||||
const password = Cookies.get('jVpassword')
|
||||
const rememberMe = Cookies.get('jVrememberMe')
|
||||
this.loginForm.username = username || ''
|
||||
this.loginForm.password = password ? decrypt(password) : ''
|
||||
this.loginForm.rememberMe = rememberMe === 'true'
|
||||
},
|
||||
authLogin(){
|
||||
this.loading = true
|
||||
if (this.loginForm.rememberMe) {
|
||||
Cookies.set('jVusername', this.loginForm.username, { expires: 30 })
|
||||
Cookies.set('jVpassword', encrypt(this.loginForm.password), {
|
||||
expires: 30
|
||||
})
|
||||
Cookies.set('jVrememberMe', this.loginForm.rememberMe, {
|
||||
expires: 30
|
||||
})
|
||||
} else {
|
||||
Cookies.remove('jVusername')
|
||||
Cookies.remove('jVpassword')
|
||||
Cookies.remove('jVrememberMe')
|
||||
}
|
||||
this.loginForm.loginMethod = this.loginMethod
|
||||
this.$store
|
||||
.dispatch('Login', this.loginForm)
|
||||
.then(res => {
|
||||
console.log(res)
|
||||
if (res.code === 200) {
|
||||
if (res.isLogin) {
|
||||
this.$modal
|
||||
.confirm('账号已在其他地方登录是否继续登录!!!!')
|
||||
.then(function () {
|
||||
// return this.$router.push({ path: this.redirect || '/' })
|
||||
return this.$router.push({ path: '/' })
|
||||
})
|
||||
.then(() => {
|
||||
this.loading = false
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false
|
||||
})
|
||||
} else {
|
||||
// this.$router.push({ path: this.redirect || '/' })
|
||||
this.$router.push({ path: '/' })
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false
|
||||
if (this.captchaEnabled) this.getCode()
|
||||
})
|
||||
},
|
||||
handleLogin() {
|
||||
this.$refs.loginForm.validate(valid => {
|
||||
if (valid) {
|
||||
|
|
|
|||
|
|
@ -69,19 +69,20 @@
|
|||
<el-tag v-if="scope.row.settlementType == null || scope.row.settlementType === 0" effect="plain">
|
||||
总费用
|
||||
</el-tag>
|
||||
<el-tag type="danger" v-if="scope.row.settlementType === 3" effect="plain">全部</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="审批人" align="center" prop="auditor" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="审批时间" align="center" prop="auditTime" width="100" />
|
||||
<el-table-column label="结算状态" align="center" prop="sltStatus" :show-overflow-tooltip="true">
|
||||
<el-table-column label="结算状态" align="center" prop="sltStatus" :show-overflow-tooltip="true" width="165">
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- <dict-tag :options="dict.type.cost_status" :value="scope.row.sltStatus"/>-->
|
||||
<!-- </template>-->
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.sltStatus == '1'">待审核</el-tag>
|
||||
<el-tag type="success" v-if="scope.row.sltStatus == '2'">审核通过</el-tag>
|
||||
<el-tag type="danger" v-if="scope.row.sltStatus == '3'">审核驳回</el-tag>
|
||||
<el-tag v-if="scope.row.sltStatus == '1'">{{ scope.row.sltAuditor || '待审核' }}</el-tag>
|
||||
<el-tag type="success" v-else-if="scope.row.sltStatus == '2'">审核通过</el-tag>
|
||||
<el-tag type="danger" v-else-if="scope.row.sltStatus == '3'">审核驳回</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width">
|
||||
|
|
@ -96,7 +97,7 @@
|
|||
<!-- <el-button size="mini" type="danger" icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
>撤销申请</el-button> -->
|
||||
<el-button type="primary" plain size="mini" @click="openPrintDialog(scope.row)">协议书</el-button>
|
||||
<el-button type="primary" plain size="mini" @click="openPrintDialog(scope.row)" v-if="scope.row.sltStatus == '2'">协议书</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
@ -127,7 +128,7 @@
|
|||
<div style="height: 600px; overflow-y: scroll">
|
||||
<vue-easy-print tableShow ref="remarksPrintRef" class="print">
|
||||
<div style="text-align: center; font-weight: 600; font-size: 16px">
|
||||
{{ dialogTitle || '机具设备' }}有偿使用费结算协议书
|
||||
{{ dialogTitle }}有偿使用费结算协议书
|
||||
</div>
|
||||
<div class="info" style="margin-top: 10px; display: flex; flex-wrap: wrap">
|
||||
<div class="item" style="width: 65%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px"></div>
|
||||
|
|
@ -148,35 +149,64 @@
|
|||
<div class="tabelColumn">
|
||||
<div class="columnLabel" style="width: 100%">结算项目及金额(元)</div>
|
||||
</div>
|
||||
<div class="tabelColumn">
|
||||
<div class="columnLabel" style="width: 60%">项目</div>
|
||||
<div class="columnLabel" style="width: 20%; border-left: 1px solid #9c9c9c">施工机具</div>
|
||||
<div class="columnLabel" style="width: 20%; border-left: 1px solid #9c9c9c">安全工器具</div>
|
||||
</div>
|
||||
<div class="tabelColumn">
|
||||
<div class="columnLabel" style="width: 60%">一、施工机具有偿使用费:</div>
|
||||
<div class="columnContent" style="width: 40%">
|
||||
<div class="columnContent" style="width: 20%">
|
||||
¥ {{ Number(agreementContent.leaseCost).toFixed(2) }}
|
||||
</div>
|
||||
<div class="columnContent" style="width: 20%">
|
||||
¥ {{ Number(agreementContent.aqLeaseCost).toFixed(2) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="tabelColumn">
|
||||
<div class="columnLabel" style="width: 60%">二、施工机具维修费:</div>
|
||||
<div class="columnContent" style="width: 40%">
|
||||
<div class="columnContent" style="width: 20%">
|
||||
¥ {{ Number(agreementContent.repairCost).toFixed(2) }}
|
||||
</div>
|
||||
<div class="columnContent" style="width: 20%">
|
||||
¥ {{ Number(agreementContent.aqRepairCost).toFixed(2) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="tabelColumn">
|
||||
<div class="columnLabel" style="width: 60%">三、施工机具丢失费:</div>
|
||||
<div class="columnContent" style="width: 40%">
|
||||
<div class="columnContent" style="width: 20%">
|
||||
¥ {{ Number(agreementContent.loseCost).toFixed(2) }}
|
||||
</div>
|
||||
<div class="columnContent" style="width: 20%">
|
||||
¥ {{ Number(agreementContent.aqLoseCost).toFixed(2) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="tabelColumn">
|
||||
<div class="columnLabel" style="width: 60%">四、施工机具损坏赔偿费:</div>
|
||||
<div class="columnContent" style="width: 40%">
|
||||
<div class="columnContent" style="width: 20%">
|
||||
¥ {{ Number(agreementContent.scrapCost).toFixed(2) }}
|
||||
</div>
|
||||
<div class="columnContent" style="width: 20%">
|
||||
¥ {{ Number(agreementContent.aqScrapCost).toFixed(2) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="tabelColumn">
|
||||
<div class="columnLabel" style="width: 60%">五、施工机具租赁减免费:</div>
|
||||
<div class="columnContent" style="width: 40%">
|
||||
<div class="columnContent" style="width: 20%">
|
||||
¥ {{ Number(agreementContent.reductionCost).toFixed(2) }}
|
||||
</div>
|
||||
<div class="columnContent" style="width: 20%">
|
||||
¥ {{ Number(agreementContent.aqReductionCost).toFixed(2) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="tabelColumn">
|
||||
<div class="columnLabel" style="width: 60%">小计:</div>
|
||||
<div class="columnContent" style="width: 20%">
|
||||
¥ {{ Number(agreementContent.addMoneySafety).toFixed(2) }}
|
||||
</div>
|
||||
<div class="columnContent" style="width: 20%">
|
||||
¥ {{ Number(agreementContent.addMoneyProject).toFixed(2) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="tabelColumn">
|
||||
<div class="columnLabel" style="width: 20%">费用合计金额(大写):</div>
|
||||
|
|
@ -203,19 +233,23 @@
|
|||
|
||||
<span>部门负责人:</span>
|
||||
|
||||
<img v-if="agreementContent.auditorSignUrl" :src="initImgPath(agreementContent.auditorSignUrl)"
|
||||
style="width: 40px; height: 90px;margin-left: 20px; max-width: 100%;"
|
||||
:style="{ transform: agreementContent.signType == 0 ? 'rotate(-90deg)' : '' }" alt="" />
|
||||
<div style="display: flex;flex-direction: column">
|
||||
<div v-for="(item, index) in agreementContent.signUrlList" :key="index" style="margin-top: -20px;">
|
||||
<img v-if="item.auditorSignUrl" :src="initImgPath(item.auditorSignUrl)"
|
||||
style="width: 40px; max-height: 90px;margin-left: 20px; max-width: 100%;"
|
||||
:style="{ transform: item.signType == 0 ? 'rotate(-90deg)' : '' }" alt="" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="item-new" style="width: 33%">
|
||||
|
||||
<span>承租负责人:</span>
|
||||
<img :src="agreementContent.managerSignUrl"
|
||||
<img :src="agreementContent.signUrlList[0].managerSignUrl"
|
||||
style="width: 40px; height: 90px; max-width: 100%;margin-left: 20px;"
|
||||
:style="{ transform: agreementContent.signType == 0 ? 'rotate(-90deg)' : '' }" alt=""
|
||||
onerror="this.style.display='none'" v-if="agreementContent.managerSignUrl" />
|
||||
:style="{ transform: agreementContent.signUrlList && agreementContent.signUrlList[0].signType == 0 ? 'rotate(-90deg)' : '' }" alt=""
|
||||
onerror="this.style.display='none'" v-if="agreementContent.signUrlList && agreementContent.signUrlList[0].managerSignUrl" />
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -224,10 +258,10 @@
|
|||
<span>核算员:</span>
|
||||
|
||||
|
||||
<img :src="initImgPath(agreementContent.sltSignUrl)"
|
||||
<img :src="initImgPath(agreementContent.signUrlList && agreementContent.signUrlList[0].sltSignUrl)"
|
||||
style="width: 40px; height: 90px; max-width: 100%; margin-left: 20px;"
|
||||
:style="{ transform: agreementContent.signType == 0 ? 'rotate(-90deg)' : '' }" alt=""
|
||||
onerror="this.style.display='none'" v-if="agreementContent.sltSignUrl" />
|
||||
:style="{ transform: agreementContent.signUrlList && agreementContent.signUrlList[0].signType == 0 ? 'rotate(-90deg)' : '' }" alt=""
|
||||
onerror="this.style.display='none'" v-if="agreementContent.signUrlList && agreementContent.signUrlList[0].sltSignUrl" />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -246,7 +280,7 @@
|
|||
|
||||
<script>
|
||||
import { getProjectList, getUnitList, getAgreementInfoById, getUnitListFilterTeam } from '@/api/back/index.js'
|
||||
import { getSltList, costExamine, getSltInfo } from '@/api/cost/cost'
|
||||
import { getSltList, costExamine, getSltAgreementBookApi } from '@/api/cost/cost'
|
||||
import { toChineseAmount } from '@/utils/bonus.js'
|
||||
import vueEasyPrint from 'vue-easy-print'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
|
|
@ -320,7 +354,7 @@ export default {
|
|||
},
|
||||
openPrint: false,
|
||||
// 审批弹窗
|
||||
aform: { status: '2' },
|
||||
aform: { status: '2', remark: '' },
|
||||
//审批弹窗是否开启
|
||||
applyVisible: false,
|
||||
id: '',
|
||||
|
|
@ -335,10 +369,18 @@ export default {
|
|||
loseCost: '', // 丢失费用
|
||||
scrapCost: '', // 报废费用
|
||||
reductionCost: '', // 减免费用
|
||||
aqLeaseCost: '', // 租赁费用
|
||||
aqRepairCost: '', // 维修费用
|
||||
aqLoseCost: '', // 丢失费用
|
||||
aqScrapCost: '', // 报废费用
|
||||
aqReductionCost: '', // 减免费用
|
||||
addMoneySafety: '',//安全费用小计
|
||||
addMoneyProject: '',//施工费用小计
|
||||
costAll: '', // 合计费用
|
||||
costAllUpper: '' // 合计费用大写
|
||||
},
|
||||
dialogTitle: ''
|
||||
dialogTitle: '',
|
||||
currentRow: {},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
|
@ -464,8 +506,10 @@ export default {
|
|||
},
|
||||
//结算审批
|
||||
handleExame(row) {
|
||||
this.currentRow = row
|
||||
this.id = row.id
|
||||
this.agreementIdTemp = row.agreementId
|
||||
this.aform.remark = ''
|
||||
this.applyVisible = true
|
||||
},
|
||||
//提交按钮
|
||||
|
|
@ -474,7 +518,9 @@ export default {
|
|||
id: this.id,
|
||||
status: this.aform.status,
|
||||
remark: this.aform.remark,
|
||||
agreementId: this.agreementIdTemp
|
||||
agreementId: this.agreementIdTemp,
|
||||
settlementType: this.currentRow.settlementType,
|
||||
sltTask: this.currentRow.sltTask
|
||||
}
|
||||
costExamine(param)
|
||||
.then(res => {
|
||||
|
|
@ -496,21 +542,47 @@ export default {
|
|||
},
|
||||
|
||||
async openPrintDialog(row) {
|
||||
this.dialogTitle = row.settlementType == 2 ? '安全工器具' : '机具设备'
|
||||
// this.dialogTitle = row.settlementType == 2 ? '安全工器具' : '机具设备'
|
||||
if (row.settlementType == 1) {
|
||||
this.dialogTitle = '机具设备'
|
||||
} else if (row.settlementType == 2) {
|
||||
this.dialogTitle = '安全工器具'
|
||||
} else {
|
||||
this.dialogTitle = ''
|
||||
}
|
||||
row.enableQuerySltData = true
|
||||
this.openPrint = true
|
||||
try {
|
||||
const res = await getSltInfo([row])
|
||||
const res = await getSltAgreementBookApi(row)
|
||||
console.log('🚀 ~ openPrintDialog ~ res:', res)
|
||||
if (!res.data) return
|
||||
this.agreementContent = res.data
|
||||
this.agreementContent.agreementCode = row.agreementCode
|
||||
this.agreementContent.costAll =
|
||||
this.agreementContent.addMoneySafety =
|
||||
Number(res.data.leaseCost) +
|
||||
Number(res.data.repairCost) +
|
||||
Number(res.data.scrapCost) +
|
||||
Number(res.data.loseCost) -
|
||||
Number(res.data.reductionCost)
|
||||
|
||||
this.agreementContent.addMoneyProject =
|
||||
Number(res.data.aqLeaseCost) +
|
||||
Number(res.data.aqRepairCost) +
|
||||
Number(res.data.aqScrapCost) +
|
||||
Number(res.data.aqLoseCost) -
|
||||
Number(res.data.aqReductionCost)
|
||||
|
||||
this.agreementContent.costAll =
|
||||
Number(res.data.leaseCost) +
|
||||
Number(res.data.repairCost) +
|
||||
Number(res.data.scrapCost) +
|
||||
Number(res.data.loseCost) -
|
||||
Number(res.data.reductionCost) +
|
||||
Number(res.data.aqLeaseCost) +
|
||||
Number(res.data.aqRepairCost) +
|
||||
Number(res.data.aqScrapCost) +
|
||||
Number(res.data.aqLoseCost) -
|
||||
Number(res.data.aqReductionCost)
|
||||
// costAllUpper 中文大写
|
||||
this.agreementContent.costAllUpper = toChineseAmount(this.agreementContent.costAll.toFixed(2))
|
||||
} catch (error) {
|
||||
|
|
@ -749,7 +821,8 @@ export default {
|
|||
children: [
|
||||
new TableCell({
|
||||
...cellOpts,
|
||||
width: { size: 25, type: WidthType.PERCENTAGE },
|
||||
columnSpan: 1,
|
||||
width: { size: 40, type: WidthType.PERCENTAGE },
|
||||
children: [
|
||||
new Paragraph({
|
||||
alignment: AlignmentType.CENTER,
|
||||
|
|
@ -759,7 +832,7 @@ export default {
|
|||
}),
|
||||
new TableCell({
|
||||
...cellOpts,
|
||||
width: { size: 75, type: WidthType.PERCENTAGE },
|
||||
width: { size: 60, type: WidthType.PERCENTAGE },
|
||||
columnSpan: 3,
|
||||
children: [
|
||||
new Paragraph({
|
||||
|
|
@ -776,7 +849,8 @@ export default {
|
|||
children: [
|
||||
new TableCell({
|
||||
...cellOpts,
|
||||
width: { size: 25, type: WidthType.PERCENTAGE },
|
||||
// columnSpan: 1,
|
||||
width: { size: 20, type: WidthType.PERCENTAGE },
|
||||
children: [
|
||||
new Paragraph({
|
||||
alignment: AlignmentType.CENTER,
|
||||
|
|
@ -786,7 +860,7 @@ export default {
|
|||
}),
|
||||
new TableCell({
|
||||
...cellOpts,
|
||||
width: { size: 40, type: WidthType.PERCENTAGE },
|
||||
width: { size: 20, type: WidthType.PERCENTAGE },
|
||||
children: [
|
||||
new Paragraph({
|
||||
alignment: AlignmentType.CENTER,
|
||||
|
|
@ -796,21 +870,15 @@ export default {
|
|||
}),
|
||||
new TableCell({
|
||||
...cellOpts,
|
||||
width: { size: 10, type: WidthType.PERCENTAGE },
|
||||
children: [
|
||||
new Paragraph({ alignment: AlignmentType.CENTER, text: '日期:' })
|
||||
]
|
||||
}),
|
||||
new TableCell({
|
||||
...cellOpts,
|
||||
width: { size: 25, type: WidthType.PERCENTAGE },
|
||||
width: { size: 60, type: WidthType.PERCENTAGE },
|
||||
children: [
|
||||
new Paragraph({
|
||||
alignment: AlignmentType.CENTER,
|
||||
text: data.applyTime
|
||||
text: `日期:` + data.applyTime
|
||||
})
|
||||
]
|
||||
})
|
||||
|
||||
]
|
||||
}),
|
||||
|
||||
|
|
@ -831,20 +899,58 @@ export default {
|
|||
]
|
||||
}),
|
||||
|
||||
// 项目 工机具 安全工器具
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({
|
||||
...cellOpts,
|
||||
width: { size: 40, type: WidthType.PERCENTAGE },
|
||||
children: [
|
||||
new Paragraph({
|
||||
alignment: AlignmentType.CENTER,
|
||||
text: '项目'
|
||||
})
|
||||
]
|
||||
}),
|
||||
new TableCell({
|
||||
...cellOpts,
|
||||
width: { size: 30, type: WidthType.PERCENTAGE },
|
||||
children: [
|
||||
new Paragraph({
|
||||
alignment: AlignmentType.CENTER,
|
||||
text: '工机具'
|
||||
})
|
||||
]
|
||||
}),
|
||||
new TableCell({
|
||||
...cellOpts,
|
||||
width: { size: 30, type: WidthType.PERCENTAGE },
|
||||
children: [
|
||||
new Paragraph({
|
||||
alignment: AlignmentType.CENTER,
|
||||
text: '安全工器具'
|
||||
})
|
||||
]
|
||||
}),
|
||||
]
|
||||
}),
|
||||
|
||||
// 金额明细
|
||||
...[
|
||||
['一、施工机具有偿使用费:', `¥ ${Number(data.leaseCost).toFixed(2)}`],
|
||||
['二、施工机具维修费:', `¥ ${Number(data.repairCost).toFixed(2)}`],
|
||||
['三、施工机具丢失费:', `¥ ${Number(data.loseCost).toFixed(2)}`],
|
||||
['四、施工机具损坏赔偿费:', `¥ ${Number(data.scrapCost).toFixed(2)}`],
|
||||
['五、施工机具租赁减免费:', `¥ ${Number(data.reductionCost).toFixed(2)}`]
|
||||
['一、施工机具有偿使用费:', `¥ ${Number(data.leaseCost).toFixed(2)}`, `¥ ${Number(data.leaseCost).toFixed(2)}`],
|
||||
['二、施工机具维修费:', `¥ ${Number(data.repairCost).toFixed(2)}`, `¥ ${Number(data.leaseCost).toFixed(2)}`],
|
||||
['三、施工机具丢失费:', `¥ ${Number(data.loseCost).toFixed(2)}`, `¥ ${Number(data.leaseCost).toFixed(2)}`],
|
||||
['四、施工机具损坏赔偿费:', `¥ ${Number(data.scrapCost).toFixed(2)}`, `¥ ${Number(data.leaseCost).toFixed(2)}`],
|
||||
['五、施工机具租赁减免费:', `¥ ${Number(data.reductionCost).toFixed(2)}`, `¥ ${Number(data.leaseCost).toFixed(2)}`],
|
||||
['小计:', `¥ ${Number(data.addMoneySafety).toFixed(2)}`, `¥ ${Number(data.addMoneyProject).toFixed(2)}`]
|
||||
].map(
|
||||
([label, value]) =>
|
||||
([label, toolValue, safeValue]) =>
|
||||
new TableRow({
|
||||
children: [
|
||||
// 项目
|
||||
new TableCell({
|
||||
...cellOpts,
|
||||
columnSpan: 2,
|
||||
width: { size: 40, type: WidthType.PERCENTAGE },
|
||||
children: [
|
||||
new Paragraph({
|
||||
alignment: AlignmentType.CENTER,
|
||||
|
|
@ -852,13 +958,27 @@ export default {
|
|||
})
|
||||
]
|
||||
}),
|
||||
|
||||
// 工机具
|
||||
new TableCell({
|
||||
...cellOpts,
|
||||
columnSpan: 2,
|
||||
width: { size: 30, type: WidthType.PERCENTAGE },
|
||||
children: [
|
||||
new Paragraph({
|
||||
alignment: AlignmentType.CENTER,
|
||||
text: value
|
||||
text: toolValue
|
||||
})
|
||||
]
|
||||
}),
|
||||
|
||||
// 安全工器具
|
||||
new TableCell({
|
||||
...cellOpts,
|
||||
width: { size: 30, type: WidthType.PERCENTAGE },
|
||||
children: [
|
||||
new Paragraph({
|
||||
alignment: AlignmentType.CENTER,
|
||||
text: safeValue
|
||||
})
|
||||
]
|
||||
})
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ module.exports = {
|
|||
// 部署生产环境和开发环境下的URL。
|
||||
// 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
|
||||
// 例如 https://www.bonus.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.bonus.vip/admin/,则设置 baseUrl 为 /admin/。
|
||||
publicPath: process.env.NODE_ENV === 'production' ? process.env.VUE_APP_BASE_API == '/iws/jiju-api' ? './' : '/' : '/', // 宏源
|
||||
publicPath: process.env.NODE_ENV === 'production' ? process.env.VUE_APP_BASE_API == '/iws/jiju-api' ? '/iws/mea-web' : '/' : '/', // 宏源
|
||||
// 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)
|
||||
outputDir: 'dist',
|
||||
// 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)
|
||||
|
|
@ -35,7 +35,7 @@ module.exports = {
|
|||
proxy: {
|
||||
// detail: https://cli.vuejs.org/config/#devserver-proxy
|
||||
[process.env.VUE_APP_BASE_API]: {
|
||||
// target: `http://sgwpdm.ah.sgcc.com.cn/iws/jiju-api`, // 产线
|
||||
//target: `http://sgwpdm.ah.sgcc.com.cn/iws/jiju-api`, // 产线
|
||||
// target: `http://192.168.0.96:18080`,//马
|
||||
// target: `http://192.168.0.244:18580`,//测试
|
||||
// target: `http://192.168.2.223:18080`,//山
|
||||
|
|
@ -43,7 +43,7 @@ module.exports = {
|
|||
// target: `http://192.168.0.234:18080`, //阮
|
||||
// target: `http://192.168.137.1:18080`,//
|
||||
// target: `http://172.20.10.9:18080`, // 韩傲宇
|
||||
target: `http://192.168.1.115:18080`, // 韩傲宇
|
||||
target: `http://127.0.0.1:18080`, // 韩傲宇
|
||||
// target: `http://192.168.0.60:18080`, // 赵福海
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
|
|
|
|||
Loading…
Reference in New Issue