新增 admin 下 由于文件夹名称log而丢失的文件
This commit is contained in:
@@ -181,7 +181,7 @@ export default {
|
||||
status: null,
|
||||
name: null,
|
||||
page: constants.page.page,
|
||||
limit: constants.page.limit[1]
|
||||
limit: constants.page.limit[0]
|
||||
},
|
||||
viewInfoConfig: {
|
||||
data: null,
|
||||
@@ -201,7 +201,6 @@ export default {
|
||||
handleEditMenu(rowData) {
|
||||
this.editDialogConfig.isCreate = 1
|
||||
this.editDialogConfig.data = rowData
|
||||
console.log(this.editDialogConfig.data)
|
||||
this.editDialogConfig.prent = rowData
|
||||
this.editDialogConfig.visible = true
|
||||
},
|
||||
@@ -229,7 +228,7 @@ export default {
|
||||
const _pram = { type: this.biztype.value, status: this.selectModel ? 1 : -1 }
|
||||
this.biztype.value!==3 ? categoryApi.treeCategroy(_pram).then(data => {
|
||||
this.treeList = this.handleAddArrt(data)
|
||||
}) : categoryApi.listCategroy({ type: 3, status: '' }).then(data => {
|
||||
}) : categoryApi.listCategroy({ type: 3, status: '', pid: this.listPram.pid}).then(data => {
|
||||
this.treeList = data.list
|
||||
})
|
||||
},
|
||||
|
||||
@@ -89,7 +89,7 @@ export default {
|
||||
// monaco.editor.create(document.getElementById("editorJson"), {
|
||||
// value: [
|
||||
// "function x() {",
|
||||
// '\tconsole.log("Hello world!");',
|
||||
// '\tconsole.integralLog("Hello world!");',
|
||||
// "}"].join(
|
||||
// "\n"
|
||||
// ),
|
||||
|
||||
@@ -178,7 +178,7 @@ export default {
|
||||
// })
|
||||
// }).catch(err => {
|
||||
// failure('出现未知问题,刷新页面,或者联系程序员')
|
||||
// console.log(err);
|
||||
// console.integralLog(err);
|
||||
// });
|
||||
// },
|
||||
})
|
||||
|
||||
@@ -282,9 +282,9 @@ export default {
|
||||
reader.readAsDataURL(this.localFile);// 这里也可以直接写参数event.raw
|
||||
|
||||
// 转换成功后的操作,reader.result即为转换后的DataURL ,
|
||||
// 它不需要自己定义,你可以console.log(reader.result)看一下
|
||||
// 它不需要自己定义,你可以console.integralLog(reader.result)看一下
|
||||
reader.onload=()=>{
|
||||
// console.log(reader.result)
|
||||
// console.integralLog(reader.result)
|
||||
}
|
||||
|
||||
/* 另外一种本地预览方法 */
|
||||
|
||||
@@ -36,7 +36,7 @@ import { loadScriptQueue } from '@/components/FormGenerator/utils/loadScript'
|
||||
|
||||
import './icons' // icon
|
||||
import './permission' // permission control
|
||||
import './utils/error-log' // error log
|
||||
import './utils/error-log' // error integralLog
|
||||
import * as filters from './filters' // global filters
|
||||
|
||||
Vue.use(VueLazyload, {
|
||||
|
||||
@@ -168,7 +168,7 @@ export const constantRoutes = [
|
||||
},
|
||||
{
|
||||
path: 'integrallog',
|
||||
component: () => import('@/views/marketing/integral/log/index'),
|
||||
component: () => import('@/views/marketing/integral/integralLog/index'),
|
||||
name: 'DatasIntegralLog',
|
||||
meta: { title: '积分日志', icon: '' }
|
||||
}
|
||||
|
||||
@@ -122,7 +122,7 @@ const marketingRouter = {
|
||||
},
|
||||
{
|
||||
path: 'integrallog',
|
||||
component: () => import('@/views/marketing/integral/log/index'),
|
||||
component: () => import('@/views/marketing/integral/integralLog/index'),
|
||||
name: 'integralLog',
|
||||
meta: { title: '积分日志', icon: '' }
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ service.interceptors.response.use(
|
||||
// 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired;
|
||||
if (res.code === 401) {
|
||||
// to re-login
|
||||
MessageBox.confirm('You have been logged out, you can cancel to stay on this page, or log in again', 'Confirm logout', {
|
||||
MessageBox.confirm('You have been logged out, you can cancel to stay on this page, or integralLog in again', 'Confirm logout', {
|
||||
confirmButtonText: 'Re-Login',
|
||||
cancelButtonText: 'Cancel',
|
||||
type: 'warning'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="components-container">
|
||||
<category-list :biztype="constants.categoryType[2]" />
|
||||
<category-list :biztype="constants.categoryType[2]" :pid="0"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
185
admin/src/views/marketing/integral/integralLog/index.vue
Normal file
185
admin/src/views/marketing/integral/integralLog/index.vue
Normal file
@@ -0,0 +1,185 @@
|
||||
<template>
|
||||
<div class="divBox">
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<div class="container">
|
||||
<el-form size="small" label-width="100px">
|
||||
<el-form-item label="时间选择:" class="width100">
|
||||
<el-radio-group v-model="tableFrom.dateLimit" type="button" class="mr20" size="small"
|
||||
@change="selectChange(tableFrom.dateLimit)">
|
||||
<el-radio-button v-for="(item,i) in fromList.fromTxt" :key="i" :label="item.val">{{ item.text }}
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
<el-date-picker v-model="timeVal" value-format="yyyy/MM/dd" format="yyyy/MM/dd" size="small"
|
||||
type="daterange" placement="bottom-end" placeholder="自定义时间" style="width: 250px;"
|
||||
@change="onchangeTime"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户搜索:">
|
||||
<el-select v-model="tableFrom.userIdList" style="width: 500px" reserve-keyword multiple remote filterable
|
||||
:remote-method="remoteMethod" :loading="loading" placeholder="请输入用户名称" clearable @change="seachList">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.uid"
|
||||
:label="item.nickname"
|
||||
:value="item.uid">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<!--<cards-data :cardLists="cardLists"></cards-data>-->
|
||||
</div>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
:data="tableData.data"
|
||||
style="width: 100%"
|
||||
size="mini"
|
||||
class="table"
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column
|
||||
prop="id"
|
||||
label="ID"
|
||||
width="60"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="title"
|
||||
label="标题"
|
||||
min-width="130"
|
||||
/>
|
||||
<el-table-column
|
||||
sortable
|
||||
prop="balance"
|
||||
label="积分余量"
|
||||
min-width="120"
|
||||
/>
|
||||
<el-table-column
|
||||
sortable
|
||||
label="明细数字"
|
||||
min-width="120"
|
||||
prop="number"
|
||||
/>
|
||||
<el-table-column
|
||||
label="备注"
|
||||
min-width="120"
|
||||
prop="mark"
|
||||
/>
|
||||
<el-table-column
|
||||
label="用户微信昵称"
|
||||
min-width="120"
|
||||
prop="nickName"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="createTime"
|
||||
label=" 添加时间"
|
||||
min-width="150"
|
||||
/>
|
||||
</el-table>
|
||||
<div class="block">
|
||||
<el-pagination
|
||||
:page-sizes="[20, 40, 60, 80]"
|
||||
:page-size="tableFrom.limit"
|
||||
:current-page="tableFrom.page"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="tableData.total"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="pageChange"
|
||||
/>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { fromList } from '@/utils/constants.js'
|
||||
import { integralListApi } from '@/api/marketing'
|
||||
import { userListApi } from '@/api/user'
|
||||
import cardsData from '@/components/cards/index'
|
||||
export default {
|
||||
components: { cardsData },
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
options: [],
|
||||
fromList: fromList,
|
||||
listLoading: false,
|
||||
tableData: {
|
||||
data: [],
|
||||
total: 0
|
||||
},
|
||||
tableFrom: {
|
||||
page: 1,
|
||||
limit: 20,
|
||||
category: 'integral',
|
||||
dateLimit: '',
|
||||
userIdList: []
|
||||
},
|
||||
userIdList: [],
|
||||
userList: [],
|
||||
timeVal: [],
|
||||
values: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getList()
|
||||
// this.getUserList()
|
||||
},
|
||||
methods: {
|
||||
remoteMethod(query) {
|
||||
console.log(query)
|
||||
if (query !== '') {
|
||||
this.loading = true;
|
||||
setTimeout(() => {
|
||||
this.loading = false;
|
||||
userListApi({keywords: query, page: 1, limit: 10}).then(res => {
|
||||
this.options = res.list
|
||||
})
|
||||
}, 200);
|
||||
} else {
|
||||
this.options = [];
|
||||
}
|
||||
},
|
||||
seachList() {
|
||||
this.tableFrom.page = 1
|
||||
this.getList()
|
||||
},
|
||||
// 选择时间
|
||||
selectChange (tab) {
|
||||
this.tableFrom.dateLimit = tab
|
||||
this.tableFrom.page = 1
|
||||
this.timeVal = [];
|
||||
this.getList();
|
||||
},
|
||||
// 具体日期
|
||||
onchangeTime (e) {
|
||||
this.timeVal = e;
|
||||
this.tableFrom.dateLimit = e ? this.timeVal.join(',') : ''
|
||||
this.tableFrom.page = 1
|
||||
this.getList();
|
||||
},
|
||||
// 列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
integralListApi({ limit:this.tableFrom.limit, page: this.tableFrom.page}, this.tableFrom).then(res => {
|
||||
this.tableData.data = res.list
|
||||
this.tableData.total = res.total
|
||||
this.listLoading = false
|
||||
}).catch(res => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
pageChange(page) {
|
||||
this.tableFrom.page = page
|
||||
this.getList()
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.tableFrom.limit = val
|
||||
this.getList()
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
|
||||
</style>
|
||||
@@ -264,7 +264,7 @@ export default {
|
||||
this.$refs['ruleForm'].resetFields()
|
||||
},
|
||||
changeRegion(value) {
|
||||
// console.log(value)
|
||||
// console.integralLog(value)
|
||||
},
|
||||
changeRadio(num) {
|
||||
this.columns = Object.assign({}, statusMap[num - 1])
|
||||
@@ -316,7 +316,7 @@ export default {
|
||||
this.shippingFree()
|
||||
}
|
||||
}).catch(res => {
|
||||
// console.log(res)
|
||||
// console.integralLog(res)
|
||||
this.$message.error(res.message)
|
||||
this.$nextTick(() => {
|
||||
loadingInstance.close()
|
||||
@@ -348,7 +348,7 @@ export default {
|
||||
// 列表
|
||||
getCityList() {
|
||||
logistics.cityListTree().then(res => {
|
||||
// console.log(res, 'getCityList')
|
||||
// console.integralLog(res, 'getCityList')
|
||||
res.forEach((el, index) => {
|
||||
el.child.forEach((cel, j) => {
|
||||
delete cel.child
|
||||
|
||||
@@ -99,7 +99,7 @@ export default {
|
||||
// if(tab.$children[0].panes){ // todo 优化。。。
|
||||
// this.activeNamel2 = tab.$children[0].panes[0].name
|
||||
// }else{
|
||||
// conaole.log()
|
||||
// conaole.integralLog()
|
||||
// }
|
||||
let _selected = tab.$children[0].panes[0]
|
||||
// 设置特殊处理的文件长传表单默认选中第一个tab
|
||||
|
||||
@@ -1,254 +0,0 @@
|
||||
<template>
|
||||
<div class="divBox">
|
||||
<el-card class="box-card">
|
||||
{{activeNamel1}}
|
||||
<el-tabs v-model="activeNamel1" @tab-click="handleTabClick">
|
||||
<el-tab-pane
|
||||
v-for="tab,index in treeList"
|
||||
:key="index"
|
||||
:label="tab.name"
|
||||
:name="tab.extra"
|
||||
>
|
||||
<!-- 文件上传特殊处理-->
|
||||
<template v-if="activeNamel1 == 4">
|
||||
<el-radio-group v-model="activeNamel2" class="mb10">
|
||||
<el-radio v-for="tabItem,itemIndex in tab.child"
|
||||
:key="itemIndex"
|
||||
:label="tabItem.name" @change="()=>handleItemTabClick(tabItem.extra)">{{tabItem.name}}</el-radio>
|
||||
</el-radio-group>
|
||||
<parser
|
||||
v-if="formConfChild.render"
|
||||
:is-edit="formConfChild.isEdit"
|
||||
:form-conf="formConfChild.content"
|
||||
:form-edit-data="currentEditData"
|
||||
@submit="handlerSubmit"
|
||||
/>
|
||||
</template>
|
||||
<!-- 正常配置渲染-->
|
||||
<template v-else>
|
||||
{{activeNamel2}}
|
||||
<el-tabs v-if="tab.child.length > 0" v-model="activeNamel2"
|
||||
type="border-card" @tab-click="handleItemTabClick">
|
||||
<el-tab-pane
|
||||
v-for="tabItem,itemIndex in tab.child"
|
||||
:key="itemIndex"
|
||||
:label="tabItem.name"
|
||||
:name="tabItem.extra"
|
||||
>
|
||||
<parser
|
||||
v-if="formConfChild.render"
|
||||
:is-edit="formConfChild.isEdit"
|
||||
:form-conf="formConfChild.content"
|
||||
:form-edit-data="currentEditData"
|
||||
@submit="handlerSubmit"
|
||||
/>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<span v-else>
|
||||
<parser
|
||||
v-if="formConf.render"
|
||||
:is-edit="formConf.isEdit"
|
||||
:form-conf="formConf.content"
|
||||
:form-edit-data="currentEditData"
|
||||
@submit="handlerSubmit"
|
||||
/>
|
||||
</span>
|
||||
</template>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import parser from '@/components/FormGenerator/components/parser/Parser'
|
||||
import * as constants from '@/utils/constants.js'
|
||||
import * as categoryApi from '@/api/categoryApi.js'
|
||||
import * as selfUtil from '@/utils/ZBKJIutil.js'
|
||||
import * as systemFormConfigApi from '@/api/systemFormConfig.js'
|
||||
import * as systemSettingApi from '@/api/systemSetting.js'
|
||||
import * as systemConfigApi from '@/api/systemConfig.js'
|
||||
import Template from "@/views/appSetting/wxAccount/wxTemplate/index";
|
||||
import {beautifierConf} from "@/components/FormGenerator/utils";
|
||||
export default {
|
||||
// name: "index",
|
||||
components: {Template, parser },
|
||||
data() {
|
||||
return {
|
||||
formConf: { content: { fields: [] }, id: null, render: false, isEdit: false },
|
||||
formConfChild: { content: { fields: [] }, id: null, render: false, isEdit: false },
|
||||
activeNamel1: null,
|
||||
activeNamel2: '本地(不推荐)',//针对文件特殊处理
|
||||
treeList: [],
|
||||
editDataChild: {},
|
||||
isCreate: 0,
|
||||
currentEditId: null,
|
||||
currentEditData: null,
|
||||
currentSelectedUploadFlag:null,
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
console.log(this.$route.path.split("/")[1])
|
||||
this.handlerGetTreeList()
|
||||
this.getCurrentUploadSelectedFlag()
|
||||
},
|
||||
methods: {
|
||||
handleTabClick(tab, event) {
|
||||
console.log(tab)
|
||||
if (tab.name) {
|
||||
this.handlerGetLevel1FormConfig(tab.name)
|
||||
} else if (tab.$children.length > 0 ) { // 初次加载第二层的第一个Tab数据
|
||||
// if(tab.$children[0].panes){ // todo 优化。。。
|
||||
// this.activeNamel2 = tab.$children[0].panes[0].name
|
||||
// }else{
|
||||
// conaole.log()
|
||||
// }
|
||||
let _selected = tab.$children[0].panes[0]
|
||||
// 设置特殊处理的文件长传表单默认选中第一个tab
|
||||
this.activeNamel2 = _selected.name != 72 ? _selected.name : _selected.label
|
||||
console.log(this.activeNamel2)
|
||||
if(this.activeNamel2 == 108){
|
||||
switch (this.currentSelectedUploadFlag) {
|
||||
case 1:
|
||||
this.activeNamel2 = '本地(不推荐)'
|
||||
this.handlerGetLevel2FormConfig(108)
|
||||
break
|
||||
case 2:
|
||||
this.activeNamel2 = '阿里云配置'
|
||||
this.handlerGetLevel2FormConfig(81)
|
||||
break
|
||||
case 3:
|
||||
this.activeNamel2 = '七牛云配置'
|
||||
this.handlerGetLevel2FormConfig(82)
|
||||
break
|
||||
case 4:
|
||||
this.activeNamel2 = '腾讯云配置'
|
||||
this.handlerGetLevel2FormConfig(83)
|
||||
break
|
||||
}
|
||||
}else{
|
||||
this.handlerGetLevel2FormConfig(_selected.name)
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
handlerGetLevel1FormConfig(id) {
|
||||
const formPram = { id: id }
|
||||
this.currentEditId = id
|
||||
this.formConf.content = { fields: [] }
|
||||
this.formConf.render = false
|
||||
systemFormConfigApi.getFormConfigInfo(formPram).then(data => {
|
||||
const { id, name, info, content } = data
|
||||
this.formConf.content = JSON.parse(content)
|
||||
this.formConf.id = id
|
||||
this.handlerGetSettingInfo(id, 1)
|
||||
})
|
||||
},
|
||||
handleItemTabClick(tab, event) { //这里对tabs=tab.name和radio=id做了兼容
|
||||
let _id = tab.name ? tab.name : tab
|
||||
if(!_id) return this.$message.error('表单配置不正确,请关联正确表单后使用')
|
||||
this.handlerGetLevel2FormConfig(_id)
|
||||
},
|
||||
handlerGetLevel2FormConfig(id) {
|
||||
const formPram = { id: id }
|
||||
this.currentEditId = id
|
||||
this.formConfChild.content = { fields: [] }
|
||||
this.formConfChild.render = false
|
||||
systemFormConfigApi.getFormConfigInfo(formPram).then(data => {
|
||||
const { id, name, info, content } = data
|
||||
this.formConfChild.content = JSON.parse(content)
|
||||
this.formConfChild.id = id
|
||||
this.handlerGetSettingInfo(id, 2)
|
||||
})
|
||||
},
|
||||
handlerGetSettingInfo(id, level) {
|
||||
systemSettingApi.systemConfigInfo({ id: id }).then(data => {
|
||||
this.currentEditData = data
|
||||
if (level === 1) {
|
||||
this.formConf.isEdit = this.currentEditData !== null
|
||||
this.formConf.render = true
|
||||
} else {
|
||||
this.formConfChild.isEdit = this.currentEditData !== null
|
||||
this.formConfChild.render = true
|
||||
}
|
||||
})
|
||||
},
|
||||
handlerSubmit(formValue) {
|
||||
this.handlerSave(formValue)
|
||||
},
|
||||
handlerSave(formValue) {
|
||||
const _pram = this.buildFormPram(formValue)
|
||||
let _formId = 0
|
||||
systemSettingApi.systemConfigSave(_pram).then(data => {
|
||||
this.$message.success('添加数据成功')
|
||||
// 81 82 83
|
||||
// 针对云存储配置特殊处理 切勿随意改动
|
||||
_formId = parseInt(_pram.id)
|
||||
if(_formId === 108 || _formId === 81 || _formId === 82 || _formId === 83){
|
||||
let _value
|
||||
switch (_formId) {
|
||||
case 108: _value = 1
|
||||
break;
|
||||
case 81: _value = 2
|
||||
break;
|
||||
case 82: _value = 3
|
||||
break;
|
||||
case 83: _value = 4
|
||||
break;
|
||||
}
|
||||
const _pram = { key:"uploadType",value:_value }
|
||||
systemConfigApi.configSaveUniq(_pram)
|
||||
}
|
||||
})
|
||||
},
|
||||
handlerGetTreeList() {
|
||||
const _pram = { type: constants.categoryType[5].value, status: -1 }
|
||||
categoryApi.treeCategroy(_pram).then(data => {
|
||||
this.treeList = this.handleAddArrt(data)
|
||||
if (this.treeList.length > 0) this.activeNamel1 = this.treeList[0].extra
|
||||
if (this.treeList.length > 0 && this.treeList[0].child.length > 0) {
|
||||
this.activeNamel2 = this.treeList[0].child[0].extra
|
||||
}
|
||||
if (this.activeNamel2) {
|
||||
this.handlerGetLevel2FormConfig(this.treeList[0].child[0].extra)
|
||||
} else {
|
||||
this.handlerGetLevel1FormConfig(this.treeList[0].extra)
|
||||
}
|
||||
})
|
||||
},
|
||||
handleAddArrt(treeData) {
|
||||
// let _result = this.addTreeListLabel(treeData)
|
||||
const _result = selfUtil.addTreeListLabel(treeData)
|
||||
console.log(_result)
|
||||
return _result
|
||||
},
|
||||
buildFormPram(formValue) {
|
||||
const _pram = {
|
||||
fields: [],
|
||||
id: this.currentEditId,
|
||||
sort: 0, // 参数暂时无用
|
||||
status: true // 参数暂时无用
|
||||
}
|
||||
const _fields = []
|
||||
Object.keys(formValue).forEach((key) => {
|
||||
_fields.push({
|
||||
name: key,
|
||||
title: key,
|
||||
value: formValue[key] || '1111'
|
||||
})
|
||||
})
|
||||
_pram.fields = _fields
|
||||
return _pram
|
||||
},
|
||||
getCurrentUploadSelectedFlag(){
|
||||
systemConfigApi.configGetUniq({key:"uploadType"}).then(data => {
|
||||
this.currentSelectedUploadFlag = parseInt(data)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
Reference in New Issue
Block a user