修改中英文切换
This commit is contained in:
@@ -245,7 +245,6 @@ module.exports = {
|
|||||||
CompletelyDelete:'Completely delete',
|
CompletelyDelete:'Completely delete',
|
||||||
FirstLevelMenu:'First level menu',
|
FirstLevelMenu:'First level menu',
|
||||||
Submenu:'Submenu',
|
Submenu:'Submenu',
|
||||||
ButtonsPermissions:'buttons/permissions',
|
|
||||||
enterMenuName:'Please enter menu name',
|
enterMenuName:'Please enter menu name',
|
||||||
SuperiorMenu:'superior menu',
|
SuperiorMenu:'superior menu',
|
||||||
selectSuperiorMenu:'Please select superior menu',
|
selectSuperiorMenu:'Please select superior menu',
|
||||||
@@ -335,5 +334,9 @@ module.exports = {
|
|||||||
Users:'users',
|
Users:'users',
|
||||||
reduction:'reduction',
|
reduction:'reduction',
|
||||||
UsersSucceeded:'users succeeded!',
|
UsersSucceeded:'users succeeded!',
|
||||||
|
standard:'number',
|
||||||
|
title:'title',
|
||||||
|
TextStatus:'TextStatus',
|
||||||
|
PleaseEnter:'Please enter',
|
||||||
|
PleaseSelect:'Please select',
|
||||||
}
|
}
|
||||||
@@ -9,11 +9,11 @@ module.exports = {
|
|||||||
RealName:'真实姓名',
|
RealName:'真实姓名',
|
||||||
pleaseEnter:'请输入',
|
pleaseEnter:'请输入',
|
||||||
phoneNumber:'手机号码',
|
phoneNumber:'手机号码',
|
||||||
query:'查询',
|
query:'搜索',
|
||||||
userStatues:'用户状态',
|
userStatues:'用户状态',
|
||||||
normal:'正常',
|
normal:'正常',
|
||||||
frozen:'冻结',
|
frozen:'冻结',
|
||||||
reset:'重置',
|
reset:'清空',
|
||||||
putAway:'收起',
|
putAway:'收起',
|
||||||
open:'展开',
|
open:'展开',
|
||||||
addUser:'添加用户',
|
addUser:'添加用户',
|
||||||
@@ -338,5 +338,9 @@ module.exports = {
|
|||||||
Users:'个用户吗?',
|
Users:'个用户吗?',
|
||||||
reduction:'还原',
|
reduction:'还原',
|
||||||
UsersSucceeded:'个用户成功!',
|
UsersSucceeded:'个用户成功!',
|
||||||
|
standard:'编号',
|
||||||
|
title:'标题',
|
||||||
|
TextStatus:'文本状态',
|
||||||
|
PleaseEnter:'请输入',
|
||||||
|
PleaseSelect:'请选择',
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,250 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div class="box-title-text">
|
||||||
|
<a-input class="box-input" :value="value" @input="indexclick($event)" :placeholder="query.placeholder"/>
|
||||||
|
<a-button type="primary" class="button-box" @click="standardClick">
|
||||||
|
人员选择
|
||||||
|
</a-button>
|
||||||
|
</div>
|
||||||
|
<a-drawer
|
||||||
|
:title="'人员选择'"
|
||||||
|
:maskClosable="true"
|
||||||
|
:width="600"
|
||||||
|
placement="right"
|
||||||
|
:closable="true"
|
||||||
|
@close="handleCancel"
|
||||||
|
:visible="visible"
|
||||||
|
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||||
|
<a-input-search style="margin-bottom: 8px" placeholder="Search" @change="onChange" />
|
||||||
|
<div class="drawer-content">
|
||||||
|
<a-tree
|
||||||
|
style="margin-bottom: 60px;height: 600px"
|
||||||
|
checkable
|
||||||
|
:loading="loading"
|
||||||
|
:tree-data="gData"
|
||||||
|
@select="onSelect"
|
||||||
|
@check="onCheck"
|
||||||
|
>
|
||||||
|
</a-tree>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="drawer-bootom-button">
|
||||||
|
<a-button @click="handleCancel" type="danger" style="margin-right: 16px">{{$t('cancel')}}</a-button>
|
||||||
|
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('submit')}}</a-button>
|
||||||
|
</div>
|
||||||
|
</a-drawer>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'index',
|
||||||
|
props: ['query', 'value'],
|
||||||
|
data(){
|
||||||
|
return{
|
||||||
|
loading:true,
|
||||||
|
gData:[
|
||||||
|
{
|
||||||
|
title: 'parent 1',
|
||||||
|
key: '0-0',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
title: '张晨成',
|
||||||
|
key: '0-0-0',
|
||||||
|
disabled: true,
|
||||||
|
children: [
|
||||||
|
{ title: 'leaf', key: '0-0-0-0' },
|
||||||
|
{ title: 'leaf', key: '0-0-0-1' },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'parent 1-1',
|
||||||
|
key: '0-0-1',
|
||||||
|
children: [{ key: '0-0-1-0', title: 'zcvc' }],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}, {
|
||||||
|
title: 'parent 1',
|
||||||
|
key: '0-0',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
title: '张晨成',
|
||||||
|
key: '0-0-0',
|
||||||
|
disabled: true,
|
||||||
|
children: [
|
||||||
|
{ title: 'leaf', key: '0-0-0-0' },
|
||||||
|
{ title: 'leaf', key: '0-0-0-1' },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'parent 1-1',
|
||||||
|
key: '0-0-1',
|
||||||
|
children: [{ key: '0-0-1-0', title: 'zcvc' }],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}, {
|
||||||
|
title: 'parent 1',
|
||||||
|
key: '0-0',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
title: '张晨成',
|
||||||
|
key: '0-0-0',
|
||||||
|
disabled: true,
|
||||||
|
children: [
|
||||||
|
{ title: 'leaf', key: '0-0-0-0' },
|
||||||
|
{ title: 'leaf', key: '0-0-0-1' },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'parent 1-1',
|
||||||
|
key: '0-0-1',
|
||||||
|
children: [{ key: '0-0-1-0', title: 'zcvc' }],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}, {
|
||||||
|
title: 'parent 1',
|
||||||
|
key: '0-0',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
title: '张晨成',
|
||||||
|
key: '0-0-0',
|
||||||
|
disabled: true,
|
||||||
|
children: [
|
||||||
|
{ title: 'leaf', key: '0-0-0-0' },
|
||||||
|
{ title: 'leaf', key: '0-0-0-1' },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'parent 1-1',
|
||||||
|
key: '0-0-1',
|
||||||
|
children: [{ key: '0-0-1-0', title: 'zcvc' }],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}, {
|
||||||
|
title: 'parent 1',
|
||||||
|
key: '0-0',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
title: '张晨成',
|
||||||
|
key: '0-0-0',
|
||||||
|
disabled: true,
|
||||||
|
children: [
|
||||||
|
{ title: 'leaf', key: '0-0-0-0' },
|
||||||
|
{ title: 'leaf', key: '0-0-0-1' },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'parent 1-1',
|
||||||
|
key: '0-0-1',
|
||||||
|
children: [{ key: '0-0-1-0', title: 'zcvc' }],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}, {
|
||||||
|
title: 'parent 1',
|
||||||
|
key: '0-0',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
title: '张晨成',
|
||||||
|
key: '0-0-0',
|
||||||
|
disabled: true,
|
||||||
|
children: [
|
||||||
|
{ title: 'leaf', key: '0-0-0-0' },
|
||||||
|
{ title: 'leaf', key: '0-0-0-1' },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'parent 1-1',
|
||||||
|
key: '0-0-1',
|
||||||
|
children: [{ key: '0-0-1-0', title: 'zcvc' }],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}, {
|
||||||
|
title: 'parent 1',
|
||||||
|
key: '0-0',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
title: '张晨成',
|
||||||
|
key: '0-0-0',
|
||||||
|
disabled: true,
|
||||||
|
children: [
|
||||||
|
{ title: 'leaf', key: '0-0-0-0' },
|
||||||
|
{ title: 'leaf', key: '0-0-0-1' },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'parent 1-1',
|
||||||
|
key: '0-0-1',
|
||||||
|
children: [{ key: '0-0-1-0', title: 'zcvc' }],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
autoExpandParent: true,
|
||||||
|
expandedKeys:[],
|
||||||
|
visible: false,
|
||||||
|
confirmLoading:false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
standardClick() {
|
||||||
|
this.visible = true
|
||||||
|
},
|
||||||
|
onSelect(selectedKeys, info) {
|
||||||
|
console.log('selected', selectedKeys, info);
|
||||||
|
},
|
||||||
|
onCheck(checkedKeys, info) {
|
||||||
|
console.log('onCheck', checkedKeys, info);
|
||||||
|
},
|
||||||
|
handleCancel(){
|
||||||
|
this.visible = false
|
||||||
|
},
|
||||||
|
handleSubmit(){
|
||||||
|
|
||||||
|
},
|
||||||
|
indexclick(event) {
|
||||||
|
this.$emit('input', event.target.value)
|
||||||
|
},
|
||||||
|
onChange(){
|
||||||
|
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.box-title-text {
|
||||||
|
line-height: 1.4;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box-input {
|
||||||
|
display: inline-block;
|
||||||
|
height: 38px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-box {
|
||||||
|
margin-left: 10px;
|
||||||
|
height: 38px;
|
||||||
|
line-height: 38px;
|
||||||
|
|
||||||
|
}
|
||||||
|
.drawer-bootom-button {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
width: 100%;
|
||||||
|
border-top: 1px solid #e8e8e8;
|
||||||
|
padding: 10px 16px;
|
||||||
|
text-align: right;
|
||||||
|
left: 0;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 0 0 2px 2px;
|
||||||
|
}
|
||||||
|
.drawer-content{
|
||||||
|
height: calc(100% - 60px);
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -22,14 +22,22 @@
|
|||||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||||
<a-form layout="inline" @keyup.enter.native="searchQuery" style="margin-bottom: 20px">
|
<a-form layout="inline" @keyup.enter.native="searchQuery" style="margin-bottom: 20px">
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :md="6" :sm="8" v-for="(item,index) in searchList" :key="index" style="line-height: 48px">
|
<a-col :md="6" :sm="8" style="line-height: 48px">
|
||||||
<div class="box-title-text-index">
|
<div class="box-title-text-index">
|
||||||
<div class="title-text-index">
|
<div class="title-text-index">
|
||||||
<span>{{item.enName}}</span><br>
|
<span>{{$t('standard')}}</span>
|
||||||
<span>{{item.name}}</span>
|
|
||||||
</div>
|
</div>
|
||||||
<a-input class="box-input-index" :placeholder="item.placeholder"
|
<a-input class="box-input-index" :placeholder="this.$t('PleaseEnter') +' '+ this.$t('standard')"
|
||||||
v-model="queryParam[item.attrModel]"></a-input>
|
v-model="queryParam.serialNumber"></a-input>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<a-col :md="6" :sm="8" style="line-height: 48px">
|
||||||
|
<div class="box-title-text-index">
|
||||||
|
<div class="title-text-index">
|
||||||
|
<span>{{$t('title')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-input class="box-input-index" :placeholder="this.$t('PleaseEnter') +' '+ this.$t('title')"
|
||||||
|
v-model="queryParam.title"></a-input>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||||
@@ -40,14 +48,24 @@
|
|||||||
</a-form>
|
</a-form>
|
||||||
<a-table
|
<a-table
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
:data-source="data"
|
rowKey="id"
|
||||||
|
:data-source="dataList"
|
||||||
:scroll="{ y: 540 }"
|
:scroll="{ y: 540 }"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
bordered>
|
:loading="loading">
|
||||||
<template slot="name" slot-scope="text">
|
|
||||||
<a>{{ text }}</a>
|
|
||||||
</template>
|
|
||||||
</a-table>
|
</a-table>
|
||||||
|
<div class="page" v-if="dataList.length > 0">
|
||||||
|
<a-pagination
|
||||||
|
:show-total="total => `共 ${total} 条`"
|
||||||
|
show-quick-jumper
|
||||||
|
show-size-changer
|
||||||
|
:page-size.sync="pageSize"
|
||||||
|
:total="total"
|
||||||
|
@change="onChange"
|
||||||
|
@showSizeChange="SizeChange"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
<div class="drawer-bootom-button">
|
<div class="drawer-bootom-button">
|
||||||
<a-button @click="handleCancel" type="danger" style="margin-right: 16px">{{$t('cancel')}}</a-button>
|
<a-button @click="handleCancel" type="danger" style="margin-right: 16px">{{$t('cancel')}}</a-button>
|
||||||
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('submit')}}</a-button>
|
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('submit')}}</a-button>
|
||||||
@@ -57,6 +75,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { getAction, postAction } from '@/api/manage'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'index',
|
name: 'index',
|
||||||
props: ['query', 'value'],
|
props: ['query', 'value'],
|
||||||
@@ -66,110 +86,58 @@
|
|||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
content: [],
|
content: [],
|
||||||
|
loading: false,
|
||||||
queryParam: {},
|
queryParam: {},
|
||||||
searchList: [
|
|
||||||
{ name: '标准编号', placeholder: '请输入标准编号', attrModel: 'name', enName: 'standard' },
|
|
||||||
{ name: '标准名称', placeholder: '请输入标准名称', attrModel: 'title', enName: 'standName' }
|
|
||||||
],
|
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: 'Name',
|
title: this.$t('standard'),
|
||||||
dataIndex: 'name',
|
dataIndex: 'serial_number'
|
||||||
scopedSlots: { customRender: 'name' }
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Cash Assets',
|
title: this.$t('title'),
|
||||||
className: 'column-money',
|
dataIndex: 'title'
|
||||||
dataIndex: 'money'
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Address',
|
title: this.$t('TextStatus'),
|
||||||
dataIndex: 'address'
|
dataIndex: 'state'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
data: [
|
dataList: [],
|
||||||
{
|
pageNo: 1,
|
||||||
key: '1',
|
pageSize: 10,
|
||||||
name: 'John Brown',
|
total: 0
|
||||||
money: '¥300,000.00',
|
|
||||||
address: 'New York No. 1 Lake Park'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: '2',
|
|
||||||
name: 'Jim Green',
|
|
||||||
money: '¥1,256,000.00',
|
|
||||||
address: 'London No. 1 Lake Park'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: '3',
|
|
||||||
name: 'Joe Black',
|
|
||||||
money: '¥120,000.00',
|
|
||||||
address: 'Sidney No. 1 Lake Park'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: '4',
|
|
||||||
name: 'John Brown',
|
|
||||||
money: '¥300,000.00',
|
|
||||||
address: 'New York No. 1 Lake Park'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: '5',
|
|
||||||
name: 'Jim Green',
|
|
||||||
money: '¥1,256,000.00',
|
|
||||||
address: 'London No. 1 Lake Park'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: '6',
|
|
||||||
name: 'Joe Black',
|
|
||||||
money: '¥120,000.00',
|
|
||||||
address: 'Sidney No. 1 Lake Park'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: '7',
|
|
||||||
name: 'John Brown',
|
|
||||||
money: '¥300,000.00',
|
|
||||||
address: 'New York No. 1 Lake Park'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: '8',
|
|
||||||
name: 'Jim Green',
|
|
||||||
money: '¥1,256,000.00',
|
|
||||||
address: 'London No. 1 Lake Park'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: '9',
|
|
||||||
name: 'Joe Black',
|
|
||||||
money: '¥120,000.00',
|
|
||||||
address: 'Sidney No. 1 Lake Park'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: '10',
|
|
||||||
name: 'Jim Green',
|
|
||||||
money: '¥1,256,000.00',
|
|
||||||
address: 'London No. 1 Lake Park'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: '11',
|
|
||||||
name: 'Joe Black',
|
|
||||||
money: '¥120,000.00',
|
|
||||||
address: 'Sidney No. 1 Lake Park'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
this.replacePage()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
standardClick() {
|
standardClick() {
|
||||||
this.visible = true
|
this.visible = true
|
||||||
},
|
},
|
||||||
|
replacePage() {
|
||||||
|
let query = {
|
||||||
|
...this.queryParam,
|
||||||
|
pageNo: this.pageNo,
|
||||||
|
pageSize: this.pageSize
|
||||||
|
}
|
||||||
|
this.loading = true
|
||||||
|
getAction('document/bussDocumentLibraryEO/replacePageInfo', query).then((res) => {
|
||||||
|
this.loading = false
|
||||||
|
if (res.success) {
|
||||||
|
this.dataList = res.result.records
|
||||||
|
this.total = res.result.total
|
||||||
|
} else {
|
||||||
|
this.dataList = []
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
handleCancel() {
|
handleCancel() {
|
||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
handleSubmit() {
|
handleSubmit() {
|
||||||
let content = []
|
let content = []
|
||||||
this.content.forEach(res=>{
|
this.content.forEach(res => {
|
||||||
content.push(res.name)
|
content.push(res.name)
|
||||||
})
|
})
|
||||||
this.$emit('input', content.join(','))
|
this.$emit('input', content.join(','))
|
||||||
@@ -182,7 +150,7 @@
|
|||||||
this.content = []
|
this.content = []
|
||||||
value.forEach(val => {
|
value.forEach(val => {
|
||||||
this.data.forEach((res) => {
|
this.data.forEach((res) => {
|
||||||
if (res.key === val){
|
if (res.key === val) {
|
||||||
this.content.push(res)
|
this.content.push(res)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -190,11 +158,20 @@
|
|||||||
this.selectedRowKeys = value
|
this.selectedRowKeys = value
|
||||||
},
|
},
|
||||||
searchQuery() {
|
searchQuery() {
|
||||||
|
this.replacePage()
|
||||||
},
|
},
|
||||||
searchReset() {
|
searchReset() {
|
||||||
|
this.queryParam = {}
|
||||||
}
|
this.replacePage()
|
||||||
|
},
|
||||||
|
onChange(page, pageSize) {
|
||||||
|
this.pageNo = page
|
||||||
|
this.replacePage()
|
||||||
|
},
|
||||||
|
SizeChange(page, pageSize) {
|
||||||
|
this.pageSize = pageSize
|
||||||
|
this.replacePage()
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -203,19 +180,6 @@
|
|||||||
.box-title-text {
|
.box-title-text {
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
display: flex;
|
display: flex;
|
||||||
/*align-items: center;*/
|
|
||||||
}
|
|
||||||
|
|
||||||
.title-text {
|
|
||||||
width: 114px;
|
|
||||||
text-align: right;
|
|
||||||
display: inline-block;
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: 14px;
|
|
||||||
margin-right: 16px;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-input {
|
.box-input {
|
||||||
@@ -224,17 +188,6 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.itemModel {
|
|
||||||
width: calc(100% - 220px);
|
|
||||||
display: inline-block;
|
|
||||||
margin-top: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.Required {
|
|
||||||
color: red;
|
|
||||||
margin-right: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.button-box {
|
.button-box {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
height: 38px;
|
height: 38px;
|
||||||
@@ -262,6 +215,7 @@
|
|||||||
|
|
||||||
.title-text-index {
|
.title-text-index {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
min-width: 60px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
margin-right: 16px;
|
margin-right: 16px;
|
||||||
@@ -278,4 +232,8 @@
|
|||||||
height: 38px;
|
height: 38px;
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
|
.page {
|
||||||
|
text-align: right;
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -43,6 +43,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" :prop="item.db_field_name">
|
<a-form-model-item class="itemModel" :prop="item.db_field_name">
|
||||||
<a-date-picker class="box-input" v-model="formInline[item.db_field_name]"
|
<a-date-picker class="box-input" v-model="formInline[item.db_field_name]"
|
||||||
|
@change="dateChange(item)"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
style="width: 100%"/>
|
style="width: 100%"/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
@@ -59,7 +61,7 @@
|
|||||||
<a-form-model-item class="itemModel" :prop="item.db_field_name">
|
<a-form-model-item class="itemModel" :prop="item.db_field_name">
|
||||||
<a-range-picker v-model="formInline[item.db_field_name]"
|
<a-range-picker v-model="formInline[item.db_field_name]"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
@change="onChange"></a-range-picker>
|
@change="onChange(item.db_field_name)"></a-range-picker>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -140,7 +142,25 @@
|
|||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<a-col :span="12" v-else-if="item.field_show_type === 'treeSelect'">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span class="Required" v-if="item.field_must_input == 0">*</span>
|
||||||
|
<!-- <span :class="{'title-text-text':false}">{{item.db_field_en_name}}</span><br>-->
|
||||||
|
<span class="title-text-text">{{item.db_field_txt}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" :prop="item.db_field_name">
|
||||||
|
<a-tree-select
|
||||||
|
v-model="formInline[item.db_field_name]"
|
||||||
|
style="width: 100%"
|
||||||
|
:maxTagCount="1"
|
||||||
|
:tree-data="treeData"
|
||||||
|
tree-checkable
|
||||||
|
placeholder="Please select"
|
||||||
|
/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
<a-col :span="12" v-else-if="item.field_show_type === 'file'">
|
<a-col :span="12" v-else-if="item.field_show_type === 'file'">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
@@ -187,6 +207,7 @@
|
|||||||
import Standardselection from '@/components/Standardselection/index'
|
import Standardselection from '@/components/Standardselection/index'
|
||||||
import { getAction, postAction } from '@/api/manage'
|
import { getAction, postAction } from '@/api/manage'
|
||||||
import eventBUs from '../../common/event'
|
import eventBUs from '../../common/event'
|
||||||
|
import moment from 'moment'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'index',
|
name: 'index',
|
||||||
@@ -255,9 +276,6 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
onChange(date, dateString) {
|
|
||||||
console.log(date, dateString)
|
|
||||||
},
|
|
||||||
clickButtonToUpload(current) {
|
clickButtonToUpload(current) {
|
||||||
this.$refs.uploadFile.visible = true
|
this.$refs.uploadFile.visible = true
|
||||||
this.uploadName = current
|
this.uploadName = current
|
||||||
@@ -340,6 +358,14 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
dateChange(item) {
|
||||||
|
this.formInline[item.db_field_name] = moment(this.formInline[item.db_field_name]).format('YYYY-MM-DD')
|
||||||
|
},
|
||||||
|
onChange(item) {
|
||||||
|
let dateOne = moment(this.formInline[item][0]).format('YYYY-MM-DD')
|
||||||
|
let dateTwo = moment(this.formInline[item][1]).format('YYYY-MM-DD')
|
||||||
|
this.formInline[item] = [dateOne, dateTwo]
|
||||||
|
},
|
||||||
edit(item) {
|
edit(item) {
|
||||||
getAction(this.url.getDocumentInfo, { id: item.id }).then((res) => {
|
getAction(this.url.getDocumentInfo, { id: item.id }).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
|
|||||||
@@ -39,7 +39,20 @@
|
|||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<a-col :span="12" v-else-if="item.field_show_type === 'dateAll'">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span class="Required" v-if="item.field_must_input == 0">*</span>
|
||||||
|
<!-- <span :class="{'title-text-text':false}">{{item.db_field_en_name}}</span><br>-->
|
||||||
|
<span class="title-text-text">{{item.db_field_txt}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" :prop="item.db_field_name">
|
||||||
|
<a-range-picker class="box-input" v-model="formInline[item.db_field_name]"
|
||||||
|
:disabled="disabled"
|
||||||
|
@change="onChange(item.db_field_name)"></a-range-picker>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
<a-col :span="12" v-else-if="item.field_show_type === 'date'">
|
<a-col :span="12" v-else-if="item.field_show_type === 'date'">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
@@ -58,20 +71,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
|
||||||
<a-col :span="12" v-else-if="item.field_show_type === 'SMULTITIME'">
|
|
||||||
<div class="box-title-text">
|
|
||||||
<div class="title-text">
|
|
||||||
<span class="Required" v-if="item.field_must_input == 0">*</span>
|
|
||||||
<!-- <span :class="{'title-text-text':false}">{{item.db_field_en_name}}</span><br>-->
|
|
||||||
<span class="title-text-text">{{item.db_field_txt}}</span>
|
|
||||||
</div>
|
|
||||||
<a-form-model-item class="itemModel" :prop="item.db_field_name">
|
|
||||||
<a-range-picker class="box-input" v-model="formInline[item.db_field_name]"
|
|
||||||
:disabled="disabled"
|
|
||||||
@change="onChange"></a-range-picker>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
|
|
||||||
<a-col :span="12" v-else-if="item.field_show_type === 'NUMBER'">
|
<a-col :span="12" v-else-if="item.field_show_type === 'NUMBER'">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
@@ -152,7 +151,37 @@
|
|||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<a-col :span="12" v-else-if="item.field_show_type === 'treeSelect'">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span class="Required" v-if="item.field_must_input == 0">*</span>
|
||||||
|
<!-- <span :class="{'title-text-text':false}">{{item.db_field_en_name}}</span><br>-->
|
||||||
|
<span class="title-text-text">{{item.db_field_txt}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" :prop="item.db_field_name">
|
||||||
|
<a-tree-select
|
||||||
|
v-model="formInline[item.db_field_name]"
|
||||||
|
style="width: 100%"
|
||||||
|
:maxTagCount="1"
|
||||||
|
:tree-data="treeData"
|
||||||
|
tree-checkable
|
||||||
|
placeholder="Please select"
|
||||||
|
/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="24" v-else-if="item.field_show_type === 'file'">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span class="Required" v-if="item.field_must_input == 0">*</span>
|
||||||
|
<!-- <span :class="{'title-text-text':false}">{{item.db_field_en_name}}</span><br>-->
|
||||||
|
<span class="title-text-text">{{item.db_field_txt}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" :prop="item.db_field_name">
|
||||||
|
<PersonnelSelection :query="item" :disabled="disabled" v-model="formInline[item.db_field_name]"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
<a-col :span="12" v-else-if="item.field_show_type === 'file'">
|
<a-col :span="12" v-else-if="item.field_show_type === 'file'">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
@@ -194,6 +223,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import uploadFile from '@/components/uploadFile/file'
|
import uploadFile from '@/components/uploadFile/file'
|
||||||
import Standardselection from '@/components/Standardselection/index'
|
import Standardselection from '@/components/Standardselection/index'
|
||||||
|
import PersonnelSelection from '@/components/PersonnelSelection/index'
|
||||||
import { getAction, postAction } from '@/api/manage'
|
import { getAction, postAction } from '@/api/manage'
|
||||||
import eventBUs from '../../common/event'
|
import eventBUs from '../../common/event'
|
||||||
import moment from 'moment'
|
import moment from 'moment'
|
||||||
@@ -202,7 +232,8 @@
|
|||||||
name: 'index',
|
name: 'index',
|
||||||
components: {
|
components: {
|
||||||
uploadFile,
|
uploadFile,
|
||||||
Standardselection
|
Standardselection,
|
||||||
|
PersonnelSelection
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
url: {
|
url: {
|
||||||
@@ -249,7 +280,51 @@
|
|||||||
text: '关联信息',
|
text: '关联信息',
|
||||||
content: []
|
content: []
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
treeData:[
|
||||||
|
{
|
||||||
|
title: 'Node1',
|
||||||
|
value: '0-0',
|
||||||
|
key: '0-0',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
title: 'Child Node1',
|
||||||
|
value: '0-0-0',
|
||||||
|
key: '0-0-0',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
title: 'Child Node1',
|
||||||
|
value: '0-0-0-0',
|
||||||
|
key: '0-0-0-0',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Node2',
|
||||||
|
value: '0-1',
|
||||||
|
key: '0-1',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
title: 'Child Node3',
|
||||||
|
value: '0-1-0',
|
||||||
|
key: '0-1-0',
|
||||||
|
disabled: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Child Node4',
|
||||||
|
value: '0-1-1',
|
||||||
|
key: '0-1-1',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Child Node5',
|
||||||
|
value: '0-1-2',
|
||||||
|
key: '0-1-2',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@@ -288,10 +363,12 @@
|
|||||||
dateChange(item) {
|
dateChange(item) {
|
||||||
this.formInline[item.db_field_name] = moment(this.formInline[item.db_field_name]).format('YYYY-MM-DD')
|
this.formInline[item.db_field_name] = moment(this.formInline[item.db_field_name]).format('YYYY-MM-DD')
|
||||||
},
|
},
|
||||||
onChange(date, dateString) {
|
onChange(item) {
|
||||||
console.log(typeof date)
|
let dateOne = moment(this.formInline[item][0]).format('YYYY-MM-DD')
|
||||||
// moment(date).format('YYYY-MM-DD')
|
let dateTwo = moment(this.formInline[item][1]).format('YYYY-MM-DD')
|
||||||
|
this.formInline[item] = [dateOne, dateTwo]
|
||||||
},
|
},
|
||||||
|
|
||||||
clickButtonToUpload(current) {
|
clickButtonToUpload(current) {
|
||||||
this.$refs.uploadFile.perentHandleFunc()
|
this.$refs.uploadFile.perentHandleFunc()
|
||||||
this.$refs.uploadFile.visible = true
|
this.$refs.uploadFile.visible = true
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
<template v-if="index < 2">
|
<template v-if="index < 2">
|
||||||
<div class="box-title-text" v-if="item.field_show_type == 'text'">
|
<div class="box-title-text" v-if="item.field_show_type == 'text'">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<!-- <span>{{item.db_field_en_name}}</span><br>-->
|
|
||||||
<span>{{item.db_field_txt}}</span>
|
<span>{{item.db_field_txt}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-input class="box-input" :placeholder="item.placeholder"
|
<a-input class="box-input" :placeholder="item.placeholder"
|
||||||
@@ -13,23 +12,29 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="box-title-text" v-else-if="item.field_show_type == 'list_multi'">
|
<div class="box-title-text" v-else-if="item.field_show_type == 'list_multi'">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<!-- <span>{{item.db_field_en_name}}</span><br>-->
|
|
||||||
<span>{{item.db_field_txt}}</span>
|
<span>{{item.db_field_txt}}</span>
|
||||||
</div>
|
</div>
|
||||||
<j-multi-select-tag class="box-input" v-model="queryParam[item.db_field_name]"
|
<j-multi-select-tag class="box-input" v-model="queryParam[item.db_field_name]"
|
||||||
:placeholder="$t('selectStatus')" :type="'select'"
|
:placeholder="$t('selectStatus')" :type="'select'"
|
||||||
:triggerChange="false" :dictCode="item.dict_field"/>
|
:triggerChange="false" :dictCode="item.dict_field"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="box-title-text" v-else-if="item.field_show_type == 'date'">
|
<div class="box-title-text" v-else-if="item.field_show_type == 'dateAll'">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<!-- <span>{{item.db_field_en_name}}</span><br>-->
|
|
||||||
<span>{{item.db_field_txt}}</span>
|
<span>{{item.db_field_txt}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-date-picker class="box-input" v-model="queryParam[item.db_field_name]"/>
|
<a-range-picker class="box-input" v-model="queryParam[item.db_field_name]"
|
||||||
|
@change="onChange(item.db_field_name)"></a-range-picker>
|
||||||
|
</div>
|
||||||
|
<div class="box-title-text" v-else-if="item.field_show_type == 'date'">
|
||||||
|
<div class="title-text">
|
||||||
|
<span>{{item.db_field_txt}}</span>
|
||||||
|
</div>
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
@change="dateChange(item.db_field_name)"
|
||||||
|
v-model="queryParam[item.db_field_name]"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="box-title-text" v-else-if="item.field_show_type == 'list'">
|
<div class="box-title-text" v-else-if="item.field_show_type == 'list'">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<!-- <span>{{item.db_field_en_name}}</span><br>-->
|
|
||||||
<span>{{item.db_field_txt}}</span>
|
<span>{{item.db_field_txt}}</span>
|
||||||
</div>
|
</div>
|
||||||
<j-dict-select-tag class="box-input" v-model="queryParam[item.db_field_name]"
|
<j-dict-select-tag class="box-input" v-model="queryParam[item.db_field_name]"
|
||||||
@@ -40,7 +45,6 @@
|
|||||||
<template v-if="toggleSearchStatus && index >= 2">
|
<template v-if="toggleSearchStatus && index >= 2">
|
||||||
<div class="box-title-text" v-if="item.field_show_type == 'text'">
|
<div class="box-title-text" v-if="item.field_show_type == 'text'">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<!-- <span>{{item.db_field_en_name}}</span><br>-->
|
|
||||||
<span>{{item.db_field_txt}}</span>
|
<span>{{item.db_field_txt}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-input class="box-input" :placeholder="item.placeholder"
|
<a-input class="box-input" :placeholder="item.placeholder"
|
||||||
@@ -48,23 +52,27 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="box-title-text" v-else-if="item.field_show_type == 'list_multi'">
|
<div class="box-title-text" v-else-if="item.field_show_type == 'list_multi'">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<!-- <span>{{item.db_field_en_name}}</span><br>-->
|
|
||||||
<span>{{item.db_field_txt}}</span>
|
<span>{{item.db_field_txt}}</span>
|
||||||
</div>
|
</div>
|
||||||
<j-multi-select-tag class="box-input" v-model="queryParam[item.db_field_name]"
|
<j-multi-select-tag class="box-input" v-model="queryParam[item.db_field_name]"
|
||||||
:placeholder="$t('selectStatus')" :type="'select'"
|
:placeholder="$t('selectStatus')" :type="'select'"
|
||||||
:triggerChange="false" :dictCode="item.dict_field"/>
|
:triggerChange="false" :dictCode="item.dict_field"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="box-title-text" v-else-if="item.field_show_type == 'date'">
|
<div class="box-title-text" v-else-if="item.field_show_type == 'dateAll'">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<!-- <span>{{item.db_field_en_name}}</span><br>-->
|
|
||||||
<span>{{item.db_field_txt}}</span>
|
<span>{{item.db_field_txt}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-date-picker class="box-input" v-model="queryParam[item.db_field_name]"/>
|
<a-range-picker class="box-input" v-model="queryParam[item.db_field_name]"
|
||||||
|
@change="onChange(item.db_field_name)"></a-range-picker>
|
||||||
|
</div>
|
||||||
|
<div class="box-title-text" v-else-if="item.field_show_type == 'date'">
|
||||||
|
<div class="title-text">
|
||||||
|
<span>{{item.db_field_txt}}</span>
|
||||||
|
</div>
|
||||||
|
<a-date-picker @change="dateChange(item.db_field_name)" class="box-input" v-model="queryParam[item.db_field_name]"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="box-title-text" v-else-if="item.field_show_type == 'list'">
|
<div class="box-title-text" v-else-if="item.field_show_type == 'list'">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<!-- <span>{{item.db_field_en_name}}</span><br>-->
|
|
||||||
<span>{{item.db_field_txt}}</span>
|
<span>{{item.db_field_txt}}</span>
|
||||||
</div>
|
</div>
|
||||||
<j-dict-select-tag class="box-input" v-model="queryParam[item.db_field_name]"
|
<j-dict-select-tag class="box-input" v-model="queryParam[item.db_field_name]"
|
||||||
@@ -90,6 +98,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { getAction } from '@/api/manage'
|
import { getAction } from '@/api/manage'
|
||||||
import eventBUs from '../../common/event.js'
|
import eventBUs from '../../common/event.js'
|
||||||
|
import moment from 'moment'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'index',
|
name: 'index',
|
||||||
@@ -133,7 +142,15 @@
|
|||||||
},
|
},
|
||||||
handleToggleSearch() {
|
handleToggleSearch() {
|
||||||
this.toggleSearchStatus = !this.toggleSearchStatus
|
this.toggleSearchStatus = !this.toggleSearchStatus
|
||||||
}
|
},
|
||||||
|
dateChange(item) {
|
||||||
|
this.queryParam[item] = moment(this.queryParam[item]).format('YYYY-MM-DD')
|
||||||
|
},
|
||||||
|
onChange(item){
|
||||||
|
let dateOne = moment(this.queryParam[item][0]).format('YYYY-MM-DD')
|
||||||
|
let dateTwo = moment(this.queryParam[item][1]).format('YYYY-MM-DD')
|
||||||
|
this.queryParam[item] = [dateOne, dateTwo]
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -80,8 +80,13 @@
|
|||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
eventBUs.$on('searchQuery', search => {
|
eventBUs.$on('searchQuery', search => {
|
||||||
|
Object.keys(search).forEach(res=>{
|
||||||
|
if (search[res] instanceof Array){
|
||||||
|
search[res] = search[res].join(',')
|
||||||
|
}
|
||||||
|
})
|
||||||
this.searchParmes = search
|
this.searchParmes = search
|
||||||
this.getTableList(search)
|
this.getTableList()
|
||||||
})
|
})
|
||||||
eventBUs.$on('searchReset', target => {
|
eventBUs.$on('searchReset', target => {
|
||||||
this.searchParmes = {}
|
this.searchParmes = {}
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ import Vue from 'vue'
|
|||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import store from '@/store'
|
import store from '@/store'
|
||||||
import { VueAxios } from './axios'
|
import { VueAxios } from './axios'
|
||||||
import {Modal, notification} from 'ant-design-vue'
|
import { Modal, notification } from 'ant-design-vue'
|
||||||
import { ACCESS_TOKEN, TENANT_ID } from "@/store/mutation-types"
|
import { ACCESS_TOKEN, TENANT_ID } from '@/store/mutation-types'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 【指定 axios的 baseURL】
|
* 【指定 axios的 baseURL】
|
||||||
@@ -11,7 +11,7 @@ import { ACCESS_TOKEN, TENANT_ID } from "@/store/mutation-types"
|
|||||||
* 则映射后端域名,通过 vue.config.js
|
* 则映射后端域名,通过 vue.config.js
|
||||||
* @type {*|string}
|
* @type {*|string}
|
||||||
*/
|
*/
|
||||||
let apiBaseUrl = window._CONFIG['domianURL'] || "/jero-boot";
|
let apiBaseUrl = window._CONFIG['domianURL'] || '/jero-boot'
|
||||||
//console.log("apiBaseUrl= ",apiBaseUrl)
|
//console.log("apiBaseUrl= ",apiBaseUrl)
|
||||||
// 创建 axios 实例
|
// 创建 axios 实例
|
||||||
const service = axios.create({
|
const service = axios.create({
|
||||||
@@ -24,23 +24,23 @@ const err = (error) => {
|
|||||||
if (error.response) {
|
if (error.response) {
|
||||||
let data = error.response.data
|
let data = error.response.data
|
||||||
const token = Vue.ls.get(ACCESS_TOKEN)
|
const token = Vue.ls.get(ACCESS_TOKEN)
|
||||||
console.log("------异常响应------",token)
|
console.log('------异常响应------', token)
|
||||||
console.log("------异常响应------",error.response.status)
|
console.log('------异常响应------', error.response.status)
|
||||||
switch (error.response.status) {
|
switch (error.response.status) {
|
||||||
case 403:
|
case 403:
|
||||||
notification.error({ message: '系统提示', description: '拒绝访问',duration: 4})
|
notification.error({ message: '系统提示', description: '拒绝访问', duration: 4 })
|
||||||
break
|
break
|
||||||
case 500:
|
case 500:
|
||||||
console.log("------error.response------",error.response)
|
console.log('------error.response------', error.response)
|
||||||
// update-begin- --- author:liusq ------ date:20200910 ---- for:处理Blob情况----
|
// update-begin- --- author:liusq ------ date:20200910 ---- for:处理Blob情况----
|
||||||
let type=error.response.request.responseType;
|
let type = error.response.request.responseType
|
||||||
if(type === 'blob'){
|
if (type === 'blob') {
|
||||||
blobToJson(data);
|
blobToJson(data)
|
||||||
break;
|
break
|
||||||
}
|
}
|
||||||
// update-end- --- author:liusq ------ date:20200910 ---- for:处理Blob情况----
|
// update-end- --- author:liusq ------ date:20200910 ---- for:处理Blob情况----
|
||||||
//notification.error({ message: '系统提示', description:'Token失效,请重新登录!',duration: 4})
|
//notification.error({ message: '系统提示', description:'Token失效,请重新登录!',duration: 4})
|
||||||
if(token && data.message.includes("Token失效")){
|
if (token && data.message.includes('Token失效')) {
|
||||||
// update-begin- --- author:scott ------ date:20190225 ---- for:Token失效采用弹框模式,不直接跳转----
|
// update-begin- --- author:scott ------ date:20190225 ---- for:Token失效采用弹框模式,不直接跳转----
|
||||||
Modal.error({
|
Modal.error({
|
||||||
title: '登录已过期',
|
title: '登录已过期',
|
||||||
@@ -52,11 +52,11 @@ const err = (error) => {
|
|||||||
Vue.ls.remove(ACCESS_TOKEN)
|
Vue.ls.remove(ACCESS_TOKEN)
|
||||||
try {
|
try {
|
||||||
let path = window.document.location.pathname
|
let path = window.document.location.pathname
|
||||||
console.log("location pathname -> "+path)
|
console.log('location pathname -> ' + path)
|
||||||
if(path!="/" && path.indexOf('/user/login')==-1){
|
if (path != '/' && path.indexOf('/user/login') == -1) {
|
||||||
window.location.reload()
|
window.location.reload()
|
||||||
}
|
}
|
||||||
}catch (e) {
|
} catch (e) {
|
||||||
window.location.reload()
|
window.location.reload()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -66,13 +66,13 @@ const err = (error) => {
|
|||||||
}
|
}
|
||||||
break
|
break
|
||||||
case 404:
|
case 404:
|
||||||
notification.error({ message: '系统提示', description:'很抱歉,资源未找到!',duration: 4})
|
notification.error({ message: '系统提示', description: '很抱歉,资源未找到!', duration: 4 })
|
||||||
break
|
break
|
||||||
case 504:
|
case 504:
|
||||||
notification.error({ message: '系统提示', description: '网络超时'})
|
notification.error({ message: '系统提示', description: '网络超时' })
|
||||||
break
|
break
|
||||||
case 401:
|
case 401:
|
||||||
notification.error({ message: '系统提示', description:'未授权,请重新登录',duration: 4})
|
notification.error({ message: '系统提示', description: '未授权,请重新登录', duration: 4 })
|
||||||
if (token) {
|
if (token) {
|
||||||
store.dispatch('Logout').then(() => {
|
store.dispatch('Logout').then(() => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
@@ -91,59 +91,74 @@ const err = (error) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Promise.reject(error)
|
return Promise.reject(error)
|
||||||
};
|
}
|
||||||
|
|
||||||
// request interceptor
|
// request interceptor
|
||||||
service.interceptors.request.use(config => {
|
service.interceptors.request.use(config => {
|
||||||
const token = Vue.ls.get(ACCESS_TOKEN)
|
const token = Vue.ls.get(ACCESS_TOKEN)
|
||||||
if (token) {
|
if (token) {
|
||||||
config.headers[ 'X-Access-Token' ] = token // 让每个请求携带自定义 token 请根据实际情况自行修改
|
config.headers['X-Access-Token'] = token // 让每个请求携带自定义 token 请根据实际情况自行修改
|
||||||
}
|
}
|
||||||
//update-begin-author:taoyan date:2020707 for:多租户
|
//update-begin-author:taoyan date:2020707 for:多租户
|
||||||
let tenantid = Vue.ls.get(TENANT_ID)
|
let tenantid = Vue.ls.get(TENANT_ID)
|
||||||
if (!tenantid) {
|
if (!tenantid) {
|
||||||
tenantid = 0;
|
tenantid = 0
|
||||||
}
|
}
|
||||||
config.headers[ 'tenant_id' ] = tenantid
|
let long = localStorage.getItem('language')
|
||||||
|
let cut = ''
|
||||||
|
if (long && long == 'zh-cn') {
|
||||||
|
cut = 'cn'
|
||||||
|
} else if (long && long == 'en-us') {
|
||||||
|
cut = 'en'
|
||||||
|
}
|
||||||
|
config.headers['tenant_id'] = tenantid
|
||||||
//update-end-author:taoyan date:2020707 for:多租户
|
//update-end-author:taoyan date:2020707 for:多租户
|
||||||
if(config.method=='get'){
|
if (config.method == 'get') {
|
||||||
if(config.url.indexOf("sys/dict/getDictItems")<0){
|
if (config.url.indexOf('sys/dict/getDictItems') < 0) {
|
||||||
config.params = {
|
config.params = {
|
||||||
_t: Date.parse(new Date())/1000,
|
_t: Date.parse(new Date()) / 1000,
|
||||||
|
cut: cut,
|
||||||
...config.params
|
...config.params
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if((config.method == 'post')) {
|
||||||
|
console.log(config)
|
||||||
|
config.data = {
|
||||||
|
cut: cut,
|
||||||
|
...config.data
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return config
|
return config
|
||||||
},(error) => {
|
}, (error) => {
|
||||||
return Promise.reject(error)
|
return Promise.reject(error)
|
||||||
})
|
})
|
||||||
|
|
||||||
// response interceptor
|
// response interceptor
|
||||||
service.interceptors.response.use((response) => {
|
service.interceptors.response.use((response) => {
|
||||||
return response.data
|
return response.data
|
||||||
}, err)
|
}, err)
|
||||||
|
|
||||||
const installer = {
|
const installer = {
|
||||||
vm: {},
|
vm: {},
|
||||||
install (Vue, router = {}) {
|
install(Vue, router = {}) {
|
||||||
Vue.use(VueAxios, router, service)
|
Vue.use(VueAxios, router, service)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Blob解析
|
* Blob解析
|
||||||
* @param data
|
* @param data
|
||||||
*/
|
*/
|
||||||
function blobToJson(data) {
|
function blobToJson(data) {
|
||||||
let fileReader = new FileReader();
|
let fileReader = new FileReader()
|
||||||
let token = Vue.ls.get(ACCESS_TOKEN);
|
let token = Vue.ls.get(ACCESS_TOKEN)
|
||||||
fileReader.onload = function() {
|
fileReader.onload = function() {
|
||||||
try {
|
try {
|
||||||
let jsonData = JSON.parse(this.result); // 说明是普通对象数据,后台转换失败
|
let jsonData = JSON.parse(this.result) // 说明是普通对象数据,后台转换失败
|
||||||
console.log("jsonData",jsonData)
|
console.log('jsonData', jsonData)
|
||||||
if (jsonData.status === 500) {
|
if (jsonData.status === 500) {
|
||||||
console.log("token----------》",token)
|
console.log('token----------》', token)
|
||||||
if(token && jsonData.message.includes("Token失效")){
|
if (token && jsonData.message.includes('Token失效')) {
|
||||||
Modal.error({
|
Modal.error({
|
||||||
title: '登录已过期',
|
title: '登录已过期',
|
||||||
content: '很抱歉,登录已过期,请重新登录',
|
content: '很抱歉,登录已过期,请重新登录',
|
||||||
@@ -160,9 +175,9 @@ function blobToJson(data) {
|
|||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
// 解析成对象失败,说明是正常的文件流
|
// 解析成对象失败,说明是正常的文件流
|
||||||
console.log("blob解析fileReader返回err",err)
|
console.log('blob解析fileReader返回err', err)
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
fileReader.readAsText(data)
|
fileReader.readAsText(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user