|
@@ -1,19 +1,19 @@
|
|
|
<template>
|
|
|
- <div>
|
|
|
- <basic-container v-show="show && showInfo" class="page-crad">
|
|
|
- <table border="0" width="100%" style="margin-bottom:20px;" v-loading="loading" :option="option">
|
|
|
- <tr>
|
|
|
- <td class="stat-td">
|
|
|
- <img src="@/assets/img/contractAmountBg.png" class="stat-img">
|
|
|
- <div class="stat-tip">
|
|
|
- <div class="money">
|
|
|
- <span style="font-size:20px;">¥</span>
|
|
|
- <avue-count-up :end="form.totalAmount"></avue-count-up>
|
|
|
- </div>
|
|
|
- <div class="title">合同金额</div>
|
|
|
+ <div>
|
|
|
+ <basic-container v-show="show && showInfo" class="page-crad">
|
|
|
+ <table border="0" width="100%" style="margin-bottom:20px;" v-loading="loading" :option="option">
|
|
|
+ <tr>
|
|
|
+ <td class="stat-td">
|
|
|
+ <img src="@/assets/img/contractAmountBg.png" class="stat-img">
|
|
|
+ <div class="stat-tip">
|
|
|
+ <div class="money">
|
|
|
+ <span style="font-size:20px;">¥</span>
|
|
|
+ <avue-count-up :end="form.totalAmount"></avue-count-up>
|
|
|
</div>
|
|
|
- </td>
|
|
|
- <!-- <td class="stat-td">
|
|
|
+ <div class="title">合同金额</div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <!-- <td class="stat-td">
|
|
|
<img src="@/assets/img/deliveredBg.png" class="stat-img">
|
|
|
<div class="stat-tip">
|
|
|
<div class="money">
|
|
@@ -34,574 +34,577 @@
|
|
|
<div class="title">(积累预收:)</div>
|
|
|
</div>
|
|
|
</td> -->
|
|
|
- <td class="stat-td">
|
|
|
- <img src="@/assets/img/uncollectedBg.png" class="stat-img">
|
|
|
- <div class="stat-tip">
|
|
|
- <div class="money">
|
|
|
- <span style="font-size:20px;">¥</span>
|
|
|
- <avue-count-up :end="form.paidAmount"></avue-count-up>
|
|
|
- </div>
|
|
|
- <div class="title">未收款</div>
|
|
|
- <!-- <div class="title">(积累欠款:)</div> -->
|
|
|
+ <td class="stat-td">
|
|
|
+ <img src="@/assets/img/uncollectedBg.png" class="stat-img">
|
|
|
+ <div class="stat-tip">
|
|
|
+ <div class="money">
|
|
|
+ <span style="font-size:20px;">¥</span>
|
|
|
+ <avue-count-up :end="form.paidAmount"></avue-count-up>
|
|
|
</div>
|
|
|
- </td>
|
|
|
- <td class="stat-td">
|
|
|
- <img src="@/assets/img/receivableBg.png" class="stat-img">
|
|
|
- <div class="stat-tip">
|
|
|
- <div class="money">
|
|
|
- <span style="font-size:20px;">¥</span>
|
|
|
- <avue-count-up :end="form.unpaidAmount"></avue-count-up>
|
|
|
- </div>
|
|
|
- <div class="title">已收款</div>
|
|
|
+ <div class="title">未收款</div>
|
|
|
+ <!-- <div class="title">(积累欠款:)</div> -->
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td class="stat-td">
|
|
|
+ <img src="@/assets/img/receivableBg.png" class="stat-img">
|
|
|
+ <div class="stat-tip">
|
|
|
+ <div class="money">
|
|
|
+ <span style="font-size:20px;">¥</span>
|
|
|
+ <avue-count-up :end="form.unpaidAmount"></avue-count-up>
|
|
|
</div>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- </table>
|
|
|
- <el-row>
|
|
|
- <el-col :span="4">
|
|
|
- <avue-tree :option="treeOption" :data="treeData" @node-click="nodeClick" style="height:73vh;"
|
|
|
- @save="corpTypeVisible = true">
|
|
|
- <template slot="addBtn">
|
|
|
- <i class="el-icon-setting" style="font-size:18px;line-height: 30px;width: 20px;padding: 0 10px;"
|
|
|
- @click="corpTypeVisible = true"></i>
|
|
|
- </template>
|
|
|
- </avue-tree>
|
|
|
- </el-col>
|
|
|
- <el-col :span="20">
|
|
|
- <avue-crud ref="crud" :option="option" :data="dataList" :page.sync="page" :search.sync="search"
|
|
|
- @search-change="searchChange" @current-change="currentChange" @size-change="sizeChange"
|
|
|
- @refresh-change="refreshChange" @on-load="onLoad" :table-loading="loading" @saveColumn="saveColumn"
|
|
|
- @resetColumn="resetColumn" :cell-style="cellStyle" @search-criteria-switch="searchCriteriaSwitch">
|
|
|
- <template slot="menuLeft">
|
|
|
- <!-- <el-button type="primary" size="mini" @click.stop="newAdd()">新建客户
|
|
|
+ <div class="title">已收款</div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="4">
|
|
|
+ <avue-tree :option="treeOption" :data="treeData" @node-click="nodeClick" style="height:73vh;"
|
|
|
+ @save="corpTypeVisible = true">
|
|
|
+ <template slot="addBtn">
|
|
|
+ <i class="el-icon-setting" style="font-size:18px;line-height: 30px;width: 20px;padding: 0 10px;"
|
|
|
+ @click="corpTypeVisible = true"></i>
|
|
|
+ </template>
|
|
|
+ </avue-tree>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="20">
|
|
|
+ <avue-crud ref="crud" :option="option" :data="dataList" :page.sync="page" :search.sync="search"
|
|
|
+ @search-change="searchChange" @current-change="currentChange" @size-change="sizeChange"
|
|
|
+ @refresh-change="refreshChange" @on-load="onLoad" :table-loading="loading" @saveColumn="saveColumn"
|
|
|
+ @resetColumn="resetColumn" :cell-style="cellStyle" @search-criteria-switch="searchCriteriaSwitch">
|
|
|
+ <template slot="menuLeft">
|
|
|
+ <!-- <el-button type="primary" size="mini" @click.stop="newAdd()">新建客户
|
|
|
</el-button>
|
|
|
<el-button type="primary" size="mini" icon="el-icon-bottom" @click="excelBox = true">导入
|
|
|
</el-button> -->
|
|
|
- <el-button type="primary" size="mini" icon="el-icon-bottom" @click="outExport">导出
|
|
|
- </el-button>
|
|
|
- </template>
|
|
|
- <template slot-scope="{ row, index }" slot="cname">
|
|
|
- <span style="color: #409EFF;cursor: pointer" @click.stop="viewInfo(row)">{{ row.cname }}
|
|
|
- </span>
|
|
|
- </template>
|
|
|
- <template slot="idsSearch">
|
|
|
- <crop-select v-model="search.ids" corpType="KH"></crop-select>
|
|
|
- </template>
|
|
|
- <template slot="dateSearch">
|
|
|
- <el-date-picker v-model="search.date" type="daterange" start-placeholder="开始日期" end-placeholder="结束日期"
|
|
|
- format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" :default-time="['00:00:00', '23:59:59']"
|
|
|
- :picker-options="pickerOptions">
|
|
|
- </el-date-picker>
|
|
|
- </template>
|
|
|
- <template slot-scope="{ row, index }" slot="menu">
|
|
|
- <el-tooltip class="item" effect="dark" content="编辑" placement="top">
|
|
|
- <i class="tradingIcon icon-edit" @click.stop="editOpen(row, 2)" />
|
|
|
- </el-tooltip>
|
|
|
- <el-tooltip class="item" effect="dark" content="收款" placement="top">
|
|
|
- <i class="tradingIcon icon-proceeds" />
|
|
|
- </el-tooltip>
|
|
|
- <el-tooltip class="item" effect="dark" content="发货" placement="top">
|
|
|
- <i class="tradingIcon icon-deliver" />
|
|
|
- </el-tooltip>
|
|
|
- <el-tooltip class="item" effect="dark" content="对账" placement="top">
|
|
|
- <i class="tradingIcon icon-reconciliation" />
|
|
|
- </el-tooltip>
|
|
|
- <el-tooltip class="item" effect="dark" content="删除" placement="top">
|
|
|
- <i class="tradingIcon icon-del" style="color: #FF0000" @click.stop="rowDel(row)" />
|
|
|
- </el-tooltip>
|
|
|
- <!-- <el-button type="text" size="small" @click.stop="editOpen(row, 2)">
|
|
|
+ <el-button type="primary" size="mini" icon="el-icon-bottom" @click="outExport">导出
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ <template slot-scope="{ row, index }" slot="cname">
|
|
|
+ <span style="color: #409EFF;cursor: pointer" @click.stop="viewInfo(row)">{{ row.cname }}
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ <template slot="idsSearch">
|
|
|
+ <crop-select v-model="search.ids" corpType="KH"></crop-select>
|
|
|
+ </template>
|
|
|
+ <template slot="dateSearch">
|
|
|
+ <el-date-picker v-model="search.date" type="daterange" start-placeholder="开始日期" end-placeholder="结束日期"
|
|
|
+ format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" :default-time="['00:00:00', '23:59:59']"
|
|
|
+ :picker-options="pickerOptions">
|
|
|
+ </el-date-picker>
|
|
|
+ </template>
|
|
|
+ <template slot-scope="{ row, index }" slot="menu">
|
|
|
+ <el-tooltip class="item" effect="dark" content="编辑" placement="top">
|
|
|
+ <i class="tradingIcon icon-edit" @click.stop="editOpen(row, 2)" />
|
|
|
+ </el-tooltip>
|
|
|
+ <el-tooltip class="item" effect="dark" content="收款" placement="top">
|
|
|
+ <i class="tradingIcon icon-proceeds" />
|
|
|
+ </el-tooltip>
|
|
|
+ <el-tooltip class="item" effect="dark" content="发货" placement="top">
|
|
|
+ <i class="tradingIcon icon-deliver" />
|
|
|
+ </el-tooltip>
|
|
|
+ <el-tooltip class="item" effect="dark" content="对账" placement="top">
|
|
|
+ <i class="tradingIcon icon-reconciliation" />
|
|
|
+ </el-tooltip>
|
|
|
+ <el-tooltip class="item" effect="dark" content="删除" placement="top">
|
|
|
+ <i class="tradingIcon icon-del" style="color: #FF0000" @click.stop="rowDel(row)" />
|
|
|
+ </el-tooltip>
|
|
|
+ <!-- <el-button type="text" size="small" @click.stop="editOpen(row, 2)">
|
|
|
查看
|
|
|
</el-button>
|
|
|
<el-button type="text" size="small" @click.stop="rowDel(row, index)">
|
|
|
删除
|
|
|
</el-button> -->
|
|
|
- </template>
|
|
|
- </avue-crud>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- </basic-container>
|
|
|
- <details-page v-if="!show" @goBack="goBack()" :detailData="detailData" />
|
|
|
- <details-info v-if="!showInfo" @goBack="goBack()" @editOpen="editOpen" :detailData="detailData" />
|
|
|
- <el-dialog title="设置客户分类" v-dialogDrag :visible.sync="corpTypeVisible" class="avue-dialog" width="80%"
|
|
|
- append-to-body @closed="corpTypeClosed">
|
|
|
- <span>
|
|
|
- <corp-type></corp-type>
|
|
|
- <!-- <avue-form :key="reload" ref="corpType" v-model="form4" :option="option4" style="margin-top:20px">
|
|
|
+ </template>
|
|
|
+ </avue-crud>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ </basic-container>
|
|
|
+ <details-page v-if="!show" @goBack="goBack()" :detailData="detailData" />
|
|
|
+ <details-info v-if="!showInfo" @goBack="goBack()" @editOpen="editOpen" :detailData="detailData" />
|
|
|
+ <el-dialog title="设置客户分类" v-dialogDrag :visible.sync="corpTypeVisible" class="avue-dialog" width="80%" append-to-body
|
|
|
+ @closed="corpTypeClosed">
|
|
|
+ <span>
|
|
|
+ <corp-type></corp-type>
|
|
|
+ <!-- <avue-form :key="reload" ref="corpType" v-model="form4" :option="option4" style="margin-top:20px">
|
|
|
</avue-form> -->
|
|
|
- </span>
|
|
|
- <div class="avue-dialog__footer">
|
|
|
- <el-button @click="corpTypeVisible = false" size="mini">取 消</el-button>
|
|
|
- <el-button @click="addCorpType" type="primary" size="mini">确 定</el-button>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
- <el-dialog title="导入客户" append-to-body :visible.sync="excelBox" width="555px" :close-on-click-modal="false"
|
|
|
- v-dialog-drag>
|
|
|
- <avue-form :option="excelOption" v-model="excelForm" table-loading="excelLoading"
|
|
|
- :upload-before="uploadBefore" :upload-after="uploadAfter">
|
|
|
- <template slot="excelTemplate">
|
|
|
- <el-button type="primary" @click="derivation">
|
|
|
- 点击下载<i class="el-icon-download el-icon--right"></i>
|
|
|
- </el-button>
|
|
|
- </template>
|
|
|
- </avue-form>
|
|
|
- <p style="text-align: center;color: #DC0505">
|
|
|
- 温馨提示 第一次导入时请先下载模板
|
|
|
- </p>
|
|
|
- </el-dialog>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
+ </span>
|
|
|
+ <div class="avue-dialog__footer">
|
|
|
+ <el-button @click="corpTypeVisible = false" size="mini">取 消</el-button>
|
|
|
+ <el-button @click="addCorpType" type="primary" size="mini">确 定</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog title="导入客户" append-to-body :visible.sync="excelBox" width="555px" :close-on-click-modal="false"
|
|
|
+ v-dialog-drag>
|
|
|
+ <avue-form :option="excelOption" v-model="excelForm" table-loading="excelLoading" :upload-before="uploadBefore"
|
|
|
+ :upload-after="uploadAfter">
|
|
|
+ <template slot="excelTemplate">
|
|
|
+ <el-button type="primary" @click="derivation">
|
|
|
+ 点击下载<i class="el-icon-download el-icon--right"></i>
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </avue-form>
|
|
|
+ <p style="text-align: center;color: #DC0505">
|
|
|
+ 温馨提示 第一次导入时请先下载模板
|
|
|
+ </p>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
|
|
|
- <script>
|
|
|
- import detailsInfo from "./detailsInfo";
|
|
|
- import detailsPage from "./detailsPage";
|
|
|
- import { option } from "./js/optionList";
|
|
|
- import {
|
|
|
+<script>
|
|
|
+import detailsInfo from "./detailsInfo";
|
|
|
+import detailsPage from "./detailsPage";
|
|
|
+import { option } from "./js/optionList";
|
|
|
+import {
|
|
|
getCorpType,
|
|
|
} from "@/api/tirePartsMall/basicData/customerInformation";
|
|
|
- import { getList, pageStatistics, remove, addCorpType, customerList } from "@/api/basicData/customerTransactions";
|
|
|
- import corpType from '@/components/corpType/index'
|
|
|
- import {getToken} from "@/util/auth";
|
|
|
- export default {
|
|
|
- name: "index",
|
|
|
- data() {
|
|
|
- return {
|
|
|
- corpTypeVisible: false,
|
|
|
- excelForm:{},
|
|
|
- excelOption: {
|
|
|
- submitBtn: false,
|
|
|
- emptyBtn: false,
|
|
|
- column: [
|
|
|
- {
|
|
|
- label: "模板下载",
|
|
|
- prop: "excelTemplate",
|
|
|
- formslot: true,
|
|
|
- span: 24
|
|
|
+import { getList, pageStatistics, remove, addCorpType, customerList } from "@/api/basicData/customerTransactions";
|
|
|
+import corpType from '@/components/corpType/index'
|
|
|
+import { getToken } from "@/util/auth";
|
|
|
+export default {
|
|
|
+ name: "index",
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ corpTypeVisible: false,
|
|
|
+ excelForm: {},
|
|
|
+ excelOption: {
|
|
|
+ submitBtn: false,
|
|
|
+ emptyBtn: false,
|
|
|
+ column: [
|
|
|
+ {
|
|
|
+ label: "模板下载",
|
|
|
+ prop: "excelTemplate",
|
|
|
+ formslot: true,
|
|
|
+ span: 24
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "导入客户",
|
|
|
+ prop: "excelFile",
|
|
|
+ type: "upload",
|
|
|
+ drag: true,
|
|
|
+ loadText: "客户上传中,请稍等",
|
|
|
+ accept: '.xls,.xlsx',
|
|
|
+ span: 24,
|
|
|
+ propsHttp: {
|
|
|
+ res: "data"
|
|
|
},
|
|
|
- {
|
|
|
- label: "导入客户",
|
|
|
- prop: "excelFile",
|
|
|
- type: "upload",
|
|
|
- drag: true,
|
|
|
- loadText: "客户上传中,请稍等",
|
|
|
- accept:'.xls,.xlsx',
|
|
|
- span: 24,
|
|
|
- propsHttp: {
|
|
|
- res: "data"
|
|
|
- },
|
|
|
- tip: "请上传 .xls,.xlsx 标准格式文件",
|
|
|
- action: "/api/blade-client/partsCorps/import-desc"
|
|
|
+ tip: "请上传 .xls,.xlsx 标准格式文件",
|
|
|
+ action: "/api/blade-client/partsCorps/import-desc"
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ src: '',
|
|
|
+ show: true,
|
|
|
+ excelBox: false,
|
|
|
+ showInfo: true,
|
|
|
+ loading: false,
|
|
|
+ search: {},
|
|
|
+ detailData: {},
|
|
|
+ dataList: [],
|
|
|
+ selectionList: [],
|
|
|
+ page: {
|
|
|
+ pageSize: 20,
|
|
|
+ currentPage: 1,
|
|
|
+ total: 0,
|
|
|
+ pageSizes: [10, 20, 30, 40, 50, 100, 200, 300, 400, 500]
|
|
|
+ },
|
|
|
+ form: {
|
|
|
+ totalAmount: 0,
|
|
|
+ paidAmount: 0,
|
|
|
+ unpaidAmount: 0
|
|
|
+ },
|
|
|
+ formSerach: {},
|
|
|
+ pickerOptions: {
|
|
|
+ shortcuts: [
|
|
|
+ {
|
|
|
+ text: '当天',
|
|
|
+ onClick(picker) {
|
|
|
+ const date = new Date();
|
|
|
+ const start = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0);
|
|
|
+ const end = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: '昨天',
|
|
|
+ onClick(picker) {
|
|
|
+ const date = new Date();
|
|
|
+ const start = new Date(date.getFullYear(), date.getMonth(), date.getDate() - 1, 0, 0, 0);
|
|
|
+ const end = new Date(date.getFullYear(), date.getMonth(), date.getDate() - 1, 23, 59, 59);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '当月',
|
|
|
+ onClick(picker) {
|
|
|
+ const date = new Date();
|
|
|
+ const start = new Date(date.getFullYear(), date.getMonth(), 1, 0, 0, 0);
|
|
|
+ const end = new Date(date.getFullYear(), date.getMonth() + 1, 0, 23, 59, 59);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '当季',
|
|
|
+ onClick(picker) {
|
|
|
+ const date = new Date();
|
|
|
+ const start = new Date(date.getFullYear(), parseInt(date.getMonth() / 3) * 3, 1, 0, 0, 0);
|
|
|
+ const end = new Date(date.getFullYear(), parseInt(date.getMonth() / 3) * 3 + 3, 0, 23, 59, 59);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '当年',
|
|
|
+ onClick(picker) {
|
|
|
+ const date = new Date();
|
|
|
+ const start = new Date(date.getFullYear(), date.getMonth(), 1, 0, 0, 0);
|
|
|
+ const end = new Date(date.getFullYear() + 1, 0, 0, 23, 59, 59);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '最近一周',
|
|
|
+ onClick(picker) {
|
|
|
+ const date = new Date();
|
|
|
+ const start = new Date(date.getFullYear(), date.getMonth(), date.getDate() - 7, 0, 0, 0);
|
|
|
+ const end = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '最近二周',
|
|
|
+ onClick(picker) {
|
|
|
+ const date = new Date();
|
|
|
+ const start = new Date(date.getFullYear(), date.getMonth(), date.getDate() - 7 * 2, 0, 0, 0);
|
|
|
+ const end = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
}
|
|
|
- ]
|
|
|
- },
|
|
|
- src: '',
|
|
|
- show: true,
|
|
|
- excelBox: false,
|
|
|
- showInfo: true,
|
|
|
- loading: false,
|
|
|
- search: {},
|
|
|
- detailData: {},
|
|
|
- dataList: [],
|
|
|
- selectionList: [],
|
|
|
- page: {
|
|
|
- pageSize: 20,
|
|
|
- currentPage: 1,
|
|
|
- total: 0,
|
|
|
- pageSizes: [10, 20, 30, 40, 50, 100, 200, 300, 400, 500]
|
|
|
- },
|
|
|
- form: {
|
|
|
- totalAmount: 0,
|
|
|
- paidAmount: 0,
|
|
|
- unpaidAmount: 0
|
|
|
- },
|
|
|
- formSerach: {},
|
|
|
- pickerOptions: {
|
|
|
- shortcuts: [
|
|
|
- {
|
|
|
- text: '当天',
|
|
|
- onClick(picker) {
|
|
|
- const date = new Date();
|
|
|
- const start = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0);
|
|
|
- const end = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59);
|
|
|
- picker.$emit('pick', [start, end]);
|
|
|
+ }, {
|
|
|
+ text: '最近三周',
|
|
|
+ onClick(picker) {
|
|
|
+ const date = new Date();
|
|
|
+ const start = new Date(date.getFullYear(), date.getMonth(), date.getDate() - 7 * 3, 0, 0, 0);
|
|
|
+ const end = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }]
|
|
|
+ },
|
|
|
+ treeOption: {
|
|
|
+ addBtn: false,
|
|
|
+ menu: false,
|
|
|
+ size: "small",
|
|
|
+ props: {
|
|
|
+ labelText: "标题",
|
|
|
+ label: "title",
|
|
|
+ value: "value",
|
|
|
+ }
|
|
|
+ },
|
|
|
+ treeData: [],
|
|
|
+ form4: {},
|
|
|
+ option4: {
|
|
|
+ menuBtn: false,
|
|
|
+ labelWidth: 80,
|
|
|
+ column: [
|
|
|
+ {
|
|
|
+ label: "分类名称",
|
|
|
+ prop: "cname",
|
|
|
+ rules: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: "",
|
|
|
+ trigger: "blur"
|
|
|
}
|
|
|
+ ],
|
|
|
+ span: 24,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "上级类型",
|
|
|
+ prop: "parentId",
|
|
|
+ dicData: [],
|
|
|
+ type: "tree",
|
|
|
+ props: {
|
|
|
+ label: "cname",
|
|
|
+ value: "id"
|
|
|
},
|
|
|
- {
|
|
|
- text: '昨天',
|
|
|
- onClick(picker) {
|
|
|
- const date = new Date();
|
|
|
- const start = new Date(date.getFullYear(), date.getMonth(), date.getDate() - 1, 0, 0, 0);
|
|
|
- const end = new Date(date.getFullYear(), date.getMonth(), date.getDate() - 1, 23, 59, 59);
|
|
|
- picker.$emit('pick', [start, end]);
|
|
|
- }
|
|
|
- }, {
|
|
|
- text: '当月',
|
|
|
- onClick(picker) {
|
|
|
- const date = new Date();
|
|
|
- const start = new Date(date.getFullYear(), date.getMonth(), 1, 0, 0, 0);
|
|
|
- const end = new Date(date.getFullYear(), date.getMonth() + 1, 0, 23, 59, 59);
|
|
|
- picker.$emit('pick', [start, end]);
|
|
|
- }
|
|
|
- }, {
|
|
|
- text: '当季',
|
|
|
- onClick(picker) {
|
|
|
- const date = new Date();
|
|
|
- const start = new Date(date.getFullYear(), parseInt(date.getMonth() / 3) * 3, 1, 0, 0, 0);
|
|
|
- const end = new Date(date.getFullYear(), parseInt(date.getMonth() / 3) * 3 + 3, 0, 23, 59, 59);
|
|
|
- picker.$emit('pick', [start, end]);
|
|
|
- }
|
|
|
- }, {
|
|
|
- text: '当年',
|
|
|
- onClick(picker) {
|
|
|
- const date = new Date();
|
|
|
- const start = new Date(date.getFullYear(), date.getMonth(), 1, 0, 0, 0);
|
|
|
- const end = new Date(date.getFullYear() + 1, 0, 0, 23, 59, 59);
|
|
|
- picker.$emit('pick', [start, end]);
|
|
|
- }
|
|
|
- }, {
|
|
|
- text: '最近一周',
|
|
|
- onClick(picker) {
|
|
|
- const date = new Date();
|
|
|
- const start = new Date(date.getFullYear(), date.getMonth(), date.getDate() - 7, 0, 0, 0);
|
|
|
- const end = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59);
|
|
|
- picker.$emit('pick', [start, end]);
|
|
|
- }
|
|
|
- }, {
|
|
|
- text: '最近二周',
|
|
|
- onClick(picker) {
|
|
|
- const date = new Date();
|
|
|
- const start = new Date(date.getFullYear(), date.getMonth(), date.getDate() - 7 * 2, 0, 0, 0);
|
|
|
- const end = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59);
|
|
|
- picker.$emit('pick', [start, end]);
|
|
|
- }
|
|
|
- }, {
|
|
|
- text: '最近三周',
|
|
|
- onClick(picker) {
|
|
|
- const date = new Date();
|
|
|
- const start = new Date(date.getFullYear(), date.getMonth(), date.getDate() - 7 * 3, 0, 0, 0);
|
|
|
- const end = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59);
|
|
|
- picker.$emit('pick', [start, end]);
|
|
|
- }
|
|
|
- }]
|
|
|
- },
|
|
|
- treeOption: {
|
|
|
- addBtn: false,
|
|
|
- menu: false,
|
|
|
- size: "small",
|
|
|
- props: {
|
|
|
- labelText: "标题",
|
|
|
- label: "title",
|
|
|
- value: "value",
|
|
|
+ span: 24,
|
|
|
}
|
|
|
- },
|
|
|
- treeData: [],
|
|
|
- form4: {},
|
|
|
- option4: {
|
|
|
- menuBtn: false,
|
|
|
- labelWidth: 80,
|
|
|
- column: [
|
|
|
- {
|
|
|
- label: "分类名称",
|
|
|
- prop: "cname",
|
|
|
- rules: [
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: "",
|
|
|
- trigger: "blur"
|
|
|
- }
|
|
|
- ],
|
|
|
- span: 24,
|
|
|
- },
|
|
|
- {
|
|
|
- label: "上级类型",
|
|
|
- prop: "parentId",
|
|
|
- dicData: [],
|
|
|
- type: "tree",
|
|
|
- props: {
|
|
|
- label: "cname",
|
|
|
- value: "id"
|
|
|
- },
|
|
|
- span: 24,
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ hostUrl: '',
|
|
|
+ option: {}
|
|
|
+ };
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ detailsPage,
|
|
|
+ detailsInfo,
|
|
|
+ corpType
|
|
|
+ },
|
|
|
+ async created() {
|
|
|
+ this.option = await this.getColumnData(this.getColumnName(277.2), option);
|
|
|
+ this.option.height = window.innerHeight - 330;
|
|
|
+ this.getAllWorkDicts()
|
|
|
+ },
|
|
|
+ activated() {
|
|
|
+ this.$refs.crud.refreshTable();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ derivation() {
|
|
|
+ window.open(
|
|
|
+ `/api/blade-client/partsCorps/export-template?${this.website.tokenHeader
|
|
|
+ }=${getToken()}`
|
|
|
+ );
|
|
|
+ },
|
|
|
+ //导出
|
|
|
+ outExport() {
|
|
|
+ let config = { params: { ...this.search } }
|
|
|
+ if (config.params) {
|
|
|
+ for (const propName of Object.keys(config.params)) {
|
|
|
+ const value = config.params[propName];
|
|
|
+ if (value !== null && typeof (value) !== "undefined") {
|
|
|
+ if (value instanceof Array) {
|
|
|
+ for (const key of Object.keys(value)) {
|
|
|
+ let params = propName + '[' + key + ']';
|
|
|
+ config.params[params] = value[key]
|
|
|
+ }
|
|
|
+ delete config.params[propName]
|
|
|
}
|
|
|
- ]
|
|
|
- },
|
|
|
- hostUrl: '',
|
|
|
- option:{}
|
|
|
- };
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ const routeData = this.$router.resolve({
|
|
|
+ path: '/api/blade-client/partsCorps/export-desc', //跳转目标窗口的地址
|
|
|
+ query: {
|
|
|
+ ...config.params, //括号内是要传递给新窗口的参数
|
|
|
+ identification: this.url
|
|
|
+ }
|
|
|
+ })
|
|
|
+ window.open(routeData.href.slice(1, routeData.href.length) + '&' + `${this.website.tokenHeader}=${getToken()}`);
|
|
|
+ },
|
|
|
+ uploadBefore(file, done, loading) {
|
|
|
+ done();
|
|
|
+ loading = true;
|
|
|
+ },
|
|
|
+ uploadAfter(res, done, loading, column) {
|
|
|
+ this.excelBox = false;
|
|
|
+ let myError = res.toString();//转字符串
|
|
|
+ myError = myError.replace("Error: ", "") // 去掉前面的" Error: "
|
|
|
+ this.$message.success(myError);
|
|
|
+ this.refreshChange();
|
|
|
+ loading = false;
|
|
|
+ done();
|
|
|
+ },
|
|
|
+ filterNode(value, data) {
|
|
|
+ console.log(value, data)
|
|
|
+ if (!value) return true;
|
|
|
+ return data.label.indexOf(value) !== -1;
|
|
|
+ },
|
|
|
+ nodeClick(data) {
|
|
|
+ this.search.corpsTypeId = data.value
|
|
|
+ this.page.currentPage = 1;
|
|
|
+ this.onLoad(this.page, this.search);
|
|
|
+ },
|
|
|
+ getAllWorkDicts() {
|
|
|
+ //状态
|
|
|
+ // this.getWorkDicts("client_status").then(res => {
|
|
|
+ // this.findObject(this.option.column, "status").dicData = res.data.data;
|
|
|
+ // });
|
|
|
+ getCorpType({ corpType: 'KH' }).then(res => {
|
|
|
+ this.treeData = res.data.data
|
|
|
+ });
|
|
|
+ // customerList({ corpType: "KH" }).then(res => {
|
|
|
+ // this.findObject(this.option4.column, "parentId").dicData = res.data.data.records
|
|
|
+ // });
|
|
|
+ this.$refs.crud.init();
|
|
|
},
|
|
|
- components: {
|
|
|
- detailsPage,
|
|
|
- detailsInfo,
|
|
|
- corpType
|
|
|
+ searchCriteriaSwitch(type) {
|
|
|
+ if (type) {
|
|
|
+ this.option.height = this.option.height - 46;
|
|
|
+ } else {
|
|
|
+ this.option.height = this.option.height + 46;
|
|
|
+ }
|
|
|
+ this.$refs.crud.getTableHeight();
|
|
|
},
|
|
|
- async created() {
|
|
|
- this.option = await this.getColumnData(this.getColumnName(277.2), option);
|
|
|
- this.option.height = window.innerHeight - 330;
|
|
|
+ cellStyle() {
|
|
|
+ return "padding:0;height:40px;";
|
|
|
+ },
|
|
|
+ //点击搜索按钮触发
|
|
|
+ searchChange(params, done) {
|
|
|
+ this.page.currentPage = 1;
|
|
|
+ this.onLoad(this.page, params);
|
|
|
+ done();
|
|
|
+ },
|
|
|
+ refreshChange() {
|
|
|
+ this.onLoad(this.page, this.search);
|
|
|
+ },
|
|
|
+ newAdd() {
|
|
|
+ this.show = false;
|
|
|
+ },
|
|
|
+ onLoad(page, params = {}) {
|
|
|
+ let data = this.deepClone(Object.assign(params, this.search));
|
|
|
+ if (data.date && data.date.length > 0) {
|
|
|
+ data.startTime = data.date[0]
|
|
|
+ data.endTime = data.date[1]
|
|
|
+ }
|
|
|
+ delete data.date
|
|
|
+ data.corpType = "KH"
|
|
|
+ this.loading = true;
|
|
|
+ getList(
|
|
|
+ page.currentPage,
|
|
|
+ page.pageSize,
|
|
|
+ data
|
|
|
+ )
|
|
|
+ .then(res => {
|
|
|
+ this.dataList = res.data.data.records ? res.data.data.records : [];
|
|
|
+ this.page.total = res.data.data.total;
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ pageStatistics(data).then(res => {
|
|
|
+ this.form = res.data.data
|
|
|
+ })
|
|
|
+ this.loading = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ addCorpType() {
|
|
|
+ // this.$refs["corpType"].validate((valid, done) => {
|
|
|
+ // done();
|
|
|
+ // if (valid) {
|
|
|
+ // addCorpType({ ...this.form4, corpType: 'KH', status: 0 })
|
|
|
+ // .then(res => {
|
|
|
+ // this.$message.success("保存成功");
|
|
|
+ // this.getAllWorkDicts()
|
|
|
+ // this.corpTypeVisible = false
|
|
|
+ // })
|
|
|
+ // } else {
|
|
|
+ // return false;
|
|
|
+ // }
|
|
|
+ // });
|
|
|
this.getAllWorkDicts()
|
|
|
+ this.corpTypeVisible = false
|
|
|
},
|
|
|
- activated() {
|
|
|
- this.$refs.crud.refreshTable();
|
|
|
+ corpTypeClosed() {
|
|
|
+ // this.reload = Math.random();
|
|
|
+ // this.form4 = this.$options.data().form4
|
|
|
},
|
|
|
- methods: {
|
|
|
- derivation() {
|
|
|
- window.open(
|
|
|
- `/api/blade-client/partsCorps/export-template?${this.website.tokenHeader
|
|
|
- }=${getToken()}`
|
|
|
- );
|
|
|
- },
|
|
|
- //导出
|
|
|
- outExport() {
|
|
|
- let config = {params: {...this.search}}
|
|
|
- if (config.params) {
|
|
|
- for (const propName of Object.keys(config.params)) {
|
|
|
- const value = config.params[propName];
|
|
|
- if (value !== null && typeof (value) !== "undefined") {
|
|
|
- if (value instanceof Array) {
|
|
|
- for (const key of Object.keys(value)) {
|
|
|
- let params = propName + '[' + key + ']';
|
|
|
- config.params[params] = value[key]
|
|
|
- }
|
|
|
- delete config.params[propName]
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- const routeData = this.$router.resolve({
|
|
|
- path: '/api/blade-client/partsCorps/export-desc', //跳转目标窗口的地址
|
|
|
- query: {
|
|
|
- ...config.params, //括号内是要传递给新窗口的参数
|
|
|
- identification:this.url
|
|
|
+ viewInfo(row) {
|
|
|
+ this.show = true;
|
|
|
+ this.detailData = {
|
|
|
+ id: row.id,
|
|
|
+ };
|
|
|
+ this.showInfo = false;
|
|
|
+ },
|
|
|
+ editOpen(row, status) {
|
|
|
+ this.showInfo = true;
|
|
|
+ this.detailData = {
|
|
|
+ id: row.id,
|
|
|
+ status: status
|
|
|
+ };
|
|
|
+ this.show = false;
|
|
|
+ },
|
|
|
+ currentChange(val) {
|
|
|
+ this.page.currentPage = val;
|
|
|
+ },
|
|
|
+ sizeChange(val) {
|
|
|
+ this.page.currentPage = 1;
|
|
|
+ this.page.pageSize = val;
|
|
|
+ },
|
|
|
+ rowDel(row, index, done) {
|
|
|
+ this.$confirm("确定删除数据?", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(() => {
|
|
|
+ remove({ id: row.id, corpType: "KH" }).then(res => {
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ this.$message({
|
|
|
+ type: "success",
|
|
|
+ message: "删除成功!"
|
|
|
+ });
|
|
|
+ this.onLoad(this.page, this.search);
|
|
|
}
|
|
|
- })
|
|
|
- window.open(routeData.href.slice(1, routeData.href.length) + '&' + `${this.website.tokenHeader}=${getToken()}`);
|
|
|
- },
|
|
|
- uploadBefore(file, done, loading) {
|
|
|
- done();
|
|
|
- loading = true;
|
|
|
- },
|
|
|
- uploadAfter(res, done, loading, column) {
|
|
|
- this.excelBox = false;
|
|
|
- let myError=res.toString();//转字符串
|
|
|
- myError=myError.replace("Error: ","") // 去掉前面的" Error: "
|
|
|
- this.$message.success(myError);
|
|
|
- this.refreshChange();
|
|
|
- loading = false;
|
|
|
- done();
|
|
|
- },
|
|
|
- filterNode(value, data) {
|
|
|
- console.log(value, data)
|
|
|
- if (!value) return true;
|
|
|
- return data.label.indexOf(value) !== -1;
|
|
|
- },
|
|
|
- nodeClick(data) {
|
|
|
- this.search.corpsTypeId = data.value
|
|
|
- this.page.currentPage = 1;
|
|
|
- this.onLoad(this.page, this.search);
|
|
|
- },
|
|
|
- getAllWorkDicts() {
|
|
|
- //状态
|
|
|
- // this.getWorkDicts("client_status").then(res => {
|
|
|
- // this.findObject(this.option.column, "status").dicData = res.data.data;
|
|
|
- // });
|
|
|
- getCorpType({ corpType: 'KH' }).then(res => {
|
|
|
- this.treeData = res.data.data
|
|
|
});
|
|
|
- // customerList({ corpType: "KH" }).then(res => {
|
|
|
- // this.findObject(this.option4.column, "parentId").dicData = res.data.data.records
|
|
|
- // });
|
|
|
- this.$refs.crud.init();
|
|
|
- },
|
|
|
- searchCriteriaSwitch(type) {
|
|
|
- if (type) {
|
|
|
- this.option.height = this.option.height - 46;
|
|
|
- } else {
|
|
|
- this.option.height = this.option.height + 46;
|
|
|
- }
|
|
|
- this.$refs.crud.getTableHeight();
|
|
|
- },
|
|
|
- cellStyle() {
|
|
|
- return "padding:0;height:40px;";
|
|
|
- },
|
|
|
- //点击搜索按钮触发
|
|
|
- searchChange(params, done) {
|
|
|
- this.page.currentPage = 1;
|
|
|
- this.onLoad(this.page, params);
|
|
|
- done();
|
|
|
- },
|
|
|
- refreshChange() {
|
|
|
- this.onLoad(this.page, this.search);
|
|
|
- },
|
|
|
- newAdd() {
|
|
|
- this.show = false;
|
|
|
- },
|
|
|
- onLoad(page, params = {}) {
|
|
|
- let data = this.deepClone(Object.assign(params, this.search));
|
|
|
- if (data.date && data.date.length > 0) {
|
|
|
- data.startTime = data.date[0]
|
|
|
- data.endTime = data.date[1]
|
|
|
- }
|
|
|
- delete data.date
|
|
|
- data.corpType = "KH"
|
|
|
- this.loading = true;
|
|
|
- getList(
|
|
|
- page.currentPage,
|
|
|
- page.pageSize,
|
|
|
- data
|
|
|
- )
|
|
|
- .then(res => {
|
|
|
- this.dataList = res.data.data.records ? res.data.data.records : [];
|
|
|
- this.page.total = res.data.data.total;
|
|
|
- })
|
|
|
- .finally(() => {
|
|
|
- pageStatistics(data).then(res => {
|
|
|
- this.form = res.data.data
|
|
|
- })
|
|
|
- this.loading = false;
|
|
|
- });
|
|
|
- },
|
|
|
- addCorpType() {
|
|
|
- // this.$refs["corpType"].validate((valid, done) => {
|
|
|
- // done();
|
|
|
- // if (valid) {
|
|
|
- // addCorpType({ ...this.form4, corpType: 'KH', status: 0 })
|
|
|
- // .then(res => {
|
|
|
- // this.$message.success("保存成功");
|
|
|
- // this.getAllWorkDicts()
|
|
|
- // this.corpTypeVisible = false
|
|
|
- // })
|
|
|
- // } else {
|
|
|
- // return false;
|
|
|
- // }
|
|
|
- // });
|
|
|
- this.getAllWorkDicts()
|
|
|
- this.corpTypeVisible = false
|
|
|
- },
|
|
|
- corpTypeClosed() {
|
|
|
- // this.reload = Math.random();
|
|
|
- // this.form4 = this.$options.data().form4
|
|
|
- },
|
|
|
- viewInfo(row) {
|
|
|
- this.show = true;
|
|
|
- this.detailData = {
|
|
|
- id: row.id,
|
|
|
- };
|
|
|
- this.showInfo = false;
|
|
|
- },
|
|
|
- editOpen(row, status) {
|
|
|
- this.showInfo = true;
|
|
|
- this.detailData = {
|
|
|
- id: row.id,
|
|
|
- status: status
|
|
|
- };
|
|
|
- this.show = false;
|
|
|
- },
|
|
|
- currentChange(val) {
|
|
|
- this.page.currentPage = val;
|
|
|
- },
|
|
|
- sizeChange(val) {
|
|
|
- this.page.currentPage = 1;
|
|
|
- this.page.pageSize = val;
|
|
|
- },
|
|
|
- rowDel(row, index, done) {
|
|
|
- this.$confirm("确定删除数据?", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning"
|
|
|
- }).then(() => {
|
|
|
- remove({ id: row.id, corpType: "KH" }).then(res => {
|
|
|
- if (res.data.code == 200) {
|
|
|
- this.$message({
|
|
|
- type: "success",
|
|
|
- message: "删除成功!"
|
|
|
- });
|
|
|
- this.onLoad(this.page, this.search);
|
|
|
- }
|
|
|
- });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ async saveColumn() {
|
|
|
+ const inSave = await this.saveColumnData(
|
|
|
+ this.getColumnName(277.2),
|
|
|
+ this.option
|
|
|
+ );
|
|
|
+ if (inSave) {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.crud.doLayout();
|
|
|
});
|
|
|
- },
|
|
|
- async saveColumn() {
|
|
|
- const inSave = await this.saveColumnData(
|
|
|
- this.getColumnName(277.2),
|
|
|
- this.option
|
|
|
- );
|
|
|
- if (inSave) {
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.crud.doLayout();
|
|
|
- });
|
|
|
- this.$message.success("保存成功");
|
|
|
- //关闭窗口
|
|
|
- this.$refs.crud.$refs.dialogColumn.columnBox = false;
|
|
|
- }
|
|
|
- },
|
|
|
- async resetColumn() {
|
|
|
- this.option = option;
|
|
|
- const inSave = await this.delColumnData(this.getColumnName(277.2), option);
|
|
|
- if (inSave) {
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.crud.doLayout();
|
|
|
- });
|
|
|
- this.getAllWorkDicts()
|
|
|
- this.$message.success("重置成功");
|
|
|
- this.$refs.crud.$refs.dialogColumn.columnBox = false;
|
|
|
- }
|
|
|
- },
|
|
|
- //返回列表
|
|
|
- goBack() {
|
|
|
- this.detailData = this.$options.data().detailData;
|
|
|
- this.show = true;
|
|
|
- this.showInfo = true;
|
|
|
- this.onLoad(this.page, this.search);
|
|
|
- },
|
|
|
- }
|
|
|
- }
|
|
|
- </script>
|
|
|
-
|
|
|
- <style lang="scss" scoped>
|
|
|
- .page-crad ::v-deep .basic-container__card {
|
|
|
- height: 94.2vh;
|
|
|
- }
|
|
|
-
|
|
|
- ::v-deep .el-form-item__error {
|
|
|
- display: none !important;
|
|
|
- }
|
|
|
-
|
|
|
- ::v-deep .el-input-group__append {
|
|
|
- padding: 0 0px !important;
|
|
|
- }
|
|
|
-
|
|
|
- .el-dialog ::v-deep .el-form-item__error {
|
|
|
- display: none !important;
|
|
|
- }
|
|
|
-
|
|
|
- .stat-td {
|
|
|
- text-align: center;
|
|
|
- position: relative;
|
|
|
+ this.$message.success("保存成功");
|
|
|
+ //关闭窗口
|
|
|
+ this.$refs.crud.$refs.dialogColumn.columnBox = false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async resetColumn() {
|
|
|
+ this.option = option;
|
|
|
+ const inSave = await this.delColumnData(this.getColumnName(277.2), option);
|
|
|
+ if (inSave) {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.crud.doLayout();
|
|
|
+ });
|
|
|
+ this.getAllWorkDicts()
|
|
|
+ this.$message.success("重置成功");
|
|
|
+ this.$refs.crud.$refs.dialogColumn.columnBox = false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //返回列表
|
|
|
+ goBack() {
|
|
|
+ this.detailData = this.$options.data().detailData;
|
|
|
+ this.show = true;
|
|
|
+ this.showInfo = true;
|
|
|
+ this.onLoad(this.page, this.search);
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.crud.doLayout();
|
|
|
+ });
|
|
|
+ },
|
|
|
}
|
|
|
+}
|
|
|
+</script>
|
|
|
|
|
|
- .stat-img {
|
|
|
- width: 95%;
|
|
|
- height: 100px;
|
|
|
+<style lang="scss" scoped>
|
|
|
+.page-crad ::v-deep .basic-container__card {
|
|
|
+ height: 94.2vh;
|
|
|
+}
|
|
|
+
|
|
|
+::v-deep .el-form-item__error {
|
|
|
+ display: none !important;
|
|
|
+}
|
|
|
+
|
|
|
+::v-deep .el-input-group__append {
|
|
|
+ padding: 0 0px !important;
|
|
|
+}
|
|
|
+
|
|
|
+.el-dialog ::v-deep .el-form-item__error {
|
|
|
+ display: none !important;
|
|
|
+}
|
|
|
+
|
|
|
+.stat-td {
|
|
|
+ text-align: center;
|
|
|
+ position: relative;
|
|
|
+}
|
|
|
+
|
|
|
+.stat-img {
|
|
|
+ width: 95%;
|
|
|
+ height: 100px;
|
|
|
+}
|
|
|
+
|
|
|
+.stat-tip {
|
|
|
+ position: absolute;
|
|
|
+ left: 15px;
|
|
|
+ top: 5px;
|
|
|
+
|
|
|
+ .money {
|
|
|
+ color: #fff;
|
|
|
+ font-size: 28px;
|
|
|
+ text-align: left;
|
|
|
+ font-weight: 600;
|
|
|
}
|
|
|
-
|
|
|
- .stat-tip {
|
|
|
- position: absolute;
|
|
|
- left: 15px;
|
|
|
- top: 5px;
|
|
|
-
|
|
|
- .money {
|
|
|
- color: #fff;
|
|
|
- font-size: 28px;
|
|
|
- text-align: left;
|
|
|
- font-weight: 600;
|
|
|
- }
|
|
|
-
|
|
|
- .title {
|
|
|
- color: #fff;
|
|
|
- font-size: 14px;
|
|
|
- text-align: left;
|
|
|
- margin-top: 5px;
|
|
|
- margin-bottom: 0px;
|
|
|
- }
|
|
|
+
|
|
|
+ .title {
|
|
|
+ color: #fff;
|
|
|
+ font-size: 14px;
|
|
|
+ text-align: left;
|
|
|
+ margin-top: 5px;
|
|
|
+ margin-bottom: 0px;
|
|
|
}
|
|
|
- </style>
|
|
|
+}
|
|
|
+</style>
|
|
|
|