@@ -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(''); | 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="title"><i></i>凭证详情</div> | ||||
<div class="close" @click="close"></div> | <div class="close" @click="close"></div> | ||||
</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> | ||||
<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> | ||||
</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> | </div> |
@@ -140,12 +140,12 @@ | |||||
} | } | ||||
.pop_statistical_desc { | .pop_statistical_desc { | ||||
width: 600px; | |||||
width: 970px; | |||||
margin: 0; | margin: 0; | ||||
left: 480px; | left: 480px; | ||||
top: 180px; | top: 180px; | ||||
padding-bottom: 1.04vw !important; | padding-bottom: 1.04vw !important; | ||||
overflow: hidden; | |||||
.head_main { | .head_main { | ||||
.title { | .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> | <p>{{data.assetType}}</p> | ||||
</div> | </div> | ||||
<div> | <div> | ||||
<p>原值</p> | |||||
<p>{{data.originalValue}}</p> | |||||
</div> | |||||
<div> | |||||
<p>天数</p> | |||||
<p>{{data.days}}</p> | |||||
<p>经营属性</p> | |||||
<p>{{data.operationType}}</p> | |||||
</div> | </div> | ||||
<div> | <div> | ||||
<p>增加方式</p> | <p>增加方式</p> | ||||
@@ -60,6 +56,27 @@ | |||||
<p>使用情况</p> | <p>使用情况</p> | ||||
<p>{{data.useType}}</p> | <p>{{data.useType}}</p> | ||||
</div> | </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> | <div> | ||||
<p>数量/建筑面积</p> | <p>数量/建筑面积</p> | ||||
<p>{{data.quantity}}</p> | <p>{{data.quantity}}</p> | ||||
@@ -69,13 +86,29 @@ | |||||
<p>{{data.unit}}</p> | <p>{{data.unit}}</p> | ||||
</div> | </div> | ||||
<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> | ||||
<div> | <div> | ||||
<p>累计折旧</p> | <p>累计折旧</p> | ||||
<p>{{data.depreciationValue}}</p> | <p>{{data.depreciationValue}}</p> | ||||
</div> | </div> | ||||
<div> | |||||
<p>备注</p> | |||||
<p>{{data.remark}}</p> | |||||
</div> | |||||
<div> | |||||
<p>附件</p> | |||||
<p>{{data.remark}}</p> | |||||
</div> | |||||
</div> | </div> | ||||
<div class="echarts_main scrollbar" v-if="type == '4' || type == '5' || type == '6'"> | <div class="echarts_main scrollbar" v-if="type == '4' || type == '5' || type == '6'"> | ||||
<div> | <div> | ||||
@@ -18,9 +18,9 @@ export default [ | |||||
value: '0' | value: '0' | ||||
}, | }, | ||||
{ | { | ||||
name: '待借款(万元)', | |||||
name: '待结款(万元)', | |||||
icon: require('./2.png'), | icon: require('./2.png'), | ||||
value: '0' | value: '0' | ||||
} | } | ||||
] | ] | ||||
] | |||||
] |
@@ -1,4 +1,4 @@ | |||||
<Pannel title="资产负债分析" height="232"> | |||||
<Pannel title="资源负债分析" height="232"> | |||||
<table> | <table> | ||||
<tr v-for="line in data"> | <tr v-for="line in data"> | ||||
<td v-for="item in line"> | <td v-for="item in line"> | ||||
@@ -6,4 +6,4 @@ | |||||
</td> | </td> | ||||
</tr> | </tr> | ||||
</table> | </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: { | computed: { | ||||
}, | }, | ||||
created () { | created () { | ||||
@@ -269,8 +285,17 @@ export default { | |||||
}) | }) | ||||
}, | }, | ||||
methods: { | 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) { | openImage (url) { | ||||
console.log(url) | |||||
//console.log(url) | |||||
this.dialogImageUrl = url; | this.dialogImageUrl = url; | ||||
this.dialogVisible = true; | this.dialogVisible = true; | ||||
}, | }, | ||||
@@ -394,7 +419,7 @@ export default { | |||||
// // 获取资源列表 | // // 获取资源列表 | ||||
this.getResourceList(deptId); | this.getResourceList(deptId); | ||||
let dept2 = this.addrOptions[0]; | let dept2 = this.addrOptions[0]; | ||||
//console.log(this.addrOptions, 'this.addrOptions'); | |||||
////console.log(this.addrOptions, 'this.addrOptions'); | |||||
if (dept2.deptLevel === '5') { | if (dept2.deptLevel === '5') { | ||||
// 登录身份为市级领导 | // 登录身份为市级领导 | ||||
this.userRole = 'cityLeader'; | this.userRole = 'cityLeader'; | ||||
@@ -510,7 +535,7 @@ export default { | |||||
}, | }, | ||||
// 创建矢量数据源 | // 创建矢量数据源 | ||||
addDeptLayer (nextDeptSet, locationIcon) { | addDeptLayer (nextDeptSet, locationIcon) { | ||||
//console.log('nextDeptSet', nextDeptSet); | |||||
////console.log('nextDeptSet', nextDeptSet); | |||||
let features = []; | let features = []; | ||||
nextDeptSet.forEach(item => { | nextDeptSet.forEach(item => { | ||||
let fs = gis.getFeature(item, this.yellowIcon) | let fs = gis.getFeature(item, this.yellowIcon) | ||||
@@ -534,7 +559,7 @@ export default { | |||||
if (item.theGeom != null && item.theGeom !== '') { | if (item.theGeom != null && item.theGeom !== '') { | ||||
const { useType } = item | const { useType } = item | ||||
let color = this.LegendData[useType - 1 + ''] | let color = this.LegendData[useType - 1 + ''] | ||||
console.log(color) | |||||
//console.log(color) | |||||
if (color){ | if (color){ | ||||
let fs = gis.getFeature3(item, color.iconStyle.background, color.iconStyle.borderColor) | let fs = gis.getFeature3(item, color.iconStyle.background, color.iconStyle.borderColor) | ||||
features.push(fs); | features.push(fs); | ||||
@@ -404,16 +404,16 @@ export default { | |||||
let urls = ""; | let urls = ""; | ||||
let type = ""; | let type = ""; | ||||
if (ext == "xlsx" || ext == "xls") { | if (ext == "xlsx" || ext == "xls") { | ||||
urls = require("@/assets/images/icon_excel.jpg"); | |||||
urls = require("./icon_excel.jpg"); | |||||
type = 'excel'; | type = 'excel'; | ||||
} else if (ext == "doc" || ext == "docx") { | } else if (ext == "doc" || ext == "docx") { | ||||
urls = require("@/assets/images/icon_word.jpg"); | |||||
urls = require("./icon_word.jpg"); | |||||
type = 'word'; | type = 'word'; | ||||
} else if (ext == "pdf") { | } else if (ext == "pdf") { | ||||
urls = require("@/assets/images/icon_pdf.jpg"); | |||||
urls = require("./icon_pdf.jpg"); | |||||
type = 'pdf'; | type = 'pdf'; | ||||
} else if (ext == "zip") { | } else if (ext == "zip") { | ||||
urls = require("@/assets/images/icon_zip.jpg"); | |||||
urls = require("./icon_zip.jpg"); | |||||
type = 'zip'; | type = 'zip'; | ||||
} else { | } else { | ||||
urls = '/api' + UattachmentList[i].fileUrl; | urls = '/api' + UattachmentList[i].fileUrl; | ||||