From 8d817b3847f9a96850c1a28f7923940697df7235 Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期一, 26 二月 2024 02:12:35 +0800
Subject: [PATCH] 框架搭建
---
src/components/view/registrant-count.vue | 2
src/components/tool/value-table.vue | 90 ++-
src/components/view/data-comparison.vue | 23
src/components/view/role-manage.vue | 8
src/components/view/finance-submit.vue | 61 ++
static/js/menu.js | 743 ++++++++++++++++++++++++++++++
src/components/view/person-manage.vue | 8
src/view/404.vue | 8
src/view/index.vue | 264 +++-------
src/assets/api/controller.js | 19
src/components/view/enums.vue | 34
src/view/enter.vue | 2
src/components/view/product-count.vue | 16
index.html | 2
src/components/view/fans-submit.vue | 8
src/App.vue | 6
src/components/view/data-reporting.vue | 121 ++++
src/components/view/index-index.vue | 4
18 files changed, 1,129 insertions(+), 290 deletions(-)
diff --git a/index.html b/index.html
index 2dabd97..c074589 100644
--- a/index.html
+++ b/index.html
@@ -6,7 +6,7 @@
<meta http-equiv="Expires" CONTENT="0">
<meta http-equiv="Cache-Control" CONTENT="no-cache">
<meta http-equiv="Pragma" CONTENT="no-cache">
- <title>鑳滀簯鏁版嵁绠$悊骞冲彴</title>
+ <title>LIMS瀹為獙瀹ょ鐞嗙郴缁�</title>
<link rel="icon" type="image/x-icon" href="./static/img/logo.png">
</head>
<body>
diff --git a/src/App.vue b/src/App.vue
index 7ebe8dd..ddf8283 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,6 +1,6 @@
<template>
- <div id="app">
- <router-view />
+ <div id="app" style="overflow: hidden;">
+ <router-view/>
</div>
</template>
@@ -135,7 +135,7 @@
color: #333;
}
- .has-gutter .el-table__cell .cell {
+ .el-table__header .has-gutter .el-table__cell .cell {
font-size: 14px !important;
font-weight: 500;
}
diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js
index 5abe1b0..a3738d8 100644
--- a/src/assets/api/controller.js
+++ b/src/assets/api/controller.js
@@ -23,6 +23,7 @@
selectMenuList: "/role/selectMenuList", //鑾峰彇鑿滃崟
selectPowerByRoleId: "/role/selectPowerByRoleId", //閫氳繃瑙掕壊id鏌ヨ鏉冮檺鍒楄〃
upRole: "/role/upRole", //淇敼瑙掕壊
+ getUserMenu: "/user/getUserMenu", //鑾峰彇鐢ㄦ埛鏋氫妇
}
const dataReporting = {
@@ -40,11 +41,14 @@
downFinanceSubmitFile: "/dataReporting/downFinanceSubmitFile", //瀵煎嚭璐㈠姟涓婃姤
inputFinanceSubmitCsv: "/dataReporting/inputFinanceSubmitCsv", //瀵煎叆璐㈠姟涓婃姤
selectDataComparisonDtoPageList: "/dataReporting/selectDataComparisonDtoPageList", //鑾峰彇鏁版嵁瀵规瘮鍒楄〃
+ deleteAllData: "/dataReporting/deleteAllData", //涓�閿垹闄ゆ墍鏈夌殑鏁版嵁涓婃姤
+ selectDataReportingForCreateUserNames: "/dataReporting/selectDataReportingForCreateUserNames", //鑾峰彇鏁版嵁涓婃姤鐨勭櫥璁颁汉绛涢�夐」
selectFansSubmitList: "/dataReporting/selectFansSubmitList", //鑾峰彇杩涚矇涓婃姤鍒楄〃
delFansSubmit: "/dataReporting/delFansSubmit", //鍒犻櫎杩涚矇涓婃姤淇℃伅
updateFansSubmit: "/dataReporting/updateFansSubmit", //淇敼杩涚矇涓婃姤淇℃伅
addFansSubmit: "/dataReporting/addFansSubmit", //娣诲姞杩涚矇涓婃姤淇℃伅
+ selectVxs: "/dataReporting/selectVxs", //鑾峰彇杩涚矇涓殑寰俊鍙峰垪琛�
selectFinanceSubmitList: "/dataReporting/selectFinanceSubmitList", //鑾峰彇璐㈠姟涓婃姤鍒楄〃
delFinanceSubmit: "/dataReporting/delFinanceSubmit", //鍒犻櫎璐㈠姟涓婃姤淇℃伅
@@ -57,15 +61,8 @@
}
const enums = {
- selectCustomEnumLists: "/enum/selectCustomEnumLists", //鑾峰彇瀹㈡埛鍒楄〃
- selectCustomEnumList: "/enum/selectCustomEnumList", //鑾峰彇瀹㈡埛鏋氫妇
- delCustomEnum: "/enum/delCustomEnum", //鍒犻櫎瀹㈡埛淇℃伅
- updateCustomEnum: "/enum/updateCustomEnum", //淇敼瀹㈡埛淇℃伅
- addCustomEnum: "/enum/addCustomEnum", //娣诲姞瀹㈡埛淇℃伅
-
- selectProductEnumLists: "/enum/selectProductEnumLists", //鑾峰彇椤圭洰鍒楄〃
- selectProductEnumList: "/enum/selectProductEnumList", //鑾峰彇椤圭洰鏋氫妇
- delProductEnum: "/enum/delProductEnum", //鍒犻櫎椤圭洰淇℃伅
- updateProductEnum: "/enum/updateProductEnum", //淇敼椤圭洰淇℃伅
- addProductEnum: "/enum/addProductEnum", //娣诲姞椤圭洰淇℃伅
+ selectEnumList: "/enum/selectEnumList", //鑾峰彇鏋氫妇鍒楄〃
+ addEnum: "/enum/addEnum", //娣诲姞鏋氫妇
+ upEnum: "/enum/upEnum", //淇敼鏋氫妇
+ delEnum: "/enum/delEnum", //鍒犻櫎鏋氫妇
}
diff --git a/src/components/tool/value-table.vue b/src/components/tool/value-table.vue
index fadc898..f9400e7 100644
--- a/src/components/tool/value-table.vue
+++ b/src/components/tool/value-table.vue
@@ -35,7 +35,7 @@
.value-table .el-upload {
width: 100%;
}
-
+
.value-table .el-upload-dragger {
width: 100%;
}
@@ -46,8 +46,8 @@
<div class="table">
<el-table ref="eltable" :data="tableData" style="width: 100%;" height="100%" tooltip-effect="dark" border
@selection-change="selectChange" @select="select" v-loading="loading" @sort-change="sortChange"
- @row-click="rowClick">
- <el-table-column type="selection" width="50" v-if="data.showSelect">
+ @row-click="rowClick" :show-summary="data.countFleid!=undefined && data.countFleid.length > 0" :summary-method="getSummaries">
+ <el-table-column type="selection" width="65" v-if="data.showSelect">
</el-table-column>
<el-table-column align="center" type="index" label="搴忓彿" width="70" v-if="data.isIndex">
</el-table-column>
@@ -99,9 +99,10 @@
</span>
</el-dialog>
<el-dialog title="鏂板" :visible.sync="addDia" width="500px">
- <div class="body" v-if="addDia" style="max-height: 600px;overflow-y: auto;padding: 5px 0;">
+ <div class="body" v-if="addDia" style="max-height: 550px;overflow-y: auto;padding: 5px 0;">
<el-row v-for="(a, ai) in upHead" :key="ai" style="line-height: 50px;">
- <el-col :span="6" style="text-align: right;"><span class="required-span" v-if="showAddReq(a.label)">* </span>{{a.value}}锛�</el-col>
+ <el-col :span="6" style="text-align: right;"><span class="required-span" v-if="showAddReq(a.label)">*
+ </span>{{a.value}}锛�</el-col>
<el-col :span="16" :offset="1">
<el-input v-model="upData[a.label]" size="small" clearable :placeholder="`璇疯緭鍏�${a.value}`"
v-if="showType(a.label, data.selectField) == null"></el-input>
@@ -130,9 +131,9 @@
</el-dialog>
<el-dialog title="鏁版嵁瀵煎叆" :visible.sync="uploadDia" width="500px">
<div style="margin: 0 auto;">
- <el-upload ref="upload" drag :action="javaApi + inputUrl" :headers="token"
- :file-list="fileList" name="file" :auto-upload="false" accept=".csv" :limit="1" :on-change="beforeUpload"
- :on-success="onSuccess" :on-error="onError">
+ <el-upload ref="upload" drag :action="javaApi + inputUrl" :headers="token" :file-list="fileList" name="file"
+ :auto-upload="false" accept=".csv" :limit="1" :on-change="beforeUpload" :on-success="onSuccess"
+ :on-error="onError" :data="{param: data.uploadStr}">
<i class="el-icon-upload"></i>
<div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
</el-upload>
@@ -228,7 +229,8 @@
font: '鍒犻櫎',
type: 'text'
}],
- type: []
+ type: [],
+ uploadStr: ""
},
tableHead: [],
tableData: [],
@@ -343,23 +345,23 @@
var str = ob[val]
return str == undefined ? null : ob[val].select
},
- showAddReq(label){
- if(this.data.requiredAdd==undefined){
+ showAddReq(label) {
+ if (this.data.requiredAdd == undefined) {
return
}
for (var i = 0; i < this.data.requiredAdd.length; i++) {
- if(label == this.data.requiredAdd[i]){
+ if (label == this.data.requiredAdd[i]) {
return true
}
}
return false
},
- showUpReq(label){
- if(this.data.requiredUp==undefined){
+ showUpReq(label) {
+ if (this.data.requiredUp == undefined) {
return
}
for (var i = 0; i < this.data.requiredUp.length; i++) {
- if(label == this.data.requiredUp[i]){
+ if (label == this.data.requiredUp[i]) {
return true
}
}
@@ -429,11 +431,11 @@
return
}
for (var i = 0; i < this.data.requiredUp.length; i++) {
- if(this.upData[this.data.requiredUp[i]]==null||this.upData[this.data.requiredUp[i]]==''){
- var list = this.upHead.filter(a=>{
- if(a.label == this.data.requiredUp[i]) return a
+ if (this.upData[this.data.requiredUp[i]] == null || this.upData[this.data.requiredUp[i]] == '') {
+ var list = this.upHead.filter(a => {
+ if (a.label == this.data.requiredUp[i]) return a
})
- if(list[0].value == undefined) continue
+ if (list[0].value == undefined) continue
this.$message.error(list[0].value + '鏄繀濉」')
return
}
@@ -500,11 +502,11 @@
return
}
for (var i = 0; i < this.data.requiredAdd.length; i++) {
- if(this.upData[this.data.requiredAdd[i]]==null||this.upData[this.data.requiredAdd[i]]==''){
- var list = this.upHead.filter(a=>{
- if(a.label == this.data.requiredAdd[i]) return a
+ if (this.upData[this.data.requiredAdd[i]] == null || this.upData[this.data.requiredAdd[i]] == '') {
+ var list = this.upHead.filter(a => {
+ if (a.label == this.data.requiredAdd[i]) return a
})
- if(list[0].value == undefined) continue
+ if (list[0].value == undefined) continue
this.$message.error(list[0].value + '鏄繀濉」')
return
}
@@ -596,7 +598,7 @@
this.$refs.upload.clearFiles()
this.uploadDia = false
this.uploading = false
- if(response.code==201){
+ if (response.code == 201) {
this.$message.error(response.message)
return
}
@@ -608,16 +610,50 @@
this.$refs.upload.clearFiles()
this.uploading = false
},
- isDisabled(label){
- if(this.data.disabledUp==undefined){
+ isDisabled(label) {
+ if (this.data.disabledUp == undefined) {
return
}
for (var i = 0; i < this.data.disabledUp.length; i++) {
- if(label == this.data.disabledUp[i]){
+ if (label == this.data.disabledUp[i]) {
return true
}
}
return false
+ },
+ getSummaries(param) {
+ const {
+ columns,
+ data
+ } = param;
+ const sums = [];
+ columns.forEach((column, index) => {
+ if (index === 0) {
+ sums[index] = '鍚堣';
+ return;
+ }
+ const values = data.map(item => Number(item[column.property]));
+ if(this.data.countFleid==undefined){
+ sums[index] = ''
+ return
+ }
+ if (this.data.countFleid.filter(str=>{
+ return str === column.property
+ }).length > 0) {
+ sums[index] = values.reduce((prev, curr) => {
+ const value = Number(curr);
+ if (!isNaN(value)) {
+ return prev + curr;
+ } else {
+ return prev;
+ }
+ }, 0);
+ sums[index] += '';
+ } else {
+ sums[index] = '';
+ }
+ });
+ return sums;
}
}
}
diff --git a/src/components/view/data-comparison.vue b/src/components/view/data-comparison.vue
index dfe4142..3571fca 100644
--- a/src/components/view/data-comparison.vue
+++ b/src/components/view/data-comparison.vue
@@ -58,7 +58,7 @@
<div class="search_label">鐧昏鏃ユ湡锛�</div>
<div class="search_input">
<el-date-picker size="small" v-model="componentData.entity.createTime" type="date" placeholder="閫夋嫨鏃ユ湡"
- value-format="yyyy-MM-dd" clearable></el-date-picker>
+ value-format="yyyy-MM-dd" :clearable="false" :editable="false"></el-date-picker>
</div>
</div>
<div class="search_thing" style="padding-left: 30px;">
@@ -118,42 +118,29 @@
mm = "0" + mm;
}
this.componentData.entity.createTime = `${yyyy}-${mm}-${dd} 00:00:00`
+ this.componentData.entity.name = localStorage.getItem('data_com_name')==undefined?null:localStorage.getItem('data_com_name')
},
mounted() {
this.entityCopy = this.HaveJson(this.componentData.entity)
- // this.selectDataComparisonDtoPageList()
},
methods: {
refreshTable() {
if (this.componentData.entity.name == null || this.componentData.entity.name == '') {
- this.$message.error('璐︽埛鍚嶇О鏄繀濉」')
+ this.$message.error('涓昏处鎴峰悕绉版槸蹇呭~椤�')
} else if (this.componentData.entity.comparisonName == null || this.componentData.entity.comparisonName == '') {
- this.$message.error('瀵规瘮鐨勮处鎴峰悕绉版槸蹇呭~椤�')
+ this.$message.error('瀛愯处鎴峰悕绉版槸蹇呭~椤�')
} else if (this.componentData.entity.createTime == null) {
this.$message.error('鐧昏鏃堕棿鏄繀濉」')
} else if (this.componentData.entity.name === this.componentData.entity.comparisonName) {
this.$message.error('瀵规瘮鐨勮处鎴蜂笉鑳介噸澶�')
} else {
+ localStorage.setItem('data_com_name', this.componentData.entity.name)
this.$refs['ValueTable'].selectList()
}
},
refresh() {
this.componentData.entity = this.HaveJson(this.entityCopy)
this.upIndex++
- },
- selectDataComparisonDtoPageList() {
- this.$axios.post(this.$api.dataReporting.selectDataComparisonDtoPageList, {
- headers: {
- 'Content-Type': 'application/json'
- }
- }).then(res => {
- res.data.forEach(a => {
- a.isClick = false
- a.look = false
- })
- this.menu = res.data
- this.menuCopy = this.HaveJson(res.data)
- })
}
}
}
diff --git a/src/components/view/data-reporting.vue b/src/components/view/data-reporting.vue
index 39ae996..effeab1 100644
--- a/src/components/view/data-reporting.vue
+++ b/src/components/view/data-reporting.vue
@@ -34,6 +34,9 @@
height: calc(100% - 60px - 80px - 10px - 40px);
padding: 20px;
}
+ .el-radio-group{
+ width: 100%;
+ }
</style>
<style>
.data_reporting .data_reporting_dia .el-dialog__body {
@@ -55,7 +58,7 @@
<el-row class="title">
<el-col :span="12" style="padding-left: 20px;">鏁版嵁涓婃姤</el-col>
<el-col :span="12" style="text-align: right;padding-right: 8px;">
- <el-button size="medium" @click="openUpload()" v-if="inPower">
+ <el-button size="medium" @click="chooseDia = true" v-if="inPower">
<i class="el-icon-upload2" style="color: #3A7BFA;"></i>
<span style="color: #3A7BFA;">瀵煎叆</span>
</el-button>
@@ -64,6 +67,7 @@
<span style="color: #3A7BFA;">瀵煎嚭</span>
</el-button>
<el-button size="medium" type="primary" @click="opeaAdd" v-if="addPower">鏂板</el-button>
+ <el-button size="medium" type="danger" @click="delNowAll" v-if="delAllPower">涓�閿垹闄�</el-button>
</el-col>
</el-row>
</div>
@@ -72,14 +76,16 @@
<div class="search_label">绯荤粺鏃ユ湡锛�</div>
<div class="search_input">
<el-date-picker size="small" v-model="componentData.entity.createTime" type="date" placeholder="閫夋嫨鏃ユ湡"
- value-format="yyyy-MM-dd HH:mm:ss" clearable></el-date-picker>
+ value-format="yyyy-MM-dd HH:mm:ss" :clearable="false" :editable="false" @change="refreshTable"></el-date-picker>
</div>
</div>
<div class="search_thing">
<div class="search_label">鐧昏浜猴細</div>
<div class="search_input">
- <el-input size="small" v-model="componentData.entity.registrant" clearable placeholder="鐧昏浜�"
- @keyup.enter.native="refreshTable()"></el-input>
+ <el-select size="small" style="width: 100%;" placeholder="鐧昏浜�" v-model="componentData.entity.registrant">
+ <el-option :value="null" label="鍏ㄩ儴"></el-option>
+ <el-option v-for="(a, ai) in userNames" :key="ai" :label="a" :value="a"></el-option>
+ </el-select>
</div>
</div>
<div class="search_thing">
@@ -101,7 +107,7 @@
:delUrl="$api.dataReporting.delDataReporting" :componentData="componentData" :key="upIndex" @upRole="upRole" :downUrl="$api.dataReporting.downDataReportingFile"/>
</div>
<el-dialog title="涓婃姤淇敼" :visible.sync="upDia" width="700px" class="data_reporting_dia">
- <div class="body" v-if="upDia">
+ <div class="body" v-if="upDia" style="max-height: 550px;overflow-y: auto;">
<el-row style="line-height: 50px;">
<el-col :span="4" style="text-align: right;padding-right: 8px;">绯荤粺鏃ユ湡</el-col>
<el-col :span="7">
@@ -212,6 +218,12 @@
<el-input v-model="upData.remark" size="small"></el-input>
</el-col>
</el-row>
+ <el-row style="line-height: 50px;">
+ <el-col :span="4" style="text-align: right;padding-right: 8px;">寰俊鍙�</el-col>
+ <el-col :span="7">
+ <el-input v-model="upData.vxCard" size="small"></el-input>
+ </el-col>
+ </el-row>
</div>
<span slot="footer" class="dialog-footer" style="margin-right: 18px;">
<el-button type="primary" @click="saveUpData" :loading="upLoad">纭� 瀹�</el-button>
@@ -222,7 +234,7 @@
<div style="margin: 0 auto;">
<el-upload ref="upload" drag :action="javaApi + $api.dataReporting.inputCsv" :headers="token"
:file-list="fileList" name="file" :auto-upload="false" accept=".csv" :limit="1" :on-change="beforeUpload"
- :on-success="onSuccess" :on-error="onError">
+ :on-success="onSuccess" :on-error="onError" :data="{param: componentData.uploadStr}">
<i class="el-icon-upload"></i>
<div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
</el-upload>
@@ -230,6 +242,19 @@
<span slot="footer" class="dialog-footer">
<el-button @click="uploadDia = false">鍙� 娑�</el-button>
<el-button type="primary" @click="submitUpload()">涓� 浼�</el-button>
+ </span>
+ </el-dialog>
+ <el-dialog title="璇烽�夋嫨鏁版嵁涓婃姤鐨勫井淇″彿" :visible.sync="chooseDia" width="500px">
+ <div class="body" v-if="chooseDia" style="max-height: 550px;overflow-y: auto;padding: 5px 0;">
+ <el-radio-group v-model="vx">
+ <el-col :span="8" v-for="(a, ai) in vxs" :key="ai" style="margin-bottom: 5px;">
+ <el-radio border size="small" :label="a.vx">{{a.vx}}</el-radio>
+ </el-col>
+ </el-radio-group>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="chooseDia = false">鍙栨秷</el-button>
+ <el-button type="primary" @click="openUpload()">涓嬩竴姝�</el-button>
</span>
</el-dialog>
</div>
@@ -250,11 +275,11 @@
product: null,
orderBy: {
field: 'id',
- order: 'desc'
+ order: 'asc'
}
},
isIndex: true,
- showSelect: true,
+ showSelect: false,
select: true,
do: [{
id: 'update',
@@ -271,8 +296,14 @@
method: 'doDiy'
}],
tagField: {},
- selectField: {},
- requiredAdd:['name2','agent','channel','product','showNum','click','accountConsumption'],
+ selectField: {
+ vxCard: {
+ select: []
+ }
+ },
+ requiredAdd:['name2','agent','channel','product','showNum','click','accountConsumption','vxCard'],
+ countFleid: ['fansAdd'],
+ uploadStr: ""
},
entityCopy: {},
upIndex: 0,
@@ -287,7 +318,12 @@
addPower: true,
token: null,
inPower: true,
- outPower: true
+ outPower: true,
+ delAllPower: true,
+ userNames: [],
+ vxs: [],
+ chooseDia: false,
+ vx: null
}
},
created() {
@@ -312,14 +348,19 @@
this.token = {
'token': sessionStorage.getItem('token')
}
+ this.selectDataReportingForCreateUserNames()
+ this.selectVxs()
},
methods: {
refreshTable() {
this.$refs['ValueTable'].selectList()
+ this.selectDataReportingForCreateUserNames()
+ this.selectVxs()
},
refresh() {
this.componentData.entity = this.HaveJson(this.entityCopy)
this.upIndex++
+ this.selectDataReportingForCreateUserNames()
},
upRole(row) {
this.upData = this.HaveJson(row)
@@ -358,6 +399,7 @@
let add = false
let inPower = false
let outPower = false
+ let delAllPower = false
for (var i = 0; i < power.length; i++) {
if (power[i].menuMethod == 'upDataReporting') {
up = true
@@ -374,6 +416,9 @@
if (power[i].menuMethod == 'downDataReportingFile') {
outPower = true
}
+ if (power[i].menuMethod == 'deleteAllData') {
+ delAllPower = true
+ }
}
if (!del) {
this.componentData.do.splice(1, 1)
@@ -384,8 +429,14 @@
this.addPower = add
this.inPower = inPower
this.outPower = outPower
+ this.delAllPower = delAllPower
},
openUpload() {
+ if(this.vx == null || this.vx == undefined) {
+ this.$message.error('璇烽�夋嫨鏁版嵁涓婃姤鐨勫井淇″彿')
+ return
+ }
+ this.componentData.uploadStr = this.vx
this.uploadDia = true
},
beforeUpload(file, fileList) {
@@ -402,11 +453,13 @@
}
this.uploading = true
this.$refs.upload.submit();
+ this.uploadDia = false
},
onSuccess(response, file, fileList) {
this.$refs.upload.clearFiles()
this.uploadDia = false
this.uploading = false
+ this.chooseDia = false
if(response.code==201){
this.$message.error(response.message)
return
@@ -421,6 +474,52 @@
},
opeaAdd() {
this.$refs.ValueTable.openAddDia(this.$api.dataReporting.addDataReporting);
+ },
+ delNowAll(){
+ this.$confirm('鏄惁鍒犻櫎 '+this.componentData.entity.createTime.split(' ')[0]+' 鏁版嵁鏃堕棿鐨勫叏閮ㄦ暟鎹�?', "璀﹀憡", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "error"
+ }).then(() => {
+ this.uploading = true
+ this.$axios.post(this.$api.dataReporting.deleteAllData, {
+ date: this.componentData.entity.createTime.split(' ')[0]
+ }).then(res => {
+ this.uploading = false
+ if (res.code === 201) {
+ return
+ }
+ this.$message.success('鍒犻櫎鎴愬姛')
+ this.refreshTable()
+ })
+ }).catch(() => {})
+ },
+ selectDataReportingForCreateUserNames(){
+ this.$axios.post(this.$api.dataReporting.selectDataReportingForCreateUserNames,{
+ time: this.componentData.entity.createTime
+ }).then(res => {
+ this.userNames = res.data
+ })
+ },
+ selectVxs(){
+ this.$axios.get(this.$api.dataReporting.selectVxs,{
+ params:{
+ time: this.componentData.entity.createTime
+ }
+ }).then(res => {
+ if (res.code === 201) {
+ return
+ }
+ this.vxs = res.data
+ var str = []
+ res.data.forEach(a => {
+ str.push({
+ label: a.vx,
+ value: a.vx
+ })
+ })
+ this.componentData.selectField.vxCard.select = str
+ })
}
}
}
diff --git a/src/components/view/custom-enum.vue b/src/components/view/enums.vue
similarity index 74%
rename from src/components/view/custom-enum.vue
rename to src/components/view/enums.vue
index fe6d9c4..13cb90b 100644
--- a/src/components/view/custom-enum.vue
+++ b/src/components/view/enums.vue
@@ -40,7 +40,7 @@
<div class="role_manage">
<div>
<el-row class="title">
- <el-col :span="12" style="padding-left: 20px;">瀹㈡埛绠$悊</el-col>
+ <el-col :span="12" style="padding-left: 20px;">鏋氫妇绠$悊</el-col>
<el-col :span="12" style="text-align: right;">
<el-button size="medium" type="primary" @click="openAdd" v-if="addPower">鏂板</el-button>
</el-col>
@@ -48,14 +48,14 @@
</div>
<div class="search">
<div class="search_thing">
- <div class="search_label">瀹㈡埛鍚嶇О锛�</div>
+ <div class="search_label">鏍囬锛�</div>
<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="componentData.entity.name" @keyup.enter.native="refreshTable()"></el-input></div>
+ v-model="componentData.entity.label" @keyup.enter.native="refreshTable()"></el-input></div>
</div>
<div class="search_thing">
- <div class="search_label">鍏徃鍚嶇О锛�</div>
+ <div class="search_label">鍒嗙被锛�</div>
<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="componentData.entity.company" @keyup.enter.native="refreshTable()"></el-input></div>
+ v-model="componentData.entity.category" @keyup.enter.native="refreshTable()"></el-input></div>
</div>
<div class="search_thing" style="padding-left: 30px;">
<el-button size="small" @click="refresh()">閲� 缃�</el-button>
@@ -63,7 +63,7 @@
</div>
</div>
<div class="table">
- <ValueTable ref="ValueTable" :url="$api.enums.selectCustomEnumLists" :upUrl="$api.enums.updateCustomEnum" :delUrl="$api.enums.delCustomEnum" :componentData="componentData" :key="upIndex"/>
+ <ValueTable ref="ValueTable" :url="$api.enums.selectEnumList" :upUrl="$api.enums.upEnum" :delUrl="$api.enums.delEnum" :componentData="componentData" :key="upIndex"/>
</div>
</div>
</template>
@@ -78,22 +78,22 @@
return {
componentData: {
entity: {
- name: null,
- company: null,
+ label: null,
+ category: null,
orderBy: {
field: 'id',
order: 'asc'
}
},
isIndex: true,
- showSelect: true,
- select: true,
+ showSelect: false,
+ select: false,
do: [{
id: 'update',
font: '缂栬緫',
type: 'text',
method: 'doDiy',
- field:[]
+ field:['createUserName','updateUserName']
},{
id: 'delete',
font: '鍒犻櫎',
@@ -102,8 +102,8 @@
}],
tagField: {},
selectField: {},
- requiredAdd:['company','name'],
- requiredUp:['company','name']
+ requiredAdd:['category','label','value'],
+ requiredUp:['category','label','value']
},
entityCopy: {},
upIndex: 0,
@@ -124,7 +124,7 @@
this.upIndex++
},
openAdd(){
- this.$refs.ValueTable.openAddDia(this.$api.enums.addCustomEnum);
+ this.$refs.ValueTable.openAddDia(this.$api.enums.addEnum);
},
// 鏉冮檺鍒嗛厤
getPower(){
@@ -133,13 +133,13 @@
let del = false
let add = false
for (var i = 0; i < power.length; i++) {
- if(power[i].menuMethod=='updateCustomEnum'){
+ if(power[i].menuMethod=='upEnum'){
up = true
}
- if(power[i].menuMethod=='delCustomEnum'){
+ if(power[i].menuMethod=='delEnum'){
del = true
}
- if(power[i].menuMethod=='addCustomEnum'){
+ if(power[i].menuMethod=='addEnum'){
add = true
}
}
diff --git a/src/components/view/fans-submit.vue b/src/components/view/fans-submit.vue
index c540f67..821fb1d 100644
--- a/src/components/view/fans-submit.vue
+++ b/src/components/view/fans-submit.vue
@@ -59,7 +59,7 @@
<div class="search_label">绯荤粺鏃ユ湡锛�</div>
<div class="search_input">
<el-date-picker size="small" v-model="componentData.entity.createTime" type="date" placeholder="閫夋嫨鏃ユ湡"
- value-format="yyyy-MM-dd HH:mm:ss" clearable></el-date-picker>
+ value-format="yyyy-MM-dd HH:mm:ss" :clearable="false" :editable="false" @change="refreshTable()"></el-date-picker>
</div>
</div>
<div class="search_thing">
@@ -143,9 +143,9 @@
select: []
}
},
- requiredAdd: ['custom', 'product', 'fansAdd'],
- requiredUp: ['custom', 'product', 'fansAdd'],
- disabledUp: ['custom','product']
+ requiredAdd: ['product', 'fansAdd', 'vx'],
+ requiredUp: ['product', 'fansAdd', 'vx'],
+ disabledUp: ['product', 'vx']
},
entityCopy: {},
upIndex: 0,
diff --git a/src/components/view/finance-submit.vue b/src/components/view/finance-submit.vue
index 1d60a3b..ff389b0 100644
--- a/src/components/view/finance-submit.vue
+++ b/src/components/view/finance-submit.vue
@@ -34,6 +34,9 @@
height: calc(100% - 60px - 80px - 10px - 40px);
padding: 20px;
}
+ .el-radio-group{
+ width: 100%;
+ }
</style>
<template>
@@ -42,7 +45,7 @@
<el-row class="title">
<el-col :span="12" style="padding-left: 20px;">璐㈠姟涓婃姤</el-col>
<el-col :span="12" style="text-align: right;">
- <el-button size="medium" @click="$refs.ValueTable.openUpload()" v-if="inPower">
+ <el-button size="medium" @click="chooseDia = true" v-if="inPower">
<i class="el-icon-upload2" style="color: #3A7BFA;"></i>
<span style="color: #3A7BFA;">瀵煎叆</span>
</el-button>
@@ -59,7 +62,7 @@
<div class="search_label">绯荤粺鏃ユ湡锛�</div>
<div class="search_input">
<el-date-picker size="small" v-model="componentData.entity.createTime" type="date" placeholder="閫夋嫨鏃ユ湡"
- value-format="yyyy-MM-dd HH:mm:ss" clearable></el-date-picker>
+ value-format="yyyy-MM-dd HH:mm:ss" :clearable="false" :editable="false" @change="refreshTable()"></el-date-picker>
</div>
</div>
<div class="search_thing">
@@ -79,6 +82,19 @@
:upUrl="$api.dataReporting.updateFinanceSubmit" :delUrl="$api.dataReporting.delFinanceSubmit"
:componentData="componentData" :key="upIndex" :downUrl="$api.dataReporting.downFinanceSubmitFile" :inputUrl="$api.dataReporting.inputFinanceSubmitCsv"/>
</div>
+ <el-dialog title="璇烽�夋嫨璐㈠姟涓婃姤鐨勫璞�" :visible.sync="chooseDia" width="500px">
+ <div class="body" v-if="chooseDia" style="max-height: 550px;overflow-y: auto;padding: 5px 0;">
+ <el-radio-group v-model="userId">
+ <el-col :span="8" v-for="(a, ai) in users" :key="ai" style="margin-bottom: 2px;">
+ <el-radio border size="small" :label="a.id">{{a.name}}</el-radio>
+ </el-col>
+ </el-radio-group>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="chooseDia = false">鍙栨秷</el-button>
+ <el-button type="primary" @click="goDown">涓嬩竴姝�</el-button>
+ </span>
+ </el-dialog>
</div>
</template>
@@ -107,7 +123,7 @@
font: '缂栬緫',
type: 'text',
method: 'doDiy',
- field: ['createUserName']
+ field: ['createUserName','瀵硅薄=param']
}, {
id: 'delete',
font: '鍒犻櫎',
@@ -121,10 +137,15 @@
},
custom: {
select: []
+ },
+ param:{
+ select:[]
}
},
- requiredAdd: ['company', 'name', 'employeeRebate'],
- requiredUp: ['company', 'name', 'employeeRebate']
+ requiredAdd: ['company', 'name', 'employeeRebate','param'],
+ requiredUp: ['employeeRebate'],
+ disabledUp: ['company', 'name','param'],
+ uploadStr: ""
},
entityCopy: {},
upIndex: 0,
@@ -132,7 +153,10 @@
custom: [],
addPower: true,
inPower: true,
- outPower: true
+ outPower: true,
+ chooseDia: false,
+ users: [],
+ userId: null
}
},
created() {
@@ -153,6 +177,7 @@
this.selectProductEnumList()
this.selectCustomEnumList()
this.getPower()
+ this.getUserList()
},
methods: {
refreshTable() {
@@ -225,6 +250,30 @@
this.addPower = add
this.inPower = inPower
this.outPower = outPower
+ },
+ getUserList(){
+ this.$axios.get(this.$api.user.getUserMenu).then(res => {
+ if (res.code === 201) {
+ return
+ }
+ this.users = res.data
+ var str = []
+ res.data.forEach(a => {
+ str.push({
+ label: a.name,
+ value: a.id
+ })
+ })
+ this.componentData.selectField.param.select = str
+ })
+ },
+ goDown(){
+ if(this.userId == null || this.userId == undefined) {
+ this.$message.error('璇烽�夋嫨璐㈠姟涓婃姤鐨勫璞�')
+ return
+ }
+ this.componentData.uploadStr = this.userId
+ this.$refs.ValueTable.openUpload()
}
}
}
diff --git a/src/components/view/index-index.vue b/src/components/view/index-index.vue
index 5f6a141..b7b059a 100644
--- a/src/components/view/index-index.vue
+++ b/src/components/view/index-index.vue
@@ -323,9 +323,9 @@
setInterval(() => {
this.nowTime()
}, 1000)
- setInterval(() => {
+ /* setInterval(() => {
this.getDataList()
- }, 60 * 1000)
+ }, 60 * 1000) */
},
methods: {
nowTime() {
diff --git a/src/components/view/person-manage.vue b/src/components/view/person-manage.vue
index 8470967..6b6a58d 100644
--- a/src/components/view/person-manage.vue
+++ b/src/components/view/person-manage.vue
@@ -48,7 +48,7 @@
</div>
<div class="search">
<div class="search_thing">
- <div class="search_label">瀹㈡埛鍚嶇О锛�</div>
+ <div class="search_label">鐢ㄦ埛鍚嶏細</div>
<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
v-model="componentData.entity.name" @keyup.enter.native="refreshTable()"></el-input></div>
</div>
@@ -97,9 +97,9 @@
order: 'asc'
}
},
- isIndex: false,
- showSelect: true,
- select: true,
+ isIndex: true,
+ showSelect: false,
+ select: false,
do: [{
id: 'update',
font: '缂栬緫',
diff --git a/src/components/view/product-count.vue b/src/components/view/product-count.vue
index 0328332..cdc867b 100644
--- a/src/components/view/product-count.vue
+++ b/src/components/view/product-count.vue
@@ -51,15 +51,10 @@
</div>
<div class="search">
<div class="search_thing">
- <div class="search_label">绯荤粺鏃ユ湡锛�</div>
- <div class="search_input">
- <el-date-picker size="small" v-model="componentData.entity.updateTime" type="date" placeholder="閫夋嫨鏃ユ湡" value-format="yyyy-MM-dd HH:mm:ss" clearable></el-date-picker>
- </div>
- </div>
- <div class="search_thing">
<div class="search_label">鐧昏鏃ユ湡锛�</div>
<div class="search_input">
- <el-date-picker size="small" v-model="componentData.entity.createTime" type="date" placeholder="閫夋嫨鏃ユ湡" value-format="yyyy-MM-dd HH:mm:ss" clearable></el-date-picker>
+ <el-date-picker size="small" v-model="componentData.entity.createTime" type="date" placeholder="閫夋嫨鏃ユ湡"
+ value-format="yyyy-MM-dd HH:mm:ss" :clearable="false" :editable="false"></el-date-picker>
</div>
</div>
<div class="search_thing">
@@ -77,7 +72,8 @@
</div>
</div>
<div class="table">
- <ValueTable ref="ValueTable" :url="$api.dataReporting.selectProductCountDtoPageList" :componentData="componentData" :key="upIndex" :downUrl="$api.dataReporting.downProductCountFile"/>
+ <ValueTable ref="ValueTable" :url="$api.dataReporting.selectProductCountDtoPageList"
+ :componentData="componentData" :key="upIndex" :downUrl="$api.dataReporting.downProductCountFile" />
</div>
</div>
</template>
@@ -141,8 +137,8 @@
this.componentData.entity = this.HaveJson(this.entityCopy)
this.upIndex++
},
- selectProductEnumList(){
- this.$axios.get(this.$api.enums.selectProductEnumList).then(res=>{
+ selectProductEnumList() {
+ this.$axios.get(this.$api.enums.selectProductEnumList).then(res => {
this.product = res.data
})
},
diff --git a/src/components/view/registrant-count.vue b/src/components/view/registrant-count.vue
index 4998eb2..5f89802 100644
--- a/src/components/view/registrant-count.vue
+++ b/src/components/view/registrant-count.vue
@@ -97,7 +97,7 @@
name: null,
product: null,
orderBy: {
- field: 'update_time',
+ field: 'create_time',
order: 'desc'
}
},
diff --git a/src/components/view/role-manage.vue b/src/components/view/role-manage.vue
index a306f66..7fdf0e2 100644
--- a/src/components/view/role-manage.vue
+++ b/src/components/view/role-manage.vue
@@ -93,6 +93,14 @@
<div style="padding: 3px 30px;" v-for="(a, ai) in menu" :key="ai" v-if="a.type=='鍒犻櫎'"><el-checkbox
v-model="a.isClick" :disabled="type=='鏌ョ湅'">{{a.remark}}</el-checkbox></div>
</el-collapse-item>
+ <el-collapse-item title="瀵煎叆">
+ <div style="padding: 3px 30px;" v-for="(a, ai) in menu" :key="ai" v-if="a.type=='瀵煎叆'"><el-checkbox
+ v-model="a.isClick" :disabled="type=='鏌ョ湅'">{{a.remark}}</el-checkbox></div>
+ </el-collapse-item>
+ <el-collapse-item title="瀵煎嚭">
+ <div style="padding: 3px 30px;" v-for="(a, ai) in menu" :key="ai" v-if="a.type=='瀵煎嚭'"><el-checkbox
+ v-model="a.isClick" :disabled="type=='鏌ョ湅'">{{a.remark}}</el-checkbox></div>
+ </el-collapse-item>
</el-collapse>
</div>
<span slot="footer" class="dialog-footer">
diff --git a/src/view/404.vue b/src/view/404.vue
index 6b00e13..8d16bfa 100644
--- a/src/view/404.vue
+++ b/src/view/404.vue
@@ -3,9 +3,9 @@
<div class="text-center">
<div class="error mx-auto" data-text="404">404</div>
<p class="lead text-gray-800 mb-5">鎵句笉鍒颁綘瑕佽闂殑椤甸潰</p>
- <p class="text-gray-500 mb-0">椤甸潰涓嶅瓨鍦�</p>
+ <!-- <p class="text-gray-500 mb-0">椤甸潰涓嶅瓨鍦�</p>
<p><a href="/">杩斿洖棣栭〉</a></p>
- <el-button @click="back" type="danger" round>杩斿洖涓婁竴椤�</el-button>
+ <el-button @click="back" type="danger" round>杩斿洖涓婁竴椤�</el-button> -->
</div>
</div>
</template>
@@ -31,8 +31,8 @@
};
let icon = "../../static/img/logo.png"; // 鍥剧墖鍦板潃
changeFavicon(icon); // 鍔ㄦ�佷慨鏀圭綉绔欏浘鏍�
- let title = "璁块棶鍑洪敊"; // 缃戠珯鏍囬
- document.title = title; // 鍔ㄦ�佷慨鏀圭綉绔欐爣棰�
+ // let title = "璁块棶鍑洪敊"; // 缃戠珯鏍囬
+ // document.title = title; // 鍔ㄦ�佷慨鏀圭綉绔欐爣棰�
},
methods: {
back() {
diff --git a/src/view/enter.vue b/src/view/enter.vue
index 4e01d55..935d27a 100644
--- a/src/view/enter.vue
+++ b/src/view/enter.vue
@@ -102,7 +102,7 @@
<div class="right">
<div style="width: calc(100% - 100px * 2);">
<div class="title_big">娆㈣繋鎮ㄧ櫥褰曪紒</div>
- <div class="title_small">灞变笢鑳滀簯鏁版嵁绠$悊骞冲彴锛圖MS锛�</div>
+ <div class="title_small">LIMS瀹為獙瀹ょ鐞嗙郴缁�</div>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" class="elform" :hide-required-asterisk="true">
<el-form-item label="鐢ㄦ埛鍚�" prop="account">
<el-input v-model="ruleForm.account" placeholder="璇疯緭鍏ヨ处鍙�" clearable></el-input>
diff --git a/src/view/index.vue b/src/view/index.vue
index 90e3a44..40bd6df 100644
--- a/src/view/index.vue
+++ b/src/view/index.vue
@@ -9,7 +9,7 @@
.title {
width: 100%;
- height: 58px;
+ height: 48px;
display: flex;
align-items: center;
padding: 0 30px;
@@ -25,7 +25,7 @@
}
.title .label {
- font-size: 16px;
+ font-size: 14px;
text-align: center;
width: calc(100% - 130px - 200px);
}
@@ -54,7 +54,7 @@
}
.left {
- height: calc(100vh - 58px - 40px);
+ height: calc(100vh - 48px - 40px);
background-color: #3A7BFA;
display: flex;
align-items: center;
@@ -78,7 +78,7 @@
color: #fff;
width: 68px;
height: 68px;
- margin: 12px 0;
+ margin: 8px 0;
cursor: pointer;
display: flex;
align-items: center;
@@ -97,12 +97,12 @@
}
.left .box i {
- font-size: 28px;
+ font-size: 24px;
margin-bottom: 4px;
}
.left .box div {
- font-size: 14px;
+ font-size: 12px;
}
.small_menu {
@@ -113,13 +113,13 @@
color: #3A7BFA;
}
- .small_menu p {
- padding: 12px 15px;
+ .small_menu .p {
+ padding: 6px 10px;
cursor: pointer;
}
- .small_menu p:hover {
- background-color: rgba(0, 0, 0, 0.05);
+ .small_menu .p:hover {
+ color: #3A7BFA;
}
.small_menu i {
@@ -127,17 +127,17 @@
}
.small_menu span {
- font-size: 14px;
+ font-size: 12px;
}
.right {
- height: calc(100vh - 58px);
+ height: calc(100vh - 48px);
transition: .3s;
}
.tag {
width: 100%;
- height: 36px;
+ height: 32px;
background: rgb(255, 255, 255);
opacity: 0.8;
box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1);
@@ -163,7 +163,7 @@
.tag>.el-icon-s-unfold,
.el-icon-s-fold,
.el-icon-delete {
- font-size: 18px;
+ font-size: 16px;
cursor: pointer;
margin: 0 8px;
}
@@ -174,21 +174,26 @@
align-items: center;
display: flex;
overflow-x: auto;
+ overflow-y: hidden;
+ }
+
+ .tabs::-webkit-scrollbar {
+ height: 4px;
}
.tab {
cursor: pointer;
- font-size: 14px;
+ font-size: 12px;
margin: 0 8px;
- line-height: 32px;
+ line-height: 28px;
transition: 0.3s;
border-top: 2px solid transparent;
border-bottom: 2px solid transparent;
user-select: none;
flex-shrink: 0;
}
-
- .tab:hover{
+
+ .tab:hover {
color: #3A7BFA;
}
@@ -208,7 +213,7 @@
}
.component_view {
- height: calc(100vh - 94px);
+ height: calc(100vh - 84px);
width: calc(100% - 52px);
padding: 0 26px;
background: rgb(245, 247, 251);
@@ -226,23 +231,32 @@
left: 0;
display: none;
z-index: 999;
+ padding: 0;
}
.right_key_menu li {
list-style-type: none;
- padding: 5px 0;
+ padding: 6px 0;
padding-left: 10px;
- font-size: 0.9rem;
- transition: .5s;
+ font-size: 12px;
+ transition: .3s;
cursor: pointer;
}
-
- .right_key_menu li i{
- margin-right: 20px;
+
+ .right_key_menu li i {
+ margin-right: 14px;
}
.right_key_menu li:hover {
- background-color: #dedede;
+ background-color: #eeeeee;
+ }
+
+ .group {
+ font-size: 12px;
+ color: #ed940d;
+ background-color: transparent !important;
+ cursor: auto !important;
+ margin: 8px 12px;
}
</style>
<style></style>
@@ -252,30 +266,38 @@
<div class="logo">
<!-- <img src="../../static/img/logo 1.png" /> -->
</div>
- <div class="label">灞变笢鑳滀簯鏁版嵁绠$悊绯荤粺</div>
+ <div class="label">LIMS瀹為獙瀹ょ鐞嗙郴缁�</div>
<div class="user">
<el-avatar :size="26">{{ userName.substring(0, 1) }}</el-avatar>
<span>{{ userName }}</span>
- <img src="../../static/img/閫�鍑�.png" @click="out" />
+ <img src="../../static/img/閫�鍑�.png" @click="out" title="閫�鍑鸿处鍙�" />
</div>
</div>
<div class="left" :style="`width: ${leftOpen?'92':'0'}px;`">
<div v-for="(a, ai) in menu" :key="ai">
- <div :class="`box ${activeBox == a.c[0].k ? 'active_box' : ''}`" @click="addTab(a.c[0], -1)" v-if="a.self && getPower(a.c[0].p)">
+ <div :class="`box ${activeBox == a.c[0].k ? 'active_box' : ''}`" @click="addTab(a.c[0], -1)"
+ v-if="a.self && getPower(a.c[0].p)">
<i :class="a.i"></i>
<div>{{a.v}}</div>
</div>
- <el-popover placement="right-start" width="90" trigger="click" v-if="a.self != true && getPower(a.p)">
+ <el-popover placement="right-start" trigger="click" v-if="a.self != true && getPower(a.p)">
<div :class="`box ${activeBox == a.k ? 'active_box' : ''}`" slot="reference">
<i :class="a.i"></i>
- <div>{{ a.v }}</div>
+ <div style="text-align: center;">{{ a.v }}</div>
</div>
<div class="small_menu">
- <p v-for="(b, bi) in a.c" :key="bi" :class="activeP == b.k ? 'active_p' : ''" @click="addTab(b, a.k)" v-if="getPower(b.p)">
- <i :class="b.i"></i>
- <span>{{ b.v }}</span>
- </p>
+ <div v-for="(b, bi) in a.c" :key="bi">
+ <el-col v-if="groupMenu(b.g, a.c[bi - 1])" class="group">{{b.g}}</el-col>
+ <el-col :span="groupCount(b.g, a.c)" :class="activeP == b.k ? 'active_p p' : 'p'"
+ @click.native="addTab(b, a.k)" v-if="getPower(b.p)">
+ <p :title="b.v" style="white-space: nowrap;text-overflow: ellipsis;overflow: hidden;">
+ <i :class="b.i"></i>
+ <span>{{ b.v }}</span>
+ </p>
+ </el-col>
+ </div>
</div>
+ </el-popover>
</el-popover>
</div>
</div>
@@ -292,15 +314,15 @@
<i class="el-icon-delete" @click="allDel" title="鍒犻櫎鎵�鏈夋爣绛鹃〉"></i>
</div>
<div class="component_view">
- <component class="com_index" v-for="(com, index) in tabs" :is="com.u" :key="com.k"
- v-show="com.k == tabActive" :ref="`com-${com.k}`">
+ <component class="com_index" v-for="(com, index) in tabs" :is="com.u" :key="com.k" v-show="com.k == tabActive"
+ :ref="`com-${com.k}`">
</component>
</div>
</div>
<!-- 鍙抽敭鑿滃崟 -->
<div class="right_key_menu">
<el-col :span="24">
- <el-card :body-style="{padding: '6px 0'}">
+ <el-card :body-style="{padding: '6px'}">
<ul>
<li style="color: red;" @click="removeTab(activeIndex)"><i class="el-icon-close"></i>鍏抽棴</li>
<el-divider></el-divider>
@@ -323,151 +345,34 @@
const componentConfig = requireComponent(fileName);
comObj[names] = componentConfig.default || componentConfig;
});
+ import menu from '../../static/js/menu.js';
+ import menus from '../../static/js/menu.js'
+ import nullFace from '../view/404.vue'
+ comObj['nullFace'] = nullFace
export default {
components: comObj,
data() {
return {
userName: "value",
leftOpen: true,
- menu: [{
- k: 0,
- v: "棣栭〉",
- i: "font icon-shouyefill",
- self: true,
- c: [{
- k: 0,
- v: "棣栭〉",
- i: "font icon-shouyefill",
- u: "index-index"
- }]
- },
- {
- k: 2,
- v: "鏁版嵁涓婃姤",
- i: "font icon-a-Group1118",
- self: true,
- c: [{
- k: 2,
- v: "鏁版嵁涓婃姤",
- i: "font icon-a-Group1118",
- u: "data-reporting",
- p: "selectDataReportingList"
- }]
- },
- {
- k: 3,
- v: "鏁版嵁缁熻",
- i: "font icon-a-Group1120",
- p: "selectProductCountDtoPageList selectRegistrantCountDtoPageList",
- c: [{
- k: 9,
- v: "椤圭洰鏁版嵁缁熻",
- i: "font icon-24gl-clipboardList",
- u: "product-count",
- p: "selectProductCountDtoPageList"
- },{
- k: 10,
- v: "鍛樺伐鏁版嵁缁熻",
- i: "font icon-24gl-clipboardList",
- u: "registrant-count",
- p: "selectRegistrantCountDtoPageList"
- },{
- k: 12,
- v: "鍛樺伐鏁版嵁瀵规瘮",
- i: "font icon-24gl-clipboardList",
- u: "data-comparison",
- p: "selectDataComparisonDtoPageList"
- }]
- },
- {
- k: 5,
- v: "杩涚矇涓婃姤",
- i: "font icon-a-Group1122",
- self: true,
- c: [{
- k: 5,
- v: "杩涚矇涓婃姤",
- i: "font icon-a-Group1122",
- u: "fans-submit",
- p: "selectFansSubmitList"
- }]
- },
- {
- k: 6,
- v: "璐㈠姟涓婃姤",
- i: "font icon-a-Group1236",
- self: true,
- c: [{
- k: 6,
- v: "璐㈠姟涓婃姤",
- i: "font icon-a-Group1236",
- u: "finance-submit",
- p: "selectFinanceSubmitList"
- }]
- },
- {
- k: 7,
- v: "瑙掕壊绠$悊",
- i: "font icon-a-Group1126",
- self: true,
- c: [{
- k: 7,
- v: "瑙掕壊绠$悊",
- i: "font icon-a-Group1126",
- u: "role-manage",
- p: "selectRoleLists"
- }]
- },
- {
- k: 4,
- v: "鏁版嵁瀛楀吀",
- i: "font icon-odbc-full",
- p: "selectCustomEnumLists selectProductEnumLists",
- c: [{
- k: 4,
- v: "瀹㈡埛绠$悊",
- i: "font icon-24gl-clipboardList",
- u: "custom-enum",
- p: "selectCustomEnumLists"
- },
- {
- k: 11,
- v: "椤圭洰绠$悊",
- i: "font icon-24gl-clipboardList",
- u: "product-enum",
- p: "selectProductEnumLists"
- }
- ]
- },
- {
- k: 8,
- v: "浜哄憳绠$悊",
- i: "font icon-a-Group1124",
- self: true,
- c: [{
- k: 8,
- v: "浜哄憳绠$悊",
- i: "font icon-a-Group1124",
- u: "person-manage",
- p: "selectUserList"
- }]
- }
- ],
+ menu: [],
activeBox: 0,
activeP: 0,
tabActive: 0,
tabs: [{
k: 0,
- v: "棣栭〉",
+ v: "涓汉棣栭〉",
i: "font icon-a-Group1124",
- u: "index-index"
+ u: "nullFace"
}],
upIndex: 0,
activeIndex: 0,
power: []
};
},
- created() {},
+ created() {
+ this.menu = menus.menu
+ },
mounted() {
this.userName = JSON.parse(localStorage.getItem("user")).name;
this.power = JSON.parse(sessionStorage.getItem('power'))
@@ -485,6 +390,7 @@
}
});
if (num == -1) {
+ if(ob.u == "") ob.u = "nullFace"
this.tabs.push(ob);
}
},
@@ -542,23 +448,41 @@
})
},
// 鍒锋柊琛ㄦ牸鍐呭
- refreshTable(){
+ refreshTable() {
var thing = this.tabs.splice(this.activeIndex, 1)
- setTimeout(()=>{
+ setTimeout(() => {
this.tabs.splice(this.activeIndex, 0, thing[0])
}, 0)
},
// 鏉冮檺鍒嗛厤
- getPower(p){
- if(p==undefined) return true
+ getPower(p) {
+ if (p == undefined || p == '') return true
let str = p.split(' ')
for (var a = 0; a < str.length; a++) {
for (var i = 0; i < this.power.length; i++) {
- if(this.power[i].menuMethod == str[a]) {
+ if (this.power[i].menuMethod == str[a]) {
return true
}
}
}
+ },
+ // 鑿滃崟鏍忓垎绫诲垽鏂�
+ groupMenu(g1, g2) {
+ if (g1 == undefined) return false
+ if (g2 == undefined) return true
+ if (g1 == g2.g) return false
+ return true
+ },
+ // 鐩稿悓鍒嗙被鐨勮彍鍗曟暟閲忔槸鍚﹀ぇ浜�4
+ groupCount(g1, gs) {
+ if (g1 == undefined) return 24
+ let count = 0
+ gs.forEach(a=>{
+ if(a.g == g1) count++
+ })
+ if (count > 4) return 8
+ if (count > 1) return 12
+ if (count == 1) return 24
}
}
};
diff --git a/static/js/menu.js b/static/js/menu.js
new file mode 100644
index 0000000..615ef98
--- /dev/null
+++ b/static/js/menu.js
@@ -0,0 +1,743 @@
+var menu = [{
+ k: 0,
+ v: "涓汉棣栭〉",
+ i: "font icon-shouyefill",
+ self: true,
+ c: [{
+ k: 0,
+ v: "涓汉棣栭〉",
+ i: "font icon-shouyefill",
+ u: "index-index"
+ }]
+ },
+ {
+ v: "涓氬姟绠$悊",
+ i: "font icon-a-Group1118",
+ p: "",
+ c: [{
+ v: "妫�楠屼笅鍗�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }, {
+ v: "妫�楠屼换鍔�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }, {
+ v: "鎶ュ憡缂栧埗",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }, {
+ v: "璐圭敤缁熻",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }, {
+ v: "鏍峰搧绠$悊",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }]
+ },
+ {
+ v: "鏍囧噯闆�",
+ i: "font icon-a-Group1120",
+ p: "",
+ c: [{
+ v: "鏍囧噯搴�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }, {
+ v: "鏍囧噯妯℃澘",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }]
+ },
+ {
+ v: "缁╂晥绠$悊",
+ i: "font icon-24gl-clipboardList",
+ p: "",
+ c: [{
+ v: "宸ユ椂绠$悊",
+ i: "font icon-24gl-clipboardList",
+ u: "fans-submit",
+ p: ""
+ }, {
+ v: "浜哄憳鑰冨嫟",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }, {
+ v: "浜哄憳鑰冭瘎",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }, {
+ v: "浜哄憳鑰冩牳",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }, {
+ v: "鎶�鑳界瓑绾�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }, {
+ v: "宸ヨ祫缁撶畻",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }, {
+ v: "鐝",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }]
+ },
+ {
+ v: "缁熻鍥捐〃",
+ i: "font icon-24gl-clipboardList",
+ p: "",
+ c: [{
+ v: "瀹為獙瀹よ绱�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }, {
+ v: "姣忔棩涓氬姟缁熻",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }, {
+ v: "妫�娴嬮」鐩粺璁�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }, {
+ v: "鏍峰搧缂洪櫡鎸囨暟",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }, {
+ v: "鑰楁潗缁熻",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }, {
+ v: "浜哄憳宸ヤ綔鎶ヨ〃",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }]
+ },
+ {
+ v: "鐢靛瓙鐪嬫澘",
+ i: "font icon-a-Group1126",
+ p: "",
+ c: [{
+ v: "瀹㈡埛鎺ュ緟",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }, {
+ v: "浠诲姟灞曠ず",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }, {
+ v: "璁惧鐘舵�佸強楗卞拰搴�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ p: ""
+ }]
+ },
+ {
+ v: "绯荤粺鍔熻兘",
+ i: "el-icon-s-tools",
+ p: "",
+ c: [{
+ v: "鏁版嵁瀛楀吀",
+ i: "el-icon-s-tools",
+ u: "enums",
+ p: "selectEnumList"
+ }, {
+ v: "瑙掕壊绠$悊",
+ i: "el-icon-s-tools",
+ u: "role-manage",
+ p: ""
+ }, {
+ v: "鐢ㄦ埛绠$悊",
+ i: "el-icon-s-tools",
+ u: "person-manage",
+ p: ""
+ }, {
+ v: "瀹㈡埛绠$悊",
+ i: "el-icon-s-tools",
+ u: "",
+ p: ""
+ }, {
+ v: "绯荤粺鏃ュ織",
+ i: "el-icon-s-tools",
+ u: "",
+ p: ""
+ }]
+ },
+ {
+ v: "4 閫氱敤瑕佹眰",
+ i: "el-icon-tickets",
+ p: "selectCustomEnumLists selectProductEnumLists",
+ c: [{
+ v: "閫氱敤瑕佹眰",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "4 閫氱敤瑕佹眰",
+ p: ""
+ },
+ {
+ v: "鍏鎬�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "4.1 鍏鎬�",
+ p: ""
+ },
+ {
+ v: "淇濆瘑鎬�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "4.2 淇濆瘑鎬�",
+ p: ""
+ }
+ ]
+ },
+ {
+ v: "5 缁撴瀯瑕佹眰",
+ i: "el-icon-tickets",
+ p: "",
+ c: [{
+ v: "瀹為獙瀹ょ殑娉曞緥鍦颁綅",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "A瀹為獙瀹ょ殑娉曞緥鍦颁綅",
+ p: ""
+ }, {
+ v: "鍏ㄦ潈璐熻矗鐨勭鐞嗗眰",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "B鍏ㄦ潈璐熻矗鐨勭鐞嗗眰",
+ p: ""
+ }, {
+ v: "瀹為獙瀹よ祫璐�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "C鑳藉姏鑼冨洿鍜岃祫璐�",
+ p: ""
+ }, {
+ v: "鑳藉姏鑼冨洿",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "C鑳藉姏鑼冨洿鍜岃祫璐�",
+ p: ""
+ }, {
+ v: "鍦烘墍鎴栬鏂�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "D鍦烘墍鎴栬鏂�",
+ p: ""
+ }, {
+ v: "缁勭粐鐩稿叧鏂囦欢",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "E缁勭粐鐩稿叧鏂囦欢",
+ p: ""
+ }, {
+ v: "浜哄憳宀椾綅浠昏亴",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "F浜哄憳宀椾綅浠昏亴",
+ p: ""
+ }, {
+ v: "娌熼�氬拰瀹h疮",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "G娌熼�氬拰瀹h疮",
+ p: ""
+ }]
+ }, {
+ v: "6 璧勬簮瑕佹眰",
+ i: "el-icon-tickets",
+ p: "",
+ c: [{
+ v: "鎬诲垯",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.1 鎬诲垯",
+ p: ""
+ }, {
+ v: "浜哄憳鎬昏",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.2 浜哄憳",
+ p: ""
+ }, {
+ v: "浜哄憳鏄庣粏",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.2 浜哄憳",
+ p: ""
+ }, {
+ v: "浜哄憳鍩硅",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.2 浜哄憳",
+ p: ""
+ }, {
+ v: "浜哄憳鐩戠潱",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.2 浜哄憳",
+ p: ""
+ }, {
+ v: "宀椾綅鑱岃矗",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.2 浜哄憳",
+ p: ""
+ }, {
+ v: "浜哄憳鍩烘湰淇℃伅",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.2 浜哄憳",
+ p: ""
+ }, {
+ v: "宸ヤ綔灞ュ巻",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.2 浜哄憳",
+ p: ""
+ }, {
+ v: "濂栨儵璁板綍",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.2 浜哄憳",
+ p: ""
+ }, {
+ v: "鍩硅璁板綍",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.2 浜哄憳",
+ p: ""
+ }, {
+ v: "鐩戠潱璁板綍",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.2 浜哄憳",
+ p: ""
+ }, {
+ v: "浠昏亴鎺堟潈璁板綍",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.2 浜哄憳",
+ p: ""
+ }, {
+ v: "浜哄憳鑳藉姏鐩戞帶璁板綍",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.2 浜哄憳",
+ p: ""
+ }, {
+ v: "娌熼�氳褰�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.2 浜哄憳",
+ p: ""
+ }, {
+ v: "澶栨潵浜哄憳绠$悊",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.3 璁炬柦鍜岀幆澧冩潯浠�",
+ p: ""
+ }, {
+ v: "瀹為獙瀹よ鏂藉満鎵�淇℃伅",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.3 璁炬柦鍜岀幆澧冩潯浠�",
+ p: ""
+ }, {
+ v: "璁炬柦鍜岀幆澧冩潯浠惰姹�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.3 璁炬柦鍜岀幆澧冩潯浠�",
+ p: ""
+ }, {
+ v: "鐜鏉′欢寮曠敤",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.3 璁炬柦鍜岀幆澧冩潯浠�",
+ p: ""
+ }, {
+ v: "瀹夊叏鍖轰唬琛ㄦ鏌�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.3 璁炬柦鍜岀幆澧冩潯浠�",
+ p: ""
+ }, {
+ v: "瀹夊叏鍐呭姟",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.3 璁炬柦鍜岀幆澧冩潯浠�",
+ p: ""
+ }, {
+ v: "搴熺墿澶勭悊浜ゆ帴璁板綍",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.3 璁炬柦鍜岀幆澧冩潯浠�",
+ p: ""
+ }, {
+ v: "璁惧鎬昏",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.4 璁惧",
+ p: ""
+ }, {
+ v: "璁惧宸ュ叿鏄庣粏",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.4 璁惧",
+ p: ""
+ }, {
+ v: "璧勬簮棰勫畾",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.4 璁惧",
+ p: ""
+ }, {
+ v: "浣滀笟鎸囧涔�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.4 璁惧",
+ p: ""
+ }, {
+ v: "璁惧杩愯鎬昏",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.4 璁惧",
+ p: ""
+ }, {
+ v: "璁惧妗f",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.4 璁惧",
+ p: ""
+ }, {
+ v: "璁惧楠屾敹",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.4 璁惧",
+ p: ""
+ }, {
+ v: "璁惧鏍″噯",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.4 璁惧",
+ p: ""
+ }, {
+ v: "璁惧鏍告煡",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.4 璁惧",
+ p: ""
+ }, {
+ v: "璁惧缁存姢",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.4 璁惧",
+ p: ""
+ }, {
+ v: "璁惧鍊熺敤",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.4 璁惧",
+ p: ""
+ }, {
+ v: "璁惧鏁呴殰",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.4 璁惧",
+ p: ""
+ }, {
+ v: "浣跨敤璁板綍",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.4 璁惧",
+ p: ""
+ }, {
+ v: "璁惧鍋滅敤/鍚敤",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.4 璁惧",
+ p: ""
+ }, {
+ v: "閲忓�兼函婧愯鍒�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.5 璁¢噺婧簮鎬�",
+ p: ""
+ }, {
+ v: "鏍囧噯鐗╄川娓呭崟",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.5 璁¢噺婧簮鎬�",
+ p: ""
+ }, {
+ v: "鏍囧噯鐗╄川楠屾敹",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.5 璁¢噺婧簮鎬�",
+ p: ""
+ }, {
+ v: "鏍囧噯鐗╄川棰嗙敤",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.5 璁¢噺婧簮鎬�",
+ p: ""
+ }, {
+ v: "杩囨湡鏍囨牱澶勭疆",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.5 璁¢噺婧簮鎬�",
+ p: ""
+ }, {
+ v: "鏈嶅姟鍜屼緵搴斿搧閲囪喘",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.6 澶栭儴鎻愪緵鐨勪骇鍝佸拰鏈嶅姟",
+ p: ""
+ },{
+ v: "渚涘簲鍟嗙鐞�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "6.6 澶栭儴鎻愪緵鐨勪骇鍝佸拰鏈嶅姟",
+ p: ""
+ }]
+ },
+ {
+ v: "7 杩囩▼瑕佹眰",
+ i: "el-icon-tickets",
+ p: "",
+ c: [{
+ v: "妫�楠屽鎵樺崟",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "7.1 瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫",
+ p: ""
+ }, {
+ v: "鍚堝悓璇勫",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "7.1 瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫",
+ p: ""
+ }, {
+ v: "瀹為獙瀹ょ殑妫�娴嬭兘鍔涙。妗�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "7.2 鏂规硶鐨勯�夋嫨銆侀獙璇佸拰纭",
+ p: ""
+ }, {
+ v: "鏍囧噯鏌ユ柊",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "7.2 鏂规硶鐨勯�夋嫨銆侀獙璇佸拰纭",
+ p: ""
+ }, {
+ v: "鏍囧噯鏂规硶鐨勫彉鏇�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "7.2 鏂规硶鐨勯�夋嫨銆侀獙璇佸拰纭",
+ p: ""
+ }, {
+ v: "鏂规硶楠岃瘉",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "7.2 鏂规硶鐨勯�夋嫨銆侀獙璇佸拰纭",
+ p: ""
+ }, {
+ v: "鎶芥牱",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "7.3 鎶芥牱",
+ p: ""
+ }, {
+ v: "妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "7.4 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�",
+ p: ""
+ }, {
+ v: "鎶�鏈褰�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "7.5 鎶�鏈褰�",
+ p: ""
+ }, {
+ v: "娴嬮噺涓嶇‘瀹氬害鐨勮瘎瀹�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "7.6 娴嬮噺涓嶇‘瀹氬害鐨勮瘎瀹�",
+ p: ""
+ }, {
+ v: "纭繚缁撴灉鏈夋晥鎬�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "7.7 纭繚缁撴灉鏈夋晥鎬�",
+ p: ""
+ }, {
+ v: "鎶ュ憡缁撴灉",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "7.8 鎶ュ憡缁撴灉",
+ p: ""
+ }, {
+ v: "鎶曡瘔璇︽儏",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "7.9 鎶曡瘔",
+ p: ""
+ }, {
+ v: "鎶曡瘔鎯呭喌姹囨�昏〃",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "7.9 鎶曡瘔",
+ p: ""
+ }, {
+ v: "涓嶇鍚堥」",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "7.10 涓嶇鍚堝伐浣�",
+ p: ""
+ }, {
+ v: "涓嶇鍚堥」鐨勫垎甯�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "7.10 涓嶇鍚堝伐浣�",
+ p: ""
+ }, {
+ v: "鏁版嵁鎺у埗鍜屼俊鎭鐞�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "7.11 鏁版嵁鎺у埗鍜屼俊鎭鐞�",
+ p: ""
+ }]
+ },
+ {
+ v: "8 浣撶郴绠$悊瑕佹眰",
+ i: "el-icon-tickets",
+ p: "",
+ c: [{
+ v: "鏂瑰紡",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "8.1 鏂瑰紡",
+ p: ""
+ }, {
+ v: "绠$悊浣撶郴鏂囦欢",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "8.2 绠$悊浣撶郴鏂囦欢",
+ p: ""
+ }, {
+ v: "鏂囦欢娓呭崟",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "8.3 绠$悊浣撶郴鏂囦欢鐨勬帶鍒�",
+ p: ""
+ }, {
+ v: "鏂囦欢鍙楁帶",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "8.3 绠$悊浣撶郴鏂囦欢鐨勬帶鍒�",
+ p: ""
+ }, {
+ v: "鏂囦欢鍙戞斁鍥炴敹",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "8.3 绠$悊浣撶郴鏂囦欢鐨勬帶鍒�",
+ p: ""
+ }, {
+ v: "鏂囦欢鍙樻洿",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "8.3 绠$悊浣撶郴鏂囦欢鐨勬帶鍒�",
+ p: ""
+ }, {
+ v: "鏂囦欢浣滃簾",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "8.3 绠$悊浣撶郴鏂囦欢鐨勬帶鍒�",
+ p: ""
+ }, {
+ v: "璁板綍鐨勬帶鍒�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "8.4 璁板綍鐨勬帶鍒�",
+ p: ""
+ }, {
+ v: "搴斿椋庨櫓鍜屾満閬囩殑鎺柦",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "8.5 搴斿椋庨櫓鍜屾満閬囩殑鎺柦",
+ p: ""
+ }, {
+ v: "瀹㈡埛鍩烘湰淇℃伅绠$悊",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "8.6 鏀硅繘",
+ p: ""
+ }, {
+ v: "瀹㈡埛婊℃剰搴�",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "8.6 鏀硅繘",
+ p: ""
+ }, {
+ v: "绾犳鎺柦",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "8.7 绾犳鎺柦",
+ p: ""
+ }, {
+ v: "鍐呭绠$悊",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "8.8 鍐呭绠$悊",
+ p: ""
+ }, {
+ v: "绠$悊璇勫",
+ i: "font icon-24gl-clipboardList",
+ u: "",
+ g: "8.9 绠$悊璇勫",
+ p: ""
+ }]
+ }
+]
+
+function computeK() {
+ let k = 1;
+ function computeK(menu) {
+ menu.forEach(item => {
+ if (item.k == undefined) item.k = k++;
+ if (item.c) {
+ computeK(item.c);
+ }
+ });
+ }
+ computeK(menu);
+}
+computeK();
+
+export default {
+ menu: menu
+}
\ No newline at end of file
--
Gitblit v1.9.3