diff --git a/build/logo.png b/build/logo.png index f3d2503f..86b915a6 100644 Binary files a/build/logo.png and b/build/logo.png differ diff --git a/config/index.js b/config/index.js index a6a51a11..adc7b121 100644 --- a/config/index.js +++ b/config/index.js @@ -15,6 +15,7 @@ module.exports = { // target: 'http://116.255.223.226:8082/nsgk_test/', // 公网测试环境 // target: `http://192.168.0.116:8091/nsgk_api/`, // 内网测试环境 target: 'http://localhost:8080/', + //target: 'http://192.168.0.106:8080/', changeOrigin: true, pathRewrite: { '^/api': '' diff --git a/package-lock.json b/package-lock.json index 90449a49..1457118d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1351,6 +1351,11 @@ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" }, + "bignumber.js": { + "version": "9.1.2", + "resolved": "https://registry.npmmirror.com/bignumber.js/-/bignumber.js-9.1.2.tgz", + "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==" + }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", diff --git a/package.json b/package.json index b7acc1be..de93cd5c 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "build": "node build/build.js" }, "dependencies": { + "bignumber.js": "^9.1.2", "@vant/area-data": "^1.2.2", "axios": "^0.21.1", "echarts": "^5.3.3", diff --git a/public/favicon.ico b/public/favicon.ico index df36fcfb..86b915a6 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/src/api/sunVillage_info/fixedAssets.js b/src/api/sunVillage_info/fixedAssets.js index acb99fbf..7c16ccc9 100644 --- a/src/api/sunVillage_info/fixedAssets.js +++ b/src/api/sunVillage_info/fixedAssets.js @@ -1166,4 +1166,20 @@ export function assetResourceDetail(id, parms) { }); } +// 公式科目模板分类列表 +export function expressionReportByCategory(name) { + return request({ + url: '/finance/expressionReport/category/' + name, + method: 'get', + }) +} + +//查询资产负债表(公式报表模板) +export const assetLiabilityReportByExpTpl = (data) => { + return request({ + url: '/finance/report/assetLiabilityReportByExpTpl', + method: 'get', + params: data + }) +} diff --git a/src/assets/images/sunVillage_info/index_block_23.png b/src/assets/images/sunVillage_info/index_block_23.png new file mode 100644 index 00000000..611f4e34 Binary files /dev/null and b/src/assets/images/sunVillage_info/index_block_23.png differ diff --git a/src/assets/logo.png b/src/assets/logo.png index f3d2503f..86b915a6 100644 Binary files a/src/assets/logo.png and b/src/assets/logo.png differ diff --git a/src/components/Map/MapGisTagDTGCopy.vue b/src/components/Map/MapGisTagDTGCopy.vue index 6f0340f9..adad61ae 100644 --- a/src/components/Map/MapGisTagDTGCopy.vue +++ b/src/components/Map/MapGisTagDTGCopy.vue @@ -8,7 +8,7 @@ -
备注信息:黄色标记表示该资产,蓝色标记是本账套已标记的其他资产
+
备注:黄色标记表示该资产,蓝色标记表示本账套已标记的其他资产
diff --git a/src/router/index.js b/src/router/index.js index 4019c168..bcfe9e18 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -4245,6 +4245,15 @@ export const constantRoutes = [ }, component: (resolve) => require(['@/views/sunVillage_info/resourceDetail'], resolve) }, + { ////阳光村务(新)-- 修改资源 + path: '/sunVillage_info/detailed_liabilities', + name: 'sunVillageInfoDetailedLiabilities', + meta: { + title: '负债表', + hidden: true, + }, + component: (resolve) => require(['@/views/sunVillage_info/detailed_liabilities'], resolve) + }, { ////农业综合行政执法公众平台 path: '/lawEnforcement/index_new', name: 'lawEnforcementIndexNew', diff --git a/src/utils/finance.js b/src/utils/finance.js new file mode 100644 index 00000000..8dac27d2 --- /dev/null +++ b/src/utils/finance.js @@ -0,0 +1,259 @@ +import {numFormat} from "@/utils/index"; +import BigNumber from "bignumber.js"; + +export const FINANCE = { + CONFIG_KEY: '_Finance_config', + EXPRESSION_REPORT_TEMPLATE: { + ASSET_AND_LIABILITY: "资产负债表", + QUARTER_REPORT: "季度报表", + INCOME_DISTRIBUTION_REPORT: "收益分配表", + }, + + VOUCHER_CACHE_LIFECYCLE: 300000, + + getConfig(name, defVal) { + let config = localStorage.getItem(this.CONFIG_KEY); + if(config) + { + config = JSON.parse(config); + if(config.hasOwnProperty(name)) + return config[name]; + } + return defVal; + }, + setConfig(name, val) { + let config = localStorage.getItem(this.CONFIG_KEY); + if(!config) + config = {}; + else + config = JSON.parse(config); + config[name] = val; + localStorage.setItem(this.CONFIG_KEY, JSON.stringify(config)); + }, + makeSubjectsTree(SubjectsList, subjectTypes) { + let func = (pid) => { + let arr = null; + for(let v of SubjectsList) + { + let parentId = v.parentId || v.subjectId.substr(0, v.subjectId.length - 3) || null; + if(parentId == pid) + { + if(!arr) arr = []; + let a = func(v.subjectId); + if(a) + { + v.children = a; + v.is_last = 'N'; + } + else + v.is_last = 'Y'; + v.disabled = false; + v.label = v.subjectId + ' ' + v.subjectName; + v.label2 = v.subjectId + ' ' + v.subjectNameAll; + v.id = v.subjectId; + arr.push(v); + } + } + return arr; + }; + let res = func(null) || []; + if(!subjectTypes) + return res; + let r = []; + res.forEach((x) => { + let subjectIdStart = x.subjectId[0]; + let item = r.find((y) => y.subjectId == subjectIdStart); + if(!item) + { + let type = subjectTypes.find((y) => y.dictValue == subjectIdStart); + if(!type) + return; + item = { + id: type.dictValue, + subjectId: type.dictValue, + label: type.dictLabel, + label2: type.dictLabel, + sortFlag: type.dictSort, + is_last: 'N', + subjectName: '', + subjectNameAll: '', + children: [], + disabled: true, + }; + r.push(item); + } + item.children.push(x); + }); + r.sort((a, b) => a.dictSort - b.dictSort); + return r; + }, + makeSubjectsTree_filter(SubjectsList, subjectTypes, filterFunc) { + let func = (pid) => { + let arr = null; + for(let v of SubjectsList) + { + let parentId = v.parentId || v.subjectId.substr(0, v.subjectId.length - 3) || null; + if(parentId == pid) + { + if(!arr) arr = []; + let a = func(v.subjectId); + if(a) + { + v.children = a; + v.is_last = 'N'; + } + else + v.is_last = 'Y'; + v.label = v.subjectId + ' ' + v.subjectName; + v.label2 = v.subjectId + ' ' + v.subjectNameAll; + v.disabled = !filterFunc(v); + arr.push(v); + } + } + return arr; + }; + let filter_func = (children) => { + let res = null; + if(children) + { + let newChildren = []; + for(let v of children) + { + let b = filterFunc(v); + let arr = filter_func(v.children); + if(!arr) + delete v.children; + else + { + v.children = arr; + b = true; + } + if(b) + newChildren.push(v); + } + let r = newChildren.length > 0; + if(r) + res = newChildren; + } + return res; + }; + let res = filter_func(func(null) || []) || []; + let r = []; + res.forEach((x) => { + let subjectIdStart = x.subjectId[0]; + let item = r.find((y) => y.subjectId == subjectIdStart); + if(!item) + { + let type = subjectTypes.find((y) => y.dictValue == subjectIdStart); + if(!type) + return; + item = { + id: type.dictValue, + label: type.dictLabel, + label2: type.dictLabel, + subjectId: type.dictValue, + sortFlag: type.dictSort, + is_last: 'N', + subjectNameAll: '', + children: [], + disabled: true, + }; + r.push(item); + } + item.children.push(x); + }); + r.sort((a, b) => a.dictSort - b.dictSort); + return r; + }, + /*数字每隔3位一位小数: 0返回空白 */ + formatNum(value) { + if(value === undefined || value === null) + return ''; + if(typeof(value) === "string") + { + if(value.indexOf(',') !== -1) + return value; + value = Number(value); + if(isNaN(value)) + return ''; + } + if(value === 0) + return ''; + return numFormat(value); + }, + formatList(list) { + if(!list || !Array.isArray(list) && !list.length && arguments.length > 1) + return []; + list.forEach((x) => { + for(let i = 1; i < arguments.length; i++) + { + let k = arguments[i]; + if(!x.hasOwnProperty(k)) + continue; + x[k] = this.formatNum(x[k]); + } + }); + return list; + }, + obtainAssetSubject(str) { + if(!str) + return null; + let i = str.indexOf(":"); + if(i > 0) + return str.substring(0, i); + else if(/^\d+$/g.test(str)) + return str; + else + return null; + }, + Number(a) { + return new BigNumber(a, 10); + }, + zero() { + return new BigNumber(0, 10); + }, + add(a, b) { + if(!(a instanceof BigNumber)) + a = new BigNumber(a, 10); + if(!(b instanceof BigNumber)) + b = new BigNumber(b, 10); + return a.plus(b, 10); + }, + subtract(a, b) { + if(!(a instanceof BigNumber)) + a = new BigNumber(a, 10); + if(!(b instanceof BigNumber)) + b = new BigNumber(b, 10); + return a.minus(b, 10); + }, + neg(a) { + if(!(a instanceof BigNumber)) + a = new BigNumber(a, 10); + return a.negated(); + }, + isZero(a) { + if(!(a instanceof BigNumber)) + a = new BigNumber(a, 10); + return a.isZero(); + }, + toNumber(a) { + if(typeof(a) === 'number') + return a; + if(a instanceof BigNumber) + return a.toNumber(); + return Number(a); + }, + calcFontSizeFromTextLength(text, baseSize) { + if(!text) + return baseSize; + const N = 28; + let length = 0; + for(let i = 0; i < text.length; i++) + { + length += text.charCodeAt(i) > 127 ? 2 : 1; + } + const r = Math.round(baseSize - (Math.max(length / N, 1.0)) + 1); + //console.log(text, r); + return r; + }, +}; diff --git a/src/views/sunVillage_info/detailed_ledger.vue b/src/views/sunVillage_info/detailed_ledger.vue index 30248810..539202ba 100644 --- a/src/views/sunVillage_info/detailed_ledger.vue +++ b/src/views/sunVillage_info/detailed_ledger.vue @@ -26,11 +26,12 @@ +
-
2022
+
{{queryParams.startDate.substr(0,4)}}
@@ -38,34 +39,29 @@ 凭证字 - - {{item.month}} - {{item.day}} - -
{{item.voucherWordNum}}
-
+ + 摘要 + 借方 + 贷方 + 方向 + 余额 -
- - 摘要 - 借方 - 贷方 - 方向 - 余额 - +
+ + {{item.month}} + {{item.day}} + +
{{item.voucherWordNum}}
+
+
+
- + {{item.voucherSummary}} @@ -87,7 +83,7 @@
- +
+
+
+ 资产负债表 +
+ +
+ + +
+
+ +

{{date}}

+
+ + + +
+ + +
+ + + + +
+ + + + + + +
+
+
单位:{{ this.$store.getters.bookName }}
+
{{ accountingYear }}年{{ accountingMonth }}期
+
金额:元
+
+
+
+
+
资产
+
年初余额
+
期末余额
+
负债与所有者权益
+
年初余额
+
期末余额
+
+
+
    +
  • +
    {{ item.subjectNameLeft }}
    +
    {{ item.ncyeLeft }}
    +
    {{ item.qmyeLeft }}
    +
    {{ item.subjectNameRight }}
    +
    {{ item.ncyeRight }}
    +
    {{ item.qmyeRight }}
    +
  • +
+
+
+
+
+ +
+ + + + +