|
@@ -1,108 +1,159 @@
|
|
|
-
|
|
|
<template>
|
|
|
-<div class="content">
|
|
|
- <div v-if="$store.state.user.homeType===1">
|
|
|
- <el-form
|
|
|
- :model="queryParams"
|
|
|
- class="demo-ruleForm"
|
|
|
- ref="queryForm"
|
|
|
- size="small"
|
|
|
- :inline="true"
|
|
|
- >
|
|
|
- <el-form-item label="单位名称">
|
|
|
- <el-select
|
|
|
- v-model="queryParams.homeOrgNo"
|
|
|
- placeholder="请选择..."
|
|
|
- @clear="delValue"
|
|
|
- clearable
|
|
|
- ref="select"
|
|
|
- style="width: 300px"
|
|
|
- >
|
|
|
- <el-option hidden key="id" :value="queryParams.homeOrgNo" :label="queryParams.selectName"></el-option>
|
|
|
- <el-tree
|
|
|
- :data="options"
|
|
|
- :props="defaultProps"
|
|
|
- @node-click="handleNodeClick"
|
|
|
- :expand-on-click-node="false"
|
|
|
- :check-on-click-node="true"
|
|
|
- ref="tree"
|
|
|
- node-key="id"
|
|
|
- :default-expand-all="true"
|
|
|
- :filter-node-method="filterNode"
|
|
|
+ <div class="content">
|
|
|
+ <div v-if="$store.state.user.homeType === 1">
|
|
|
+ <mapHome />
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ <el-form
|
|
|
+ :model="queryParams"
|
|
|
+ class="demo-ruleForm"
|
|
|
+ ref="queryForm"
|
|
|
+ size="small"
|
|
|
+ :inline="true"
|
|
|
+ >
|
|
|
+ <el-form-item label="单位名称">
|
|
|
+ <el-select
|
|
|
+ v-model="queryParams.homeOrgNo"
|
|
|
+ placeholder="请选择..."
|
|
|
+ @clear="delValue"
|
|
|
+ clearable
|
|
|
+ ref="select"
|
|
|
+ style="width: 300px"
|
|
|
>
|
|
|
- <span slot-scope="{ data }">
|
|
|
- <span>{{ data.deptName }}</span>
|
|
|
- <el-tag
|
|
|
- size="mini"
|
|
|
- style="margin: 0 10px"
|
|
|
- v-show="filterorgType(data.tag)"
|
|
|
- >{{ filterorgType(data.tag) }}</el-tag
|
|
|
+ <el-option
|
|
|
+ hidden
|
|
|
+ key="id"
|
|
|
+ :value="queryParams.homeOrgNo"
|
|
|
+ :label="queryParams.selectName"
|
|
|
+ ></el-option>
|
|
|
+ <el-tree
|
|
|
+ :data="options"
|
|
|
+ :props="defaultProps"
|
|
|
+ @node-click="handleNodeClick"
|
|
|
+ :expand-on-click-node="false"
|
|
|
+ :check-on-click-node="true"
|
|
|
+ ref="tree"
|
|
|
+ node-key="id"
|
|
|
+ :default-expand-all="true"
|
|
|
+ :filter-node-method="filterNode"
|
|
|
+ >
|
|
|
+ <span slot-scope="{ data }">
|
|
|
+ <span>{{ data.deptName }}</span>
|
|
|
+ <el-tag
|
|
|
+ size="mini"
|
|
|
+ style="margin: 0 10px"
|
|
|
+ v-show="filterorgType(data.tag)"
|
|
|
+ >{{ filterorgType(data.tag) }}</el-tag
|
|
|
+ >
|
|
|
+ </span>
|
|
|
+ </el-tree>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="时间">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="queryParams.homeDate"
|
|
|
+ :clearable="false"
|
|
|
+ type="month"
|
|
|
+ value-format="yyyy-MM"
|
|
|
+ placeholder="选择月"
|
|
|
>
|
|
|
- </span>
|
|
|
- </el-tree>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="时间">
|
|
|
- <el-date-picker
|
|
|
- v-model="queryParams.homeDate"
|
|
|
- :clearable="false"
|
|
|
- type="month"
|
|
|
- value-format="yyyy-MM"
|
|
|
- placeholder="选择月">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <el-button type="primary" @click="getNum">查询</el-button>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <div class="container">
|
|
|
- <el-card style="position: relative" shadow="hover" class="border" v-for="(item,index) of list" :key="index" @click.native.self="route(item.path)">
|
|
|
- <div style="width: 100%;display:flex;justify-content: space-between">
|
|
|
- <span>{{item.name}}</span>
|
|
|
- <el-upload
|
|
|
- style="margin-left:10px"
|
|
|
- v-if="index<2 || index === 5"
|
|
|
- class="upload-demo"
|
|
|
- action="#"
|
|
|
- multiple
|
|
|
- :show-file-list="false"
|
|
|
- :on-change="(file)=>{onChange(file,item.name)}"
|
|
|
- :auto-upload="false"
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" @click="getNum">查询</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div class="container">
|
|
|
+ <el-card
|
|
|
+ style="position: relative"
|
|
|
+ shadow="hover"
|
|
|
+ class="border"
|
|
|
+ v-for="(item, index) of list"
|
|
|
+ :key="index"
|
|
|
+ @click.native.self="route(item.path)"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ style="width: 100%; display: flex; justify-content: space-between"
|
|
|
>
|
|
|
- <el-button size="small" type="success">导入</el-button>
|
|
|
- </el-upload>
|
|
|
- </div>
|
|
|
- <el-link type="success" @click="route(item.path)" style="position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);font-size: 20px;">{{item.title}} {{item.number}} {{item.titleEnd}}</el-link >
|
|
|
- </el-card>
|
|
|
+ <span>{{ item.name }}</span>
|
|
|
+ <el-upload
|
|
|
+ style="margin-left: 10px"
|
|
|
+ v-if="index < 2 || index === 5"
|
|
|
+ class="upload-demo"
|
|
|
+ action="#"
|
|
|
+ multiple
|
|
|
+ :show-file-list="false"
|
|
|
+ :on-change="
|
|
|
+ (file) => {
|
|
|
+ onChange(file, item.name);
|
|
|
+ }
|
|
|
+ "
|
|
|
+ :auto-upload="false"
|
|
|
+ >
|
|
|
+ <el-button size="small" type="success">导入</el-button>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ <el-link
|
|
|
+ type="success"
|
|
|
+ @click="route(item.path)"
|
|
|
+ style="
|
|
|
+ position: absolute;
|
|
|
+ top: 50%;
|
|
|
+ left: 50%;
|
|
|
+ transform: translate(-50%, -50%);
|
|
|
+ font-size: 20px;
|
|
|
+ "
|
|
|
+ >{{ item.title }} {{ item.number }} {{ item.titleEnd }}</el-link
|
|
|
+ >
|
|
|
+ </el-card>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-else>
|
|
|
- 首页暂无数据...
|
|
|
- </div>
|
|
|
-</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
-import {listDept} from "@/api/system/dept";
|
|
|
+import { listDept } from "@/api/system/dept";
|
|
|
import moment from "moment";
|
|
|
+import mapHome from "@/views/home/index";
|
|
|
import {
|
|
|
adsMatHyxtStampTaxContinvinvoiceImport,
|
|
|
adsMatHyxtStampTaxContinvoiceImportCheck,
|
|
|
adsMatHyxtStampTaxContractD,
|
|
|
adsMatHyxtStampTaxContractDcontractImport,
|
|
|
- stampTaxC
|
|
|
+ stampTaxC,
|
|
|
} from "@/api/utils";
|
|
|
|
|
|
export default {
|
|
|
name: "Index",
|
|
|
+ components: { mapHome },
|
|
|
data() {
|
|
|
return {
|
|
|
- list:[
|
|
|
- {name:'合同管理池',path:'stampDuty/contract',number:0,title:'本期总数',titleEnd:'笔'},
|
|
|
- {name:'发票管理池',path:'stampDuty/invoiceTitle',number:0,title:'本期收到',titleEnd:'张'},
|
|
|
- {name:'风险待办',path:'stampDuty/RiskDoubt',number:0,},
|
|
|
- {name:'税基计算',path:'stampDuty/printing',number:0,},
|
|
|
- {name:'税金计算',path:'stampDuty/StampDutyAalculationAheet',number:0,},
|
|
|
- {name:'账票关联信息',path:'stampDuty/FinancialPlatformPnvoice',number:0,},
|
|
|
+ list: [
|
|
|
+ {
|
|
|
+ name: "合同管理池",
|
|
|
+ path: "stampDuty/contract",
|
|
|
+ number: 0,
|
|
|
+ title: "本期总数",
|
|
|
+ titleEnd: "笔",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "发票管理池",
|
|
|
+ path: "stampDuty/invoiceTitle",
|
|
|
+ number: 0,
|
|
|
+ title: "本期收到",
|
|
|
+ titleEnd: "张",
|
|
|
+ },
|
|
|
+ { name: "风险待办", path: "stampDuty/RiskDoubt", number: 0 },
|
|
|
+ { name: "税基计算", path: "stampDuty/printing", number: 0 },
|
|
|
+ {
|
|
|
+ name: "税金计算",
|
|
|
+ path: "stampDuty/StampDutyAalculationAheet",
|
|
|
+ number: 0,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "账票关联信息",
|
|
|
+ path: "stampDuty/FinancialPlatformPnvoice",
|
|
|
+ number: 0,
|
|
|
+ },
|
|
|
],
|
|
|
defaultProps: {
|
|
|
children: "children",
|
|
@@ -110,20 +161,23 @@ export default {
|
|
|
},
|
|
|
// 标签数组
|
|
|
tagList: [],
|
|
|
- options:[],
|
|
|
- queryParams:{
|
|
|
- homeOrgNo:null,
|
|
|
- selectName:null,
|
|
|
- homeDate:null,
|
|
|
+ options: [],
|
|
|
+ queryParams: {
|
|
|
+ homeOrgNo: null,
|
|
|
+ selectName: null,
|
|
|
+ homeDate: null,
|
|
|
},
|
|
|
};
|
|
|
},
|
|
|
watch: {
|
|
|
queryParams: {
|
|
|
- handler(newVal,oldVal) {
|
|
|
- console.log(newVal,'00999')
|
|
|
- window.sessionStorage.setItem('queryParams',JSON.stringify(JSON.stringify(newVal)))
|
|
|
- this.getNum()
|
|
|
+ handler(newVal, oldVal) {
|
|
|
+ console.log(newVal, "00999");
|
|
|
+ window.sessionStorage.setItem(
|
|
|
+ "queryParams",
|
|
|
+ JSON.stringify(JSON.stringify(newVal))
|
|
|
+ );
|
|
|
+ this.getNum();
|
|
|
// let data = JSON.parse(JSON.parse(window.sessionStorage.getItem('queryParams')))
|
|
|
},
|
|
|
immediate: false,
|
|
@@ -136,120 +190,130 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
created() {
|
|
|
- this.getListM()
|
|
|
- this.getQuery()
|
|
|
- this.getNum()
|
|
|
+ this.getListM();
|
|
|
+ this.getQuery();
|
|
|
+ this.getNum();
|
|
|
},
|
|
|
methods: {
|
|
|
moment,
|
|
|
- onChange(file,name){
|
|
|
+ onChange(file, name) {
|
|
|
// console.log(file,'0---')
|
|
|
// let formData = new FormData();
|
|
|
// formData.append("file", file.raw);
|
|
|
// console.log(formData,'formData')
|
|
|
- if(name==='合同管理池'){
|
|
|
+ if (name === "合同管理池") {
|
|
|
let formDataN = new FormData();
|
|
|
formDataN.append("file", file.raw);
|
|
|
- adsMatHyxtStampTaxContractD(formDataN).then(res=>{
|
|
|
- if(res.data.isOk===0){
|
|
|
- this.$confirm(`${res.data.tips}`, '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
+ adsMatHyxtStampTaxContractD(formDataN).then((res) => {
|
|
|
+ if (res.data.isOk === 0) {
|
|
|
+ this.$confirm(`${res.data.tips}`, "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
}).then(() => {
|
|
|
- let formDataImport= new FormData();
|
|
|
+ let formDataImport = new FormData();
|
|
|
formDataImport.append("file", file.raw);
|
|
|
- adsMatHyxtStampTaxContractDcontractImport(formDataImport).then(res => {
|
|
|
+ adsMatHyxtStampTaxContractDcontractImport(formDataImport).then(
|
|
|
+ (res) => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.$message({
|
|
|
+ type: "success",
|
|
|
+ message: "导入成功!",
|
|
|
+ });
|
|
|
+ this.getNum();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ );
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ let formDataNG = new FormData();
|
|
|
+ formDataNG.append("file", file.raw);
|
|
|
+ adsMatHyxtStampTaxContractDcontractImport(formDataNG).then(
|
|
|
+ (res) => {
|
|
|
if (res.code === 200) {
|
|
|
this.$message({
|
|
|
- type: 'success',
|
|
|
- message: '导入成功!'
|
|
|
+ type: "success",
|
|
|
+ message: "导入成功!",
|
|
|
});
|
|
|
- this.getNum()
|
|
|
+ this.getNum();
|
|
|
}
|
|
|
- })
|
|
|
- })
|
|
|
- }else {
|
|
|
- let formDataNG = new FormData();
|
|
|
- formDataNG.append("file", file.raw);
|
|
|
- adsMatHyxtStampTaxContractDcontractImport(formDataNG).then(res => {
|
|
|
- if (res.code === 200) {
|
|
|
- this.$message({
|
|
|
- type: 'success',
|
|
|
- message: '导入成功!'
|
|
|
- });
|
|
|
- this.getNum()
|
|
|
}
|
|
|
- })
|
|
|
+ );
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
- if(name==='发票管理池'){
|
|
|
+ if (name === "发票管理池") {
|
|
|
let formDataT = new FormData();
|
|
|
formDataT.append("file", file.raw);
|
|
|
- adsMatHyxtStampTaxContinvoiceImportCheck(formDataT).then(res=>{
|
|
|
- if(res.data.isOk===0){
|
|
|
- this.$confirm(`${res.data.tips}`, '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
+ adsMatHyxtStampTaxContinvoiceImportCheck(formDataT).then((res) => {
|
|
|
+ if (res.data.isOk === 0) {
|
|
|
+ this.$confirm(`${res.data.tips}`, "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
}).then(() => {
|
|
|
let formDataTE = new FormData();
|
|
|
formDataTE.append("file", file.raw);
|
|
|
- adsMatHyxtStampTaxContinvinvoiceImport(formDataTE).then(res => {
|
|
|
+ adsMatHyxtStampTaxContinvinvoiceImport(formDataTE).then((res) => {
|
|
|
if (res.code === 200) {
|
|
|
this.$message({
|
|
|
- type: 'success',
|
|
|
- message: '导入成功!'
|
|
|
+ type: "success",
|
|
|
+ message: "导入成功!",
|
|
|
});
|
|
|
- this.getNum()
|
|
|
+ this.getNum();
|
|
|
}
|
|
|
- })
|
|
|
- })
|
|
|
- }else {
|
|
|
+ });
|
|
|
+ });
|
|
|
+ } else {
|
|
|
let formDataTG = new FormData();
|
|
|
formDataTG.append("file", file.raw);
|
|
|
- adsMatHyxtStampTaxContinvinvoiceImport(formDataTG).then(res => {
|
|
|
+ adsMatHyxtStampTaxContinvinvoiceImport(formDataTG).then((res) => {
|
|
|
if (res.code === 200) {
|
|
|
this.$message({
|
|
|
- type: 'success',
|
|
|
- message: '导入成功!'
|
|
|
+ type: "success",
|
|
|
+ message: "导入成功!",
|
|
|
});
|
|
|
- this.getNum()
|
|
|
+ this.getNum();
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
- getNum(){
|
|
|
- stampTaxC(this.queryParams).then(res=>{
|
|
|
- if(res && res.data){
|
|
|
- this.list[0].number=res.data.contractNum ||0
|
|
|
- this.list[1].number=res.data.invoiceNum ||0
|
|
|
- this.list[2].number=res.data.warningNum ||0
|
|
|
- this.list[3].number=res.data.taxAmount ||0
|
|
|
- this.list[4].number=res.data.payTaxAmount ||0
|
|
|
- this.list[5].number=res.data.zhptInvoiceNum ||0
|
|
|
- }
|
|
|
- })
|
|
|
+ getNum() {
|
|
|
+ stampTaxC(this.queryParams).then((res) => {
|
|
|
+ if (res && res.data) {
|
|
|
+ this.list[0].number = res.data.contractNum || 0;
|
|
|
+ this.list[1].number = res.data.invoiceNum || 0;
|
|
|
+ this.list[2].number = res.data.warningNum || 0;
|
|
|
+ this.list[3].number = res.data.taxAmount || 0;
|
|
|
+ this.list[4].number = res.data.payTaxAmount || 0;
|
|
|
+ this.list[5].number = res.data.zhptInvoiceNum || 0;
|
|
|
+ }
|
|
|
+ });
|
|
|
},
|
|
|
getQuery() {
|
|
|
- console.log(this.$store.state)
|
|
|
- let data = JSON.parse(JSON.parse(window.sessionStorage.getItem('queryParams'))) || {}
|
|
|
- if(data && (data.homeDate || data.homeOrgNo)){
|
|
|
- console.log(data,'======dd====')
|
|
|
- this.queryParams=data
|
|
|
- }else {
|
|
|
- this.queryParams={homeOrgNo:this.$store.state.user.orgNo, selectName:this.$store.state.user.orgName, homeDate:moment().format('YYYY-MM')}
|
|
|
+ console.log(this.$store.state);
|
|
|
+ let data =
|
|
|
+ JSON.parse(JSON.parse(window.sessionStorage.getItem("queryParams"))) ||
|
|
|
+ {};
|
|
|
+ if (data && (data.homeDate || data.homeOrgNo)) {
|
|
|
+ console.log(data, "======dd====");
|
|
|
+ this.queryParams = data;
|
|
|
+ } else {
|
|
|
+ this.queryParams = {
|
|
|
+ homeOrgNo: this.$store.state.user.orgNo,
|
|
|
+ selectName: this.$store.state.user.orgName,
|
|
|
+ homeDate: moment().format("YYYY-MM"),
|
|
|
+ };
|
|
|
}
|
|
|
},
|
|
|
- route(val){
|
|
|
- this.$router.push(val)
|
|
|
+ route(val) {
|
|
|
+ this.$router.push(val);
|
|
|
},
|
|
|
- handleUploadClick(event){
|
|
|
- debugger
|
|
|
- event.stopPropagation()
|
|
|
+ handleUploadClick(event) {
|
|
|
+ debugger;
|
|
|
+ event.stopPropagation();
|
|
|
},
|
|
|
getListM() {
|
|
|
listDept().then((response) => {
|
|
@@ -257,12 +321,12 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
delValue() {
|
|
|
- this.queryParams.homeOrgNo = ''
|
|
|
- this.queryParams.selectName = '';
|
|
|
+ this.queryParams.homeOrgNo = "";
|
|
|
+ this.queryParams.selectName = "";
|
|
|
},
|
|
|
// 结构树点击事件
|
|
|
handleNodeClick(data) {
|
|
|
- console.log(data,'----')
|
|
|
+ console.log(data, "----");
|
|
|
this.queryParams.homeOrgNo = data.deptId; // select绑定值为点击的选项的value
|
|
|
this.queryParams.selectName = data.deptName; // input中显示值为label
|
|
|
this.treeFilter = ""; // 点击后搜索框清空
|
|
@@ -281,7 +345,7 @@ export default {
|
|
|
});
|
|
|
return arr.length ? arr[0].label : "";
|
|
|
},
|
|
|
- }
|
|
|
+ },
|
|
|
};
|
|
|
</script>
|
|
|
|
|
@@ -290,25 +354,27 @@ export default {
|
|
|
height: calc(100% - 40px);
|
|
|
padding: 15px 15px;
|
|
|
}
|
|
|
-.container{
|
|
|
+.container {
|
|
|
width: 100%;
|
|
|
display: flex;
|
|
|
flex-wrap: wrap;
|
|
|
//justify-content: center;
|
|
|
- .border{
|
|
|
+ .border {
|
|
|
width: 30%;
|
|
|
- height:200px;
|
|
|
+ height: 200px;
|
|
|
margin-left: 1%;
|
|
|
margin-top: 1%;
|
|
|
|
|
|
//padding: 10px 10px;
|
|
|
}
|
|
|
- .border:hover{
|
|
|
+ .border:hover {
|
|
|
//background: linear-gradient(0deg, #80bfe6, #99c4e8);
|
|
|
background: transparent;
|
|
|
- background-clip: content-box,padding-box;
|
|
|
- background-image: linear-gradient(135.03deg,#d5edeb,#fff), linear-gradient(to bottom right,rgba(163,217,214,0.15),#189e95);
|
|
|
- box-shadow: 7px 7px 10px #eff1f5, 7px 7px 10px #fff, 7px 7px 10px rgba(90,136,132,0.32) inset;
|
|
|
+ background-clip: content-box, padding-box;
|
|
|
+ background-image: linear-gradient(135.03deg, #d5edeb, #fff),
|
|
|
+ linear-gradient(to bottom right, rgba(163, 217, 214, 0.15), #189e95);
|
|
|
+ box-shadow: 7px 7px 10px #eff1f5, 7px 7px 10px #fff,
|
|
|
+ 7px 7px 10px rgba(90, 136, 132, 0.32) inset;
|
|
|
border: 2px solid #189e95;
|
|
|
}
|
|
|
}
|