@@ -0,0 +1,216 @@ | |||
import request from '@/utils/request' | |||
// 获取摘要列表 | |||
export const summaryListData = () => { | |||
return request({ | |||
url: 'api/finance/summary/listData', | |||
method: 'get' | |||
}) | |||
} | |||
// 获取会计科目列表 | |||
export const subjectData = (query) => { | |||
return request({ | |||
url: 'api/finance/subject/listByUser', | |||
method: 'get', | |||
params: query, | |||
}) | |||
} | |||
// 获取会计科目列表 | |||
export const subjectDataListAll = (params) => { | |||
return request({ | |||
url: 'api/finance/subject/listAll', | |||
method: 'get', | |||
params: params, | |||
}) | |||
} | |||
//保存或新增品凭证 | |||
export function voucherSaveOrUpdate(data) { | |||
return request({ | |||
url: 'api/finance/voucher/saveOrUpdate', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
export function relateVoucher(path, data) { | |||
return request({ | |||
// url: 'api/finance/voucher/relateAssetToVoucher', | |||
url: path, | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
//获取最大凭证号 | |||
export function voucherGetCurrentNum() { | |||
return request({ | |||
url: 'api/finance/voucher/getCurrentNum', | |||
method: 'get' | |||
}) | |||
} | |||
// 保存或新增凭证模板信息 | |||
export const mouldSaveOrUpdate = (data) => { | |||
return request({ | |||
url: 'api/finance/voucher/mould/saveOrUpdate', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
// 模板凭证列表 | |||
export const voucherMouldList = () => { | |||
return request({ | |||
url: 'api/finance/voucher/mould/list', | |||
method: 'get' | |||
}) | |||
} | |||
//查询凭证信息明细 | |||
export const voucherDetail = (data) => { | |||
return request({ | |||
url: 'api/finance/voucher/detail', | |||
method: 'get', | |||
params: data | |||
}) | |||
} | |||
//查询凭证归档动作 | |||
export const archiveVoucher = (data) => { | |||
return request({ | |||
url: 'api/finance/voucher/archiveVoucher', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
//查询辅助核算列表 | |||
export const assistListByAssist = (data) => { | |||
return request({ | |||
url: 'api/finance/assist/listByAssist', | |||
method: 'get', | |||
params: data | |||
}) | |||
} | |||
//通过科目id获取科目余额 | |||
export const getBySubjectId = (data) => { | |||
return request({ | |||
url: 'api/finance/balance/getBySubjectId', | |||
method: 'get', | |||
params: data | |||
}) | |||
} | |||
//上一步 | |||
export const voucherPre = (data) => { | |||
return request({ | |||
url: 'api/finance/voucher/pre', | |||
method: 'get', | |||
params: data | |||
}) | |||
} | |||
//下一步 | |||
export const voucherNext = (data) => { | |||
return request({ | |||
url: 'api/finance/voucher/next', | |||
method: 'get', | |||
params: data | |||
}) | |||
} | |||
//删除附件 | |||
export const voucherDelFile = (data) => { | |||
return request({ | |||
url: 'api/finance/voucher/delFile', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
//模板下载 | |||
export const importTemplate = () => { | |||
return request({ | |||
url: 'api/finance/voucher/importTemplate', | |||
method: 'get', | |||
}) | |||
} | |||
//转入凭证动作 | |||
export const billinVoucher = (data) => { | |||
return request({ | |||
url: 'api/finance/voucher/billinVoucher', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
//转出动作凭证 | |||
export const billoutVoucher = (data) => { | |||
return request({ | |||
url: 'api/finance/voucher/billoutVoucher', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
//获取凭证位置信息 | |||
export const voucherOperatorStatistics = (data) => { | |||
return request({ | |||
url: 'api/finance/voucher/voucherOperatorStatistics', | |||
method: 'get', | |||
params: data | |||
}) | |||
} | |||
//凭证贴票统计 | |||
export const voucherDetailStick = (id) => { | |||
return request({ | |||
url: 'api/finance/voucher/voucherDetail/' + id, | |||
method: 'get' | |||
}) | |||
} | |||
//凭证打印模板 | |||
export const financePrintQuery = (data) => { | |||
return request({ | |||
url: 'api/finance/print/query', | |||
method: 'get', | |||
params: data | |||
}) | |||
} | |||
export const generateBalanceVoucher = (data) => { | |||
return request({ | |||
url: 'api/finance/voucher/generateBalanceVoucher', | |||
method: 'get', | |||
params: data | |||
}) | |||
} | |||
// 模板凭证列表 | |||
export const subjectDatalistByYear = () => { | |||
return request({ | |||
url: 'api/finance/subject/listByYear', | |||
method: 'get' | |||
}) | |||
} | |||
// 查询级联账套下拉 | |||
export function listByDeptId(query) { | |||
return request({ | |||
url: 'api/finance/book/listByDeptId', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 查询用户个人信息 | |||
export function getUserProfile() { | |||
return request({ | |||
url: 'api/system/user/profile/get', | |||
method: 'get' | |||
}) | |||
} |
@@ -0,0 +1,120 @@ | |||
import request from '@/utils/request'; | |||
//结账 | |||
export function balanceCarryOver() { | |||
return request({ | |||
url: '/finance/balance/carryOver', | |||
method: 'post', | |||
}) | |||
} | |||
//反结到上期 | |||
export function balanceCarryOverBack() { | |||
return request({ | |||
url: '/finance/balance/carryOverBack', | |||
method: 'post', | |||
}) | |||
} | |||
//反结所选日期 | |||
export function balanceCarryTo(carryToMonth) { | |||
return request({ | |||
url: '/finance/balance/carryTo', | |||
method: 'post', | |||
params: carryToMonth, | |||
}) | |||
} | |||
//是否断号 | |||
export function isBrokenNumber() { | |||
return request({ | |||
url: '/finance/voucher/isBrokenNumber', | |||
method: 'get', | |||
}) | |||
} | |||
//是否存在未审核的凭证 | |||
export function existNotAudited() { | |||
return request({ | |||
url: '/finance/voucher/existNotAudited', | |||
method: 'get', | |||
}) | |||
} | |||
//是否资产负债表平衡 | |||
export function zcfzBalance() { | |||
return request({ | |||
url: '/finance/balance/zcfzBalance', | |||
method: 'post', | |||
}) | |||
} | |||
//试算平衡 | |||
export function trialBalance() { | |||
return request({ | |||
url: '/finance/balance/trialBalance', | |||
method: 'post', | |||
}) | |||
} | |||
//获取凭证字select选项 | |||
export function getVoucherWordList() { | |||
return request({ | |||
url: '/finance/balance/getVoucherWordList', | |||
method: 'get', | |||
}) | |||
} | |||
//生成凭证 | |||
export const generateVoucher = (data) => { | |||
return request({ | |||
url: '/finance/balance/generateVoucher', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
//结账到12月 | |||
export function handleJz12Month() { | |||
return request({ | |||
url: '/finance/balance/carryOverBatch', | |||
method: 'post', | |||
}) | |||
} | |||
//反结到上年12月份 | |||
export function balanceCarryOverBackToLastYear() { | |||
return request({ | |||
url: '/finance/balance/carryOverBackToLastYear', | |||
method: 'post', | |||
}) | |||
} | |||
//生成损益结转凭证 | |||
export const generateVoucher_sunyijiezhuan = (data) => { | |||
return request({ | |||
url: '/finance/balance/generateVoucher_sunyijiezhuan', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
//生成收益分配凭证 | |||
export const generateVoucher_shouyifenpei = (data) => { | |||
return request({ | |||
url: '/finance/balance/generateVoucher_shouyifenpei', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
// 检查损益类科目余额 | |||
export function checkSYJZ() { | |||
return request({ | |||
url: '/finance/balance/checkSYJZ', | |||
method: 'get', | |||
}) | |||
} |
@@ -0,0 +1,131 @@ | |||
import request from '@/utils/request' | |||
//查询查询当前登录账套信息 年月 | |||
export function getLoginBook() { | |||
return request({ | |||
url: 'api/finance/book/getLoginBook', | |||
method: 'get' | |||
}) | |||
} | |||
//查询凭证信息列表无排序 | |||
export function voucherRelatedList(data) { | |||
return request({ | |||
url: 'api/finance/voucher/listNoPage', | |||
method: 'get', | |||
params: data | |||
}) | |||
} | |||
//查询凭证信息列表 | |||
export function voucherList(data) { | |||
return request({ | |||
url: 'api/finance/voucher/list', | |||
method: 'get', | |||
params: data | |||
}) | |||
} | |||
//删除凭证信息 | |||
export function delVoucher(id, resort) { | |||
return request({ | |||
url: 'api/finance/voucher/remove/' + id, | |||
method: 'get', | |||
params: {resort} | |||
}) | |||
} | |||
//审核凭证信息 | |||
export function voucherAudit(id) { | |||
return request({ | |||
url: 'api/finance/voucher/audit/' + id, | |||
method: 'get' | |||
}) | |||
} | |||
//审核全部凭证信息 | |||
export function voucherAuditAll() { | |||
return request({ | |||
url: 'api/finance/voucher/allAudit/month', | |||
method: 'get' | |||
}) | |||
} | |||
//取消审核凭证信息 | |||
export function cancelVoucherAudit(id) { | |||
return request({ | |||
url: 'api/finance/voucher/cancelAudit/' + id, | |||
method: 'get' | |||
}) | |||
} | |||
//断号重排 | |||
export function voucherResort() { | |||
return request({ | |||
url: 'api/finance/voucher/resort', | |||
method: 'post' | |||
}) | |||
} | |||
//插入排序 | |||
export const voucherInsertSort = (data) => { | |||
return request({ | |||
url: 'api/finance/voucher/insertSort', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
//导出 | |||
export const voucherExport = (data) => { | |||
return request({ | |||
url: 'api/finance/voucher/export', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
// 取消全部审核凭证信息 | |||
export function cancelAuditVoucherMonth(data) { | |||
return request({ | |||
url: 'api/finance/voucher/cancelAuditVoucherMonth', | |||
method: 'post', | |||
data: data, | |||
}) | |||
} | |||
//按年删除凭证 | |||
export function deleteVoucherByYear(year) { | |||
return request({ | |||
url: 'api/finance/voucher/deleteByYear/' + year, | |||
method: 'post' | |||
}) | |||
} | |||
// 多个id查询凭证 | |||
export function voucherDetails(data) { | |||
return request({ | |||
url: 'api/finance/voucher/details/' + data, | |||
method: 'get', | |||
}) | |||
} | |||
// 全部复核 | |||
export function accountAllVoucher(data) { | |||
return request({ | |||
url: 'api/finance/voucher/accountAll', | |||
method: 'post', | |||
data: data, | |||
}) | |||
} | |||
// 取消全部复核凭证信息 | |||
export function cancelAccountVoucherMonth(data) { | |||
return request({ | |||
url: 'api/finance/voucher/cancelAccountVoucherMonth', | |||
method: 'post', | |||
data: data, | |||
}) | |||
} | |||
@@ -0,0 +1,105 @@ | |||
import request from '@/utils/request' | |||
// 查询凭证导入列表 | |||
export function listProof(query) { | |||
return request({ | |||
url: '/finance/proof/list', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 查询凭证导入列表详情 | |||
export function listProofDetail(query) { | |||
return request({ | |||
url: '/finance/proof/listDetail', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 导出凭证导入 | |||
export function exportProof(query) { | |||
return request({ | |||
url: '/finance/proof/export', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 导出凭证导入 | |||
export function exportProofDetail(query) { | |||
return request({ | |||
url: '/finance/proof/export2', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 查询凭证导入详细 | |||
export function getProof(id) { | |||
return request({ | |||
url: '/finance/proof/get/' + id, | |||
method: 'get' | |||
}) | |||
} | |||
// 新增凭证导入 | |||
export function addProof(data) { | |||
return request({ | |||
url: '/proof/proof/add', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
// 修改凭证导入 | |||
export function updateProof(data) { | |||
return request({ | |||
url: '/finance/proof/edit', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
// 删除凭证导入 | |||
export function delProof(id) { | |||
return request({ | |||
url: '/finance/proof/remove/' + id, | |||
method: 'get' | |||
}) | |||
} | |||
//模板下载 | |||
export function importTemplate(){ | |||
return request({ | |||
url: '/finance/proof/importTemplate', | |||
method: 'get', | |||
}) | |||
} | |||
//模板下载 | |||
export const importData = () => { | |||
return request({ | |||
url: '/finance/proof/importData', | |||
method: 'get', | |||
}) | |||
} | |||
//记账 | |||
export function jz (data){ | |||
return request({ | |||
url: '/finance/proof/jz', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
//结账 | |||
export function balanceCarryOverTo12() { | |||
return request({ | |||
url: '/finance/proof/carryOver', | |||
method: 'post', | |||
}) | |||
} |
@@ -0,0 +1,9 @@ | |||
import request from '@/utils/request' | |||
export function mouldDelete(query) { | |||
return request({ | |||
url: '/finance/voucher/mould/delete', | |||
method: 'get', | |||
params: query | |||
}) | |||
} |
@@ -0,0 +1,36 @@ | |||
import request from '@/utils/request' | |||
//查询凭证附件数量 | |||
export function voucherAttachmentCount(data) { | |||
return request({ | |||
url: '/finance/voucher/voucherAttachmentCount', | |||
method: 'get', | |||
params: data | |||
}) | |||
} | |||
//查询凭证数量 | |||
export function voucherCount(data) { | |||
return request({ | |||
url: '/finance/voucher/voucherCount', | |||
method: 'get', | |||
params: data | |||
}) | |||
} | |||
//凭证汇总接口 | |||
export function voucherSumList(data) { | |||
return request({ | |||
url: '/finance/voucher/voucherSumList', | |||
method: 'get', | |||
params: data | |||
}) | |||
} | |||
//汇总余额 | |||
export function computeVoucherToBalance() { | |||
return request({ | |||
url: '/finance/balance/computeVoucherToBalance', | |||
method: 'get' | |||
}) | |||
} |
@@ -153,3 +153,14 @@ export function selectDictLabel(datas, value) { | |||
}) | |||
return actions.join(''); | |||
} | |||
export function array_toMap(arr, byFunc, overriding) | |||
{ | |||
let res = {}; | |||
arr.forEach((x) => { | |||
let a = byFunc(x); | |||
if(!res.hasOwnProperty(a) || overriding) | |||
res[a] = x; | |||
}); | |||
return res; | |||
} |
@@ -4,39 +4,394 @@ | |||
<div class="title"><i></i>凭证详情</div> | |||
<div class="close" @click="close"></div> | |||
</div> | |||
<div class="echarts_main scrollbar"> | |||
<div> | |||
<p>项目名称</p> | |||
<p>{{data.cashflowName}}</p> | |||
<!-- <div class="echarts_main scrollbar">--> | |||
<!-- <div>--> | |||
<!-- <p>项目名称</p>--> | |||
<!-- <p>{{data.cashflowName}}</p>--> | |||
<!-- </div>--> | |||
<!-- <div>--> | |||
<!-- <p>科目编码</p>--> | |||
<!-- <p>{{data.subjectId}}</p>--> | |||
<!-- </div>--> | |||
<!-- <div>--> | |||
<!-- <p>科目名称</p>--> | |||
<!-- <p>{{data.subjectNameAll}}</p>--> | |||
<!-- </div>--> | |||
<!-- <div>--> | |||
<!-- <p>借方金额</p>--> | |||
<!-- <p>{{data.jieAmount}}</p>--> | |||
<!-- </div>--> | |||
<!-- <div>--> | |||
<!-- <p>贷方金额</p>--> | |||
<!-- <p>{{data.daiAmount}}</p>--> | |||
<!-- </div>--> | |||
<!-- <div>--> | |||
<!-- <p>数量</p>--> | |||
<!-- <p>{{data.quantityNum}}</p>--> | |||
<!-- </div>--> | |||
<!-- <div>--> | |||
<!-- <p>单位</p>--> | |||
<!-- <p>{{data.quantityUnit}}</p>--> | |||
<!-- </div>--> | |||
<!-- <div>--> | |||
<!-- <p>凭证摘要</p>--> | |||
<!-- <p>{{data.voucherSummary}}</p>--> | |||
<!-- </div>--> | |||
<!-- </div>--> | |||
<div class="main-content"> | |||
<div class="voucher-title"> | |||
{{ voucherTitle }} | |||
</div> | |||
<div> | |||
<p>科目编码</p> | |||
<p>{{data.subjectId}}</p> | |||
</div> | |||
<div> | |||
<p>科目名称</p> | |||
<p>{{data.subjectNameAll}}</p> | |||
</div> | |||
<div> | |||
<p>借方金额</p> | |||
<p>{{data.jieAmount}}</p> | |||
</div> | |||
<div> | |||
<p>贷方金额</p> | |||
<p>{{data.daiAmount}}</p> | |||
</div> | |||
<div> | |||
<p>数量</p> | |||
<p>{{data.quantityNum}}</p> | |||
</div> | |||
<div> | |||
<p>单位</p> | |||
<p>{{data.quantityUnit}}</p> | |||
</div> | |||
<div> | |||
<p>凭证摘要</p> | |||
<p>{{data.voucherSummary}}</p> | |||
<div class="main-center"> | |||
<div class="voucher-header" v-if="!isTemplate"> | |||
<div class="block mr" > | |||
<div class="title">凭证字:{{searchFormField.voucherWord}}{{searchFormField.voucherId}}号</div> | |||
</div> | |||
<div class="block" > | |||
<div class="title">日期:{{searchFormField.selectDate}}</div> | |||
</div> | |||
<div class="right"> | |||
<div class="block" > | |||
<div class="title">附单据</div> | |||
<div class="title">{{searchFormField.attachedNum}}</div> | |||
<div class="title">张</div> | |||
</div> | |||
<div class="block attachment" @click="poploadVisibleFun" :class="[(uploadImg.uploadImgData.id == null || uploadImg.uploadImgData.id == '') ? 'disabled' : '']">附件</div> | |||
</div> | |||
</div> | |||
<div class="voucher-body"> | |||
<ul class="list header clearfix"> | |||
<li> | |||
<div class="serial"></div> | |||
<div class="abstract">摘 要</div> | |||
<div class="subjects">会 计 科 目</div> | |||
<div class="borrower"> | |||
<div class="moneyTit">借 方 金 额</div> | |||
<div class="moneyUint"> | |||
<span>亿</span> <span>千</span> <span>百</span> | |||
<span>十</span> <span>万</span> <span>千</span> | |||
<span>百</span> <span>十</span> <span>元</span> | |||
<span>角</span> <span class="last">分</span> | |||
</div> | |||
</div> | |||
<div class="theLender"> | |||
<div class="moneyTit">贷 方 金 额</div> | |||
<div class="moneyUint"> | |||
<span>亿</span> <span>千</span> <span>百</span> | |||
<span>十</span> <span>万</span> <span>千</span> | |||
<span>百</span> <span>十</span> <span>元</span> | |||
<span>角</span> <span class="last">分</span> | |||
</div> | |||
</div> | |||
</li> | |||
</ul> | |||
<ul class="list body clearfix"> | |||
<li v-for="(item, index) in chargeItme.items" :key="index + 1"> | |||
<div class="serial"> | |||
<span class="seq">{{ index + 1 }}</span> | |||
<!-- <div class="operateIcon">--> | |||
<!-- <div class="add-btn"></div>--> | |||
<!-- <div class="remove-btn"></div>--> | |||
<!-- </div>--> | |||
</div> | |||
<div class="abstract"> | |||
<div class="displayText abstractText" v-show="chargeItme.dataStatus[index].voucherSummary">{{ item.voucherSummary }}</div> | |||
<!-- <div class="abstractMore" :class="{show: !chargeItme.dataStatus[index].voucherSummary,}"></div>--> | |||
<!-- :popper-append-to-body="false" --> | |||
<el-autocomplete v-model="item.voucherSummary" placeholder="请输入内容" :popper-append-to-body="false" :ref="'voucherSummary' + index" | |||
v-if="!chargeItme.dataStatus[index].voucherSummary" class="abstract-select"> | |||
<template slot-scope="{ item }"> | |||
<div class="name"> | |||
{{ (item.value = item.summary) }} | |||
</div> | |||
</template> | |||
</el-autocomplete> | |||
</div> | |||
<div class="subjects"> | |||
<div class="displayText subjectsText" v-show="chargeItme.dataStatus[index].subjectNameAll"> | |||
<p class="subjectsType"> | |||
{{ item.subjectId + " " }}{{ item.subjectNameAll }} | |||
</p> | |||
<p class="subjectsBalanceOrigin" v-if="item.subjectMoney !== '' && (item.jieAmount != '' || item.daiAmount != '')"> | |||
之前余额:<span :class="[item.subjectMoney < 0 ? 'red' : '']">{{(item.subjectMoney * 100 / 100).toFixed(2)}}</span> | |||
</p> | |||
<p class="subjectsBalance" v-if="item.subjectMoney !== ''"> | |||
余额:<span :class="[calcDetailBalance(item) < 0 ? 'red' : '']">{{(calcDetailBalance(item) * 100 / 100).toFixed(2)}}</span> | |||
</p> | |||
</div> | |||
<div class="quantity_main" v-show="chargeItme.dataStatus[index].isQuantity"> | |||
<div class="line-quan"> | |||
<div class="title">数量:</div><input type="text" class="ipt" placeholder="请输入" :disabled="isCheckedBy" v-model="item.quantityNum" @input="quanNumValid(item.quantityNum,'quantityNum',index)" /> | |||
</div> | |||
<div class="line-quan"> | |||
<div class="title">单位:</div><input type="text" class="ipt" placeholder="请输入" :disabled="isCheckedBy" v-model="item.quantityUnit" /> | |||
</div> | |||
</div> | |||
<div class="iconMore_block" v-if="!isView && !isCheckedBy"> | |||
<div class="copyMore" :class="{show: !chargeItme.dataStatus[index].subjectNameAll, isCopyShow:item.subjectId!=''}" title="复制科目"></div> | |||
<div class="pasteMore" :class="{show: !chargeItme.dataStatus[index].subjectNameAll}" title="粘贴科目"></div> | |||
<div class="subjectsMore" :class="{ show: !chargeItme.dataStatus[index].subjectNameAll,}" title="更多科目"></div> | |||
<div class="contractMore" v-if="chargeItme.dataStatus[index].isContraction && !isModifyType" title="关联合同收款"></div> | |||
</div> | |||
<el-select v-model="item.subjectId" filterable placeholder="请选择" class="subjects-select" :popper-append-to-body="false" :ref="'subjectNameAll' + index" | |||
v-if="!chargeItme.dataStatus[index].subjectNameAll" @blur="blurInput('subjectNameAll', index, 1)" | |||
@change="changeInput('change', 'subjectNameAll', index, 1, item)" | |||
@visible-change="visibleInput($event, 'subjectNameAll', index, 1)" | |||
@keyup.enter.native="changeInput('keydown', 'subjectNameAll', index, 1, item) "> | |||
<el-option class="abstract-option" v-for="(item, length) in SubjectsList" :key="length" :label="item.subjectId + ' ' + item.subjectNameAll" :value="item.subjectId"></el-option> | |||
</el-select> | |||
</div> | |||
<!--计算器背景--> | |||
<div class="computeModuleBg" v-show="chargeItme.dataStatus[index].jieComputeAmount==false" ></div> | |||
<div class="borrower"> | |||
<div class="borrowerText" v-show="chargeItme.dataStatus[index].jieAmount" > | |||
<!-- <span | |||
v-if="item.jieAmount == 0 || item.jieAmount == ''" | |||
></span> --> | |||
<span v-if="item.jieAmount === ''"></span> | |||
<span class="theLenderRed" v-else-if="item.jieAmount < 0"> | |||
{{ -(Number(item.jieAmount) * 100).toFixed(0) }} | |||
</span> | |||
<span v-else> | |||
{{ (Number(item.jieAmount) * 100).toFixed(0) }} | |||
</span> | |||
</div> | |||
<!--借方计算器--> | |||
<div class="computeModule" v-show="chargeItme.dataStatus[index].jieComputeAmount==false" :style="{ width : voucherComputeWidth+'px'}"> | |||
<el-input :ref="'jieComputeModule' + index" v-model="voucherComputeIpt"></el-input> | |||
</div> | |||
<el-input v-model="item.jieAmount" class="borrower-input" :ref="'jieAmount' + index" v-if="!chargeItme.dataStatus[index].jieAmount" maxlength="13" | |||
></el-input> | |||
</div> | |||
<div class="theLender"> | |||
<div class="theLenderText" v-show="chargeItme.dataStatus[index].daiAmount"> | |||
<span v-if="item.daiAmount == 0 || item.daiAmount == ''"></span> | |||
<span class="theLenderRed" v-else-if="item.daiAmount < 0"> | |||
{{ -(Number(item.daiAmount) * 100).toFixed(0) }} | |||
</span> | |||
<span v-else> | |||
{{ (Number(item.daiAmount) * 100).toFixed(0) }} | |||
</span> | |||
</div> | |||
<!--贷方计算器--> | |||
<div class="computeModule" v-show="chargeItme.dataStatus[index].daiComputeAmount==false" :style="{ width : voucherComputeWidth+'px'}"> | |||
<el-input :ref="'daiComputeModule' + index" v-model="voucherComputeIpt"></el-input> | |||
</div> | |||
<el-input v-model="item.daiAmount" class="borrower-input" :ref="'daiAmount' + index" v-if="!chargeItme.dataStatus[index].daiAmount" maxlength="13" | |||
></el-input> | |||
</div> | |||
</li> | |||
</ul> | |||
<ul class="list footer clearfix"> | |||
<li> | |||
<div class="combined">合 计:{{ capitalAmount }}</div> | |||
<div class="borrower"> | |||
<div class="borrowerText"> | |||
<span v-if="debitAmount == 0 || debitAmount == ''"></span> | |||
<span class="theLenderRed" v-else-if="debitAmount < 0">{{ -(Number(debitAmount) * 100).toFixed(0) }}</span> | |||
<span v-else>{{(Number(debitAmount) * 100).toFixed(0)}}</span> | |||
</div> | |||
</div> | |||
<div class="theLender"> | |||
<div class="theLenderText"> | |||
<span v-if="lenderAmount == 0 || lenderAmount == ''"></span> | |||
<span class="theLenderRed" v-else-if="lenderAmount < 0">{{ -(Number(lenderAmount) * 100).toFixed(0) }}</span> | |||
<span v-else>{{(Number(lenderAmount) * 100).toFixed(0)}}</span> | |||
</div> | |||
</div> | |||
</li> | |||
</ul> | |||
</div> | |||
<div class="assist-accounting" v-if="assistAccounting.numRows == '' && (this.$route.query.id != undefined || this.redDashedItems != undefined) && assistAccounting.allDataList.length != 0 && | |||
!( assistAccounting.accordingState && assistAccounting.numRows !== '')"> | |||
<div class="assist-title"> | |||
辅助核算{{ assistAccounting.accordingType }} | |||
</div> | |||
<div class="assist-main voucher-body"> | |||
<ul class="list header clearfix"> | |||
<li> | |||
<div class="companyUnit" :style="{ width: 'calc((100% - 442px) * 0.3)' }">单位</div> | |||
<div class="personal" :style="{ width: 'calc((100% - 442px) * 0.2)' }">个人</div> | |||
<div class="numberOf" :style="{ width: 'calc((100% - 442px) * 0.2)' }">部门</div> | |||
<div class="projects" :style="{ width: 'calc((100% - 442px) * 0.3)' }">项目</div> | |||
<div class="borrower" :style="{ width: '221px' }">借方金额</div> | |||
<div class="theLender" :style="{ width: '221px' }">贷方金额</div> | |||
</li> | |||
</ul> | |||
<ul class="list body clearfix"> | |||
<li v-for="(item, length) in assistAccounting.allDataList" :key="length"> | |||
<div class="companyUnit" :style="{ width: 'calc((100% - 442px) * 0.3)' }"> | |||
<el-select v-model="item.assistTypeId1" placeholder="无" filterable @change="$forceUpdate()" class="andFrom-select" :disabled="true"> | |||
<el-option v-for="(item, length) in assistAccounting.unitSelectList" :key="length" :label="item.name" :value="item.id"></el-option> | |||
</el-select> | |||
</div> | |||
<div class="personal" :style="{ width: 'calc((100% - 442px) * 0.2)' }"> | |||
<el-select placeholder="无" filterable class="andFrom-select" v-model="item.assistTypeId2" @change="$forceUpdate()" :disabled="true"> | |||
<el-option v-for="(item, length) in assistAccounting.personalSelectList" :key="length" :label="item.name" :value="item.id"></el-option> | |||
</el-select> | |||
</div> | |||
<div class="numberOf" :style="{ width: 'calc((100% - 442px) * 0.2)' }"> | |||
<el-select v-model="item.assistTypeId3" placeholder="无" filterable class="andFrom-select" @change="$forceUpdate()" :disabled="true"> | |||
<el-option v-for="(item, length) in assistAccounting.numSelectList" :key="length" :label="item.name" :value="item.id"></el-option> | |||
</el-select> | |||
</div> | |||
<div class="projects" :style="{ width: 'calc((100% - 442px) * 0.3)' }"> | |||
<el-select v-model="item.assistTypeId4" placeholder="无" filterable @change="$forceUpdate()" class="andFrom-select" :disabled="true"> | |||
<el-option v-for="(item, length) in assistAccounting.projectSelectList" :key="length" :label="item.name" :value="item.id"></el-option> | |||
</el-select> | |||
</div> | |||
<div class="borrower" :style="{ width: '221px' }"> | |||
<el-input v-model="item.jieAmount" @input="$forceUpdate()" placeholder="无" class="andFrom-input" :disabled="true" @change="changeAuxiliaryFun('jieAmount', length)"></el-input> | |||
</div> | |||
<div class="theLender" :style="{ width: '221px' }"> | |||
<el-input v-model="item.daiAmount" @input="$forceUpdate()" placeholder="无" class="andFrom-input" :disabled="true" @change="changeAuxiliaryFun('daiAmount', length)"></el-input> | |||
</div> | |||
</li> | |||
</ul> | |||
</div> | |||
</div> | |||
<div class="assist-accounting" v-if="assistAccounting.accordingState && assistAccounting.numRows !== ''"> | |||
<div class="assist-title">辅助核算</div> | |||
<div class="assist-main voucher-body"> | |||
<ul class="list header clearfix"> | |||
<li> | |||
<div class="companyUnit" :style="{ width: computeStyle('dw', assistAccounting.accordingType),}" v-if="assistAccounting.accordingType.includes('1')">单位</div> | |||
<div class="personal" :style="{width: computeStyle('gr', assistAccounting.accordingType),}" v-if="assistAccounting.accordingType.includes('2')">个人</div> | |||
<div class="numberOf" :style="{width: computeStyle('sl', assistAccounting.accordingType),}" v-if="assistAccounting.accordingType.includes('3')">部门</div> | |||
<div class="projects" :style="{width: computeStyle('xm', assistAccounting.accordingType),}" v-if="assistAccounting.accordingType.includes('4')">项目</div> | |||
<div class="borrower">借方金额</div> | |||
<div class="theLender">贷方金额</div> | |||
</li> | |||
</ul> | |||
<ul class="list body clearfix"> | |||
<li v-for="(item, length) in assistAccounting.dataList[assistAccounting.numRows]" :key="length"> | |||
<div class="companyUnit" :style="{width: computeStyle('dw', assistAccounting.accordingType),}" v-if="assistAccounting.accordingType.includes('1')"> | |||
<el-select v-model="assistAccounting.dataList[assistAccounting.numRows][length].assistTypeId1" placeholder="请选择单位" filterable | |||
@change="auxiliaryFun()" class="andFrom-select" :ref="'assistTypeId1' + length" :disabled="!assistAccounting.accordingType.includes('1')"> | |||
<el-option v-for="(item, length) in assistAccounting.unitSelectList" :key="length" :label="item.name" :value="item.id"></el-option> | |||
</el-select> | |||
</div> | |||
<div class="personal" :style="{width: computeStyle('gr', assistAccounting.accordingType),}" v-if="assistAccounting.accordingType.includes('2')"> | |||
<el-select placeholder="请选择个人" filterable class="andFrom-select" v-model="assistAccounting.dataList[assistAccounting.numRows][length].assistTypeId2" | |||
@change="auxiliaryFun()" :ref="'assistTypeId2' + length" :disabled="!assistAccounting.accordingType.includes('2')"> | |||
<el-option v-for="(item, length) in assistAccounting.personalSelectList" :key="length" :label="item.name" :value="item.id"></el-option> | |||
</el-select> | |||
</div> | |||
<div class="numberOf" :style="{width: computeStyle('sl', assistAccounting.accordingType),}" v-if="assistAccounting.accordingType.includes('3')"> | |||
<el-select v-model="assistAccounting.dataList[assistAccounting.numRows][length].assistTypeId3" placeholder="请选择部门" filterable class="andFrom-select" :ref="'assistTypeId3' + length" | |||
@change="auxiliaryFun()" :disabled="!assistAccounting.accordingType.includes('3')"> | |||
<el-option v-for="(item, length) in assistAccounting.numSelectList" :key="length" :label="item.name" :value="item.id"></el-option></el-select> | |||
</div> | |||
<div class="projects" :style="{width: computeStyle('xm', assistAccounting.accordingType),}" v-if="assistAccounting.accordingType.includes('4')"> | |||
<el-select v-model="assistAccounting.dataList[assistAccounting.numRows][length].assistTypeId4" placeholder="请选择项目" filterable :ref="'assistTypeId4' + length" | |||
@change="auxiliaryFun()" class="andFrom-select" :disabled="!assistAccounting.accordingType.includes('4')"> | |||
<el-option v-for="(item, length) in assistAccounting.projectSelectList" :key="length" :label="item.name" :value="item.id"></el-option> | |||
</el-select> | |||
</div> | |||
<div class="borrower"> | |||
<el-input v-model="assistAccounting.dataList[assistAccounting.numRows][length].jieAmount" @input="auxiliaryFun()" placeholder="请输入借方金额" class="andFrom-input" | |||
@change="changeAuxiliaryFun('jieAmount', length)"></el-input> | |||
</div> | |||
<div class="theLender"> | |||
<el-input v-model="assistAccounting.dataList[assistAccounting.numRows][length].daiAmount" @input="auxiliaryFun()" placeholder="请输入贷方金额" class="andFrom-input" | |||
@change="changeAuxiliaryFun('daiAmount', length)"></el-input> | |||
</div> | |||
<div class="operateIcon"> | |||
<i class="add-btn"></i> | |||
<i class="remove-btn"></i> | |||
</div> | |||
</li> | |||
</ul> | |||
</div> | |||
</div> | |||
<div class="voucher-footer" v-if="!isTemplate"> | |||
<div class="prepared-main"> | |||
<p class="prepared">制单员:{{ searchFormField.userName }}</p> | |||
<p class="accountedby"><span class="accountedby-content">记账员:{{ searchFormField.accountedBy }}</span></p> | |||
<p class="audit">审核员:<span v-if="isCheckedBy && approvedcredentials">{{ searchFormField.checkedBy }}</span><span v-else class="audit-placeholder"></span></p> | |||
</div> | |||
<div class="approval-main" v-if="uploadImg.uploadImgData.id!=null && uploadImg.uploadImgData.id!=''"> | |||
<div class="approver_wrap"> | |||
<!-- <div class="approver">理财小组:{{searchFormField.barCodeList}}</div>--> | |||
<!-- <div class="approver_icon"></div>--> | |||
</div> | |||
<div class="approver_time" v-if="!(searchFormField.checkedTime==''||searchFormField.checkedTime==null)">审批时间:{{searchFormField.checkedTime}}</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<el-dialog :title="visiblePop.uploadTitle" :visible.sync="visiblePop.uploadVisible" width="800px" append-to-body :before-close="closeHighShotMeter"> | |||
<div class="upload_attachments"> | |||
<div class="left_updata_main"> | |||
<div class="type_main" v-if="!(isCheckedBy || uploadImg.uploadImgData.id == null || uploadImg.uploadImgData.id == '')"> | |||
<div class="link_div"> | |||
<div class="fj_title">附件类型:</div> | |||
<div class="fj_group"> | |||
<el-radio-group v-model="uploadImg.uploadImgData.fileType"> | |||
<el-radio v-for="item in uploadImg.fileTypeOptions" :key="item.dictValue" :value="item.dictValue" :label="item.dictValue">{{ item.dictLabel }}</el-radio> | |||
</el-radio-group> | |||
</div> | |||
</div> | |||
<div class="link_div"> | |||
只能上传jpg、png、gif、pdf、doc、docx、xlsx、xls、zip文件,且不超过30MB | |||
</div> | |||
</div> | |||
<div class="updata_list" v-loading="uploadImg.attachmentLoading"> | |||
<!-- 1 --> | |||
<div class="flex_block" v-for="(item, index) in uploadImg.fileTypeOptions" :key="index"> | |||
<div class="title">{{ item.dictLabel }}</div> | |||
<div class="content"> | |||
<div v-if="!uploadImg.dealWithFileList[item.dictValue]" class="not_data"> | |||
暂无附件 | |||
</div> | |||
<ul class="ul_wrap" v-else> | |||
<li v-for="(val, len) in uploadImg.dealWithFileList[item.dictValue]" :key="len"> | |||
<div class="icon_success" v-if="!(isCheckedBy || uploadImg.uploadImgData.id == null || uploadImg.uploadImgData.id == '')"></div> | |||
<div class="icon_delete" v-if="!(isCheckedBy || uploadImg.uploadImgData.id == null || uploadImg.uploadImgData.id == '')"></div> | |||
<div class="picture" @click="previewPreview(val,index,len)"> | |||
<img :src="val.url? val.url: uploadImg.baseRoutingUrl + (val.thumUrl || val.fileUrl)" /> | |||
</div> | |||
<div class="picture_title">{{ val.name }}</div> | |||
</li> | |||
</ul> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="right_updata_main" v-if="!(isCheckedBy || uploadImg.uploadImgData.id == null || uploadImg.uploadImgData.id == '')"> | |||
<div class="updata_local"> | |||
<el-upload ref="upload" :action="uploadImg.uploadImgUrl" | |||
accept=".jpg,.png,.gif,.pdf,.doc,.docx,.xlsx,.xls,.zip" :on-success="handlePreview" | |||
:data="uploadImg.uploadImgData" list-type="picture" :headers="uploadImg.uploadImgHeaders" | |||
class="addAccessoryPop" :disabled="isCheckedBy || uploadImg.uploadImgData.id == null || uploadImg.uploadImgData.id == ''" | |||
> | |||
<el-button slot="trigger" size="small" type="primary">本地上传</el-button> | |||
</el-upload> | |||
</div> | |||
<div class="qrCode_main" v-if="searchFormField.qrCode != ''"> | |||
<div class="title">凭证二维码</div> | |||
<div class="qrCode_img"> | |||
<img :src="uploadImg.baseRoutingUrl + searchFormField.qrCode" /> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<span slot="footer" class="dialog-footer"> | |||
<el-button @click="closeHighShotMeter">关 闭</el-button> | |||
</span> | |||
</el-dialog> | |||
<el-image append-to-body style="width: 100%;display: none;" v-for="(item,index) in fileListImg" :src="focusImgUrl" :ref="'preview'+index" :initial-index="initialIndex" :preview-src-list="item"></el-image> | |||
</div> |
@@ -140,12 +140,12 @@ | |||
} | |||
.pop_statistical_desc { | |||
width: 600px; | |||
width: 970px; | |||
margin: 0; | |||
left: 480px; | |||
top: 180px; | |||
padding-bottom: 1.04vw !important; | |||
overflow: hidden; | |||
.head_main { | |||
.title { | |||
@@ -180,3 +180,775 @@ | |||
} | |||
} | |||
} | |||
.main-content { | |||
background: #fff url("white_makai.png") repeat; | |||
color: #333333; | |||
.main-center { | |||
.voucher-header { | |||
padding: 10px 20px; | |||
height: 52px; | |||
.right { | |||
float: right; | |||
} | |||
.block { | |||
float: left; | |||
height: 32px; | |||
.title { | |||
float: left; | |||
font-size: 14px; | |||
line-height: 32px; | |||
} | |||
.voucherId { | |||
width: 60px; | |||
float: left; | |||
margin: 0 8px 0 2px; | |||
} | |||
::v-deep { | |||
.voucherId .el-input__inner, | |||
.voucherWord .el-input__inner, | |||
.selectDate .el-input__inner, | |||
.attachedNum .el-input__inner { | |||
border: 0; | |||
border-radius: 0; | |||
background: none; | |||
border-bottom: 1px solid #CACBCC; | |||
} | |||
} | |||
.voucherWord { | |||
width: 60px; | |||
float: left; | |||
margin-right: 8px; | |||
} | |||
.attachedNum { | |||
width: 53px; | |||
float: left; | |||
margin: 0 6px 0 6px; | |||
} | |||
&.mr { | |||
margin-right: 40px; | |||
} | |||
.selectDate { | |||
width: 130px; | |||
} | |||
&.attachment, | |||
&.note { | |||
font-size: 14px; | |||
line-height: 32px; | |||
margin-left: 20px; | |||
color: #3385ff; | |||
cursor: pointer; | |||
position: relative; | |||
&.disabled { | |||
color: #999; | |||
} | |||
.note-main { | |||
position: absolute; | |||
width: 240px; | |||
color: #333; | |||
line-height: 25px; | |||
background: #fff; | |||
right: 0; | |||
top: 40px; | |||
z-index: 9; | |||
} | |||
} | |||
} | |||
} | |||
.voucher-body { | |||
padding-bottom: 20px; | |||
.list { | |||
// width: 960px; | |||
margin: 0 20px 0 20px; | |||
line-height: 60px; | |||
text-align: center; | |||
padding: 0; | |||
border-left: 1px solid #CACBCC; | |||
border-top: 1px solid #CACBCC; | |||
&.body { | |||
border-top: 0 none; | |||
li { | |||
position: relative; | |||
} | |||
.borrower, | |||
.theLender, | |||
.abstract, | |||
.serial, | |||
.subjects { | |||
height: 62px; | |||
} | |||
.borrower, | |||
.theLender { | |||
background: url("1410MoneyUint.png") repeat-y; | |||
} | |||
.computeModuleBg{ | |||
width: 100vw; | |||
height: 100vh; | |||
position: fixed; | |||
top: 0; | |||
left: 0; | |||
z-index: 2001; | |||
} | |||
.displayText { | |||
font-size: 13px; | |||
text-align: left; | |||
padding: 0 5px; | |||
vertical-align: top; | |||
line-height: 20px; | |||
height: 62px; | |||
overflow: hidden; | |||
&.abstractText { | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: space-around; | |||
} | |||
&.subjectsText { | |||
padding-top: 5px; | |||
.subjectsType { | |||
margin: 0; | |||
padding: 0; | |||
line-height: 51px; | |||
} | |||
.subjectsBalance { | |||
position: absolute; | |||
bottom: 5px; | |||
right: 5px; | |||
margin: 0; | |||
padding: 0; | |||
font-size: 12px; | |||
font-weight: normal; | |||
color: #999; | |||
.red { | |||
color: red; | |||
} | |||
} | |||
.subjectsBalanceOrigin { | |||
position: absolute; | |||
top: 5px; | |||
right: 5px; | |||
margin: 0; | |||
padding: 0; | |||
font-size: 12px; | |||
font-weight: normal; | |||
color: #999; | |||
.red { | |||
color: red; | |||
} | |||
} | |||
} | |||
} | |||
.abstract:hover { | |||
.abstractMore { | |||
display: block; | |||
} | |||
} | |||
.subjects:hover { | |||
.subjectsMore{display: block;} | |||
.pasteMore{display: block;} | |||
.isCopyShow{ | |||
display: block; | |||
} | |||
} | |||
.subjects { | |||
::v-deep { | |||
.el-input__suffix-inner { | |||
display: none; | |||
} | |||
} | |||
.quantity_main{ | |||
position: absolute; | |||
height: 16px; | |||
width: 70%; | |||
line-height: 16px; | |||
font-size: 12px; | |||
z-index: 99; | |||
left: 8px; | |||
bottom: 6px; | |||
max-width: 240px; | |||
display: flex; | |||
.line-quan{ | |||
flex: 1; | |||
display: flex; | |||
.title{ | |||
width: 36px; | |||
} | |||
.ipt{ | |||
width: 62px; | |||
height: 16px; | |||
border: 0 none; | |||
background: transparent; | |||
border-bottom:1px solid #a7d9f5; | |||
// border-radius: 3px; | |||
outline:none; | |||
padding:0 3px; | |||
} | |||
} | |||
} | |||
} | |||
.abstractMore, | |||
.subjectsMore, | |||
.contractMore, | |||
.copyMore, | |||
.pasteMore { | |||
width: 20px; | |||
height: 20px; | |||
background: url("addVoucherTem_ico.png") | |||
no-repeat; | |||
background-size: 100% auto; | |||
display: none; | |||
cursor: pointer; | |||
&.show { | |||
display: block; | |||
} | |||
} | |||
.abstractMore{ | |||
position: absolute; | |||
right: 10px; | |||
top: 20px; | |||
z-index: 9999; | |||
} | |||
.iconMore_block{ | |||
position: absolute; | |||
right: 10px; | |||
top: 20px; | |||
z-index: 9999; | |||
width: 85px; | |||
display: flex; | |||
justify-content:flex-end; | |||
.subjectsMore { | |||
background: url("addVoucherTem_ico2.png") | |||
no-repeat; | |||
background-size: 100% auto; | |||
} | |||
.contractMore{ | |||
background: url("addVoucherTem_ico3.png") | |||
no-repeat; | |||
background-size: 100% auto; | |||
display: block; | |||
// margin-left: 10px; | |||
} | |||
.copyMore{ | |||
background: url("addVoucherTem_ico4.png") | |||
no-repeat; | |||
background-size: 100% auto ; | |||
// display: block; | |||
// margin-left: 10px; | |||
} | |||
.pasteMore{ | |||
background: url("addVoucherTem_ico5.png") | |||
no-repeat; | |||
background-size: 100% auto ; | |||
// display: block; | |||
// margin-left: 10px; | |||
} | |||
} | |||
.borrowerText, | |||
.theLenderText { | |||
font-weight: bold; | |||
font-size: 14px; | |||
letter-spacing: 11px; | |||
overflow: hidden; | |||
text-align: right; | |||
margin-right: -5px; | |||
height: 62px; | |||
font-family: "tahoma"; | |||
.theLenderRed { | |||
color: red; | |||
} | |||
} | |||
.computeModule{ | |||
position: absolute; | |||
height:62px; | |||
border:1px solid #CACBCC; | |||
top: -62px; | |||
z-index: 9999; | |||
background: #fff; | |||
right: 0; | |||
.el-input{ | |||
height: 62px; | |||
::v-deep{ | |||
.el-input__inner{ | |||
height: 60px !important; | |||
} | |||
} | |||
} | |||
} | |||
::v-deep { | |||
.abstract-select { | |||
width: 100%; | |||
} | |||
.abstract-select .el-input__inner { | |||
height: 60px; | |||
width: 100%; | |||
border-radius: 0; | |||
} | |||
.abstract-select .name { | |||
text-align: left; | |||
} | |||
.subjects-select { | |||
width: 100%; | |||
position: relative; | |||
z-index: 100; | |||
} | |||
.subjects-select .el-input__inner { | |||
height: 60px; | |||
border-radius: 0; | |||
width: 100%; | |||
} | |||
.borrower-input .el-input__inner { | |||
height: 60px; | |||
border-radius: 0; | |||
} | |||
} | |||
} | |||
&.footer { | |||
border-top: 0 none; | |||
.combined { | |||
width: calc(100% - 447px); | |||
font-weight: bold; | |||
margin-left: 5px; | |||
text-align: left; | |||
font-size: 13px; | |||
float: left; | |||
border-right: 1px solid #CACBCC; | |||
} | |||
.borrower, | |||
.theLender { | |||
background: url("1410MoneyUint.png") repeat-y; | |||
height: 62px; | |||
} | |||
.borrower .borrowerText, | |||
.theLender .theLenderText { | |||
font-weight: bold; | |||
font-size: 14px; | |||
letter-spacing: 11px; | |||
overflow: hidden; | |||
text-align: right; | |||
margin-right: -5px; | |||
font-family: "tahoma"; | |||
.borrowerText { | |||
color: red; | |||
} | |||
} | |||
} | |||
&.header li { | |||
font-size: 12px; | |||
font-weight: bold; | |||
background: rgba(35, 134, 238, 0.04); | |||
.moneyTit { | |||
height: 30px; | |||
font-size: 14px; | |||
line-height: 30px; | |||
border-bottom: 1px solid #CACBCC; | |||
} | |||
.moneyUint { | |||
height: 31px; | |||
line-height: 30px; | |||
background: url("1410MoneyUint.png") repeat-y; | |||
span { | |||
float: left; | |||
display: inline; | |||
width: 19px; | |||
height: 100%; | |||
margin-right: 1px; | |||
text-align: center; | |||
font-size: 12px; | |||
} | |||
} | |||
} | |||
&.body li { | |||
&:hover { | |||
background: rgba(35, 134, 238, 0.08); | |||
.serial { | |||
//.seq { | |||
// display: none; | |||
//} | |||
//.operateIcon { | |||
// display: block; | |||
//} | |||
} | |||
} | |||
} | |||
li { | |||
list-style: none; | |||
height: 62px; | |||
border-bottom: 1px solid #CACBCC; | |||
&.abstract-option { | |||
height: 34px; | |||
border-bottom: 0 none; | |||
} | |||
} | |||
.abstract { | |||
width: calc((100% - 542px) * 0.4); | |||
float: left; | |||
border-right: 1px solid #CACBCC; | |||
height: 62px; | |||
position: relative; | |||
font-size: 14px; | |||
} | |||
.serial { | |||
width: 100px; | |||
float: left; | |||
border-right: 1px solid #CACBCC; | |||
height: 62px; | |||
.seq { | |||
font-size: 12px; | |||
} | |||
.operateIcon { | |||
display: none; | |||
text-align: center; | |||
line-height: 62px; | |||
padding-top: 3px; | |||
.add-btn, | |||
.remove-btn { | |||
cursor: pointer; | |||
width: 17px; | |||
height: 16px; | |||
display: inline-block; | |||
} | |||
.add-btn { | |||
margin-right: 8px; | |||
background: url("3020AddVoucherLine.png") | |||
center center no-repeat; | |||
} | |||
.remove-btn { | |||
background: url("3030DeleteVoucherLine.png") | |||
center center no-repeat; | |||
} | |||
} | |||
} | |||
.subjects { | |||
width: calc((100% - 542px) * 0.6); | |||
float: left; | |||
border-right: 1px solid #CACBCC; | |||
height: 62px; | |||
position: relative; | |||
font-size: 14px; | |||
} | |||
.borrower, | |||
.theLender { | |||
width: 221px; | |||
float: left; | |||
border-right: 1px solid #CACBCC; | |||
position: relative; | |||
} | |||
} | |||
} | |||
.assist-accounting { | |||
padding: 0 20px 20px; | |||
.assist-title { | |||
font-size: 14px; | |||
margin-bottom: 14px; | |||
} | |||
.assist-main { | |||
&.voucher-body { | |||
li { | |||
height: 42px; | |||
line-height: 40px; | |||
position: relative; | |||
border-right: 1px solid #CACBCC; | |||
&:hover { | |||
.operateIcon { | |||
display: block; | |||
} | |||
} | |||
} | |||
.list { | |||
margin: 0; | |||
line-height: 40px; | |||
.companyUnit, | |||
.personal, | |||
.numberOf, | |||
.projects { | |||
float: left; | |||
border-right: 1px solid #CACBCC; | |||
height: 40px; | |||
width: 129px; | |||
.andFrom-select { | |||
width: 100%; | |||
height: 40px; | |||
} | |||
} | |||
.borrower, | |||
.theLender { | |||
height: 40px; | |||
} | |||
.companyUnit { | |||
width: 130px; | |||
} | |||
.operateIcon { | |||
display: none; | |||
text-align: center; | |||
line-height: 48px; | |||
position: absolute; | |||
right: 8px; | |||
top: 0; | |||
z-index: 99; | |||
.add-btn, | |||
.remove-btn { | |||
cursor: pointer; | |||
width: 17px; | |||
height: 16px; | |||
display: inline-block; | |||
} | |||
.add-btn { | |||
margin-right: 8px; | |||
background: url("3020AddVoucherLine.png") | |||
center center no-repeat; | |||
} | |||
.remove-btn { | |||
background: url("3030DeleteVoucherLine.png") | |||
center center no-repeat; | |||
} | |||
} | |||
} | |||
} | |||
} | |||
} | |||
.voucher-footer { | |||
padding: 0 20px 20px; | |||
.prepared-main{ | |||
font-size: 14px; | |||
line-height: 20px; | |||
height: 20px; | |||
margin-bottom: 5px; | |||
.prepared { | |||
float: left; | |||
margin: 0; | |||
display: inline-block; | |||
width: 33%; | |||
} | |||
.accountedby { | |||
float: left; | |||
margin: 0; | |||
display: inline-block; | |||
width: 34%; | |||
text-align: center; | |||
.accountedby-content { | |||
text-align: left; | |||
display: inline-block; | |||
min-width: 100px; | |||
} | |||
} | |||
.audit { | |||
float: right; | |||
margin: 0; | |||
display: inline-block; | |||
width: 33%; | |||
text-align: right; | |||
.audit-placeholder { | |||
display: inline-block; | |||
min-width: 30px; | |||
} | |||
} | |||
} | |||
.approval-main{ | |||
font-size: 14px; | |||
line-height: 20px; | |||
display: flex; | |||
justify-content: space-between; | |||
.approver_wrap{display: flex; justify-content:flex-start;} | |||
.approver_icon{ | |||
width: 20px; | |||
height: 20px; | |||
background: url('voucher_scanning.png') no-repeat; | |||
background-size: 100% 100%; | |||
margin-left: 12px; | |||
cursor: pointer; | |||
} | |||
.approver_time{ | |||
flex:1; | |||
text-align: right; | |||
} | |||
} | |||
} | |||
} | |||
} | |||
.voucher-title { | |||
padding: 20px 0 0; | |||
text-align: center; | |||
color: #333; | |||
font-size: 19px; | |||
letter-spacing: 3.5px; | |||
line-height: 25px; | |||
font-weight: bold; | |||
} | |||
.el-dialog-div { | |||
height: 60vh; | |||
overflow: auto; | |||
} | |||
.upload_attachments { | |||
display: flex; | |||
.left_updata_main { | |||
flex: 1; | |||
.type_main { | |||
display: flex; | |||
flex-flow: column; | |||
height: 70px; | |||
.link_div { | |||
flex: 1; | |||
display: flex; | |||
font-size: 13px; | |||
align-items: center; | |||
.fj_title { | |||
width: 70px; | |||
font-size: 14px; | |||
} | |||
.fj_group { | |||
flex: 1; | |||
::v-deep { | |||
.el-radio { | |||
margin-right: 14px; | |||
} | |||
.el-radio__inner { | |||
width: 13px; | |||
height: 13px; | |||
} | |||
.el-radio__label { | |||
font-size: 13px; | |||
} | |||
} | |||
} | |||
} | |||
} | |||
.updata_list { | |||
.flex_block { | |||
border: 1px dashed #d7d7d7; | |||
padding-top: 10px; | |||
border-radius: 5px; | |||
display: flex; | |||
margin-bottom: 10px; | |||
&:nth-child(4) { | |||
margin-bottom: 0; | |||
} | |||
.title { | |||
width: 40px; | |||
display: flex; | |||
justify-content: center; /* 相对父元素水平居中 */ | |||
align-items: center; /* 子元素相对父元素垂直居中 */ | |||
text-align: center; | |||
padding: 0 10px 10px; | |||
color: #218ff1; | |||
} | |||
.content { | |||
flex: 1; | |||
.ul_wrap { | |||
padding: 0; | |||
margin: 0; | |||
list-style: none; | |||
display: flex; | |||
// justify-content: space-between; | |||
flex-wrap: wrap; | |||
li { | |||
width: 60px; | |||
height: 80px; | |||
margin-right: 12px; | |||
margin-bottom: 10px; | |||
position: relative; | |||
cursor: pointer; | |||
.icon_success, | |||
.icon_delete { | |||
width: 13px; | |||
height: 13px; | |||
background: url("uploaded_component_success.png") | |||
no-repeat; | |||
background-size: 100% 100%; | |||
position: absolute; | |||
right: -5px; | |||
top: -5px; | |||
} | |||
.icon_delete { | |||
background: url("uploaded_component_delete.png") | |||
no-repeat; | |||
background-size: 100% 100%; | |||
display: none; | |||
} | |||
&:hover { | |||
.icon_delete { | |||
display: block; | |||
} | |||
} | |||
.picture { | |||
width: 60px; | |||
height: 60px; | |||
img { | |||
width: 60px; | |||
height: 60px; | |||
} | |||
} | |||
.picture_title { | |||
height: 30px; | |||
line-height: 25px; | |||
overflow: hidden; | |||
text-overflow: ellipsis; | |||
white-space: nowrap; | |||
text-align: center; | |||
font-size: 12px; | |||
} | |||
} | |||
} | |||
} | |||
} | |||
} | |||
} | |||
.right_updata_main { | |||
width: 285px; | |||
padding-left: 25px; | |||
.updata_local { | |||
height: 70px; | |||
display: flex; | |||
justify-content: center; /* 相对父元素水平居中 */ | |||
align-items: center; /* 子元素相对父元素垂直居中 */ | |||
} | |||
.high_shot { | |||
border: 1px dashed #d7d7d7; | |||
border-radius: 5px; | |||
padding: 0 30px; | |||
.title { | |||
// font-size: 14px; | |||
// height: 30px; | |||
// line-height: 30px; | |||
// margin-top: 5px; | |||
// margin-bottom: 2px; | |||
text-align: center; | |||
padding: 10px 0; | |||
} | |||
} | |||
.qrCode_main { | |||
margin-top: 26px; | |||
.title { | |||
line-height: 30px; | |||
text-align: center; | |||
font-size: 14px; | |||
color: #1e1e1e; | |||
margin-bottom: 8px; | |||
} | |||
.qrCode_img { | |||
width: 75px; | |||
height: 75px; | |||
margin: 0 auto; | |||
img { | |||
width: 75px; | |||
height: 75px; | |||
} | |||
} | |||
} | |||
// <div class="qrCode_main"> | |||
// <div class="title">高拍仪上传</div> | |||
// <div class="qrCode_img"></div> | |||
// </div> | |||
} | |||
} |
@@ -41,12 +41,8 @@ | |||
<p>{{data.assetType}}</p> | |||
</div> | |||
<div> | |||
<p>原值</p> | |||
<p>{{data.originalValue}}</p> | |||
</div> | |||
<div> | |||
<p>天数</p> | |||
<p>{{data.days}}</p> | |||
<p>经营属性</p> | |||
<p>{{data.operationType}}</p> | |||
</div> | |||
<div> | |||
<p>增加方式</p> | |||
@@ -60,6 +56,27 @@ | |||
<p>使用情况</p> | |||
<p>{{data.useType}}</p> | |||
</div> | |||
<div> | |||
<p>资产状态</p> | |||
<p>{{data.assetStatus}}</p> | |||
</div> | |||
<div> | |||
<p>扶贫资产</p> | |||
<p>{{data.isFormAsset}}</p> | |||
</div> | |||
<div> | |||
<p>管理人</p> | |||
<p>{{data.manager}}</p> | |||
</div> | |||
<div> | |||
<p>履约情况</p> | |||
<p>{{data.agreeType}}</p> | |||
</div> | |||
<div> | |||
<p>存在权属纠纷</p> | |||
<p>{{data.dispute}}</p> | |||
</div> | |||
<div> | |||
<p>数量/建筑面积</p> | |||
<p>{{data.quantity}}</p> | |||
@@ -69,13 +86,29 @@ | |||
<p>{{data.unit}}</p> | |||
</div> | |||
<div> | |||
<p>坐落位置</p> | |||
<p>{{data.location}}</p> | |||
<p>原值</p> | |||
<p>{{data.originalValue}}</p> | |||
</div> | |||
<div> | |||
<p>残值率 N%</p> | |||
<p>{{data.residualsRate}}</p> | |||
</div> | |||
<div> | |||
<p>折旧方式</p> | |||
<p>{{data.depreciationType}}</p> | |||
</div> | |||
<div> | |||
<p>累计折旧</p> | |||
<p>{{data.depreciationValue}}</p> | |||
</div> | |||
<div> | |||
<p>备注</p> | |||
<p>{{data.remark}}</p> | |||
</div> | |||
<div> | |||
<p>附件</p> | |||
<p>{{data.remark}}</p> | |||
</div> | |||
</div> | |||
<div class="echarts_main scrollbar" v-if="type == '4' || type == '5' || type == '6'"> | |||
<div> | |||
@@ -18,9 +18,9 @@ export default [ | |||
value: '0' | |||
}, | |||
{ | |||
name: '待借款(万元)', | |||
name: '待结款(万元)', | |||
icon: require('./2.png'), | |||
value: '0' | |||
} | |||
] | |||
] | |||
] |
@@ -1,4 +1,4 @@ | |||
<Pannel title="资产负债分析" height="232"> | |||
<Pannel title="资源负债分析" height="232"> | |||
<table> | |||
<tr v-for="line in data"> | |||
<td v-for="item in line"> | |||
@@ -6,4 +6,4 @@ | |||
</td> | |||
</tr> | |||
</table> | |||
</Pannel> | |||
</Pannel> |
@@ -231,6 +231,22 @@ export default { | |||
], | |||
}; | |||
}, | |||
watch: { | |||
'queryParams.deptId': { | |||
handler: function () { | |||
this.commitDept(this.queryParams.deptId); | |||
}, | |||
immediate: true, // 立即执行 | |||
}, | |||
deptLength: { | |||
handler: function () { | |||
//console.log(this.deptLength); | |||
this.commitDeptLength(this.deptLength); | |||
}, | |||
immediate: true, // 立即执行 | |||
} | |||
}, | |||
computed: { | |||
}, | |||
created () { | |||
@@ -269,8 +285,17 @@ export default { | |||
}) | |||
}, | |||
methods: { | |||
commitDept (deptId) { | |||
this.$store.commit('SET_DEPTID', deptId); | |||
}, | |||
commitDeptLength (length) { | |||
this.$store.commit('SET_DEPTIDLENGTH', length); | |||
}, | |||
commitYear (year) { | |||
this.$store.commit('SET_YEAR', year); | |||
}, | |||
openImage (url) { | |||
console.log(url) | |||
//console.log(url) | |||
this.dialogImageUrl = url; | |||
this.dialogVisible = true; | |||
}, | |||
@@ -394,7 +419,7 @@ export default { | |||
// // 获取资源列表 | |||
this.getResourceList(deptId); | |||
let dept2 = this.addrOptions[0]; | |||
//console.log(this.addrOptions, 'this.addrOptions'); | |||
////console.log(this.addrOptions, 'this.addrOptions'); | |||
if (dept2.deptLevel === '5') { | |||
// 登录身份为市级领导 | |||
this.userRole = 'cityLeader'; | |||
@@ -510,7 +535,7 @@ export default { | |||
}, | |||
// 创建矢量数据源 | |||
addDeptLayer (nextDeptSet, locationIcon) { | |||
//console.log('nextDeptSet', nextDeptSet); | |||
////console.log('nextDeptSet', nextDeptSet); | |||
let features = []; | |||
nextDeptSet.forEach(item => { | |||
let fs = gis.getFeature(item, this.yellowIcon) | |||
@@ -534,7 +559,7 @@ export default { | |||
if (item.theGeom != null && item.theGeom !== '') { | |||
const { useType } = item | |||
let color = this.LegendData[useType - 1 + ''] | |||
console.log(color) | |||
//console.log(color) | |||
if (color){ | |||
let fs = gis.getFeature3(item, color.iconStyle.background, color.iconStyle.borderColor) | |||
features.push(fs); | |||
@@ -404,16 +404,16 @@ export default { | |||
let urls = ""; | |||
let type = ""; | |||
if (ext == "xlsx" || ext == "xls") { | |||
urls = require("@/assets/images/icon_excel.jpg"); | |||
urls = require("./icon_excel.jpg"); | |||
type = 'excel'; | |||
} else if (ext == "doc" || ext == "docx") { | |||
urls = require("@/assets/images/icon_word.jpg"); | |||
urls = require("./icon_word.jpg"); | |||
type = 'word'; | |||
} else if (ext == "pdf") { | |||
urls = require("@/assets/images/icon_pdf.jpg"); | |||
urls = require("./icon_pdf.jpg"); | |||
type = 'pdf'; | |||
} else if (ext == "zip") { | |||
urls = require("@/assets/images/icon_zip.jpg"); | |||
urls = require("./icon_zip.jpg"); | |||
type = 'zip'; | |||
} else { | |||
urls = '/api' + UattachmentList[i].fileUrl; | |||