eslint; 收入合同
This commit is contained in:
+3
-3
@@ -7,12 +7,12 @@
|
||||
|
||||
<script>
|
||||
// @ is an alias to /src
|
||||
import HelloWorld from "@/components/HelloWorld.vue";
|
||||
import HelloWorld from '@/components/HelloWorld.vue'
|
||||
|
||||
export default {
|
||||
name: "Home",
|
||||
name: 'Home',
|
||||
components: {
|
||||
HelloWorld,
|
||||
},
|
||||
};
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -25,7 +25,8 @@
|
||||
<!-- 操作按钮区域-->
|
||||
<div class="table-operator">
|
||||
<a-button type="primary" icon="plus" @click="handleAdd">新增</a-button>
|
||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
|
||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"
|
||||
@change="handleImportExcel">
|
||||
<a-button type="primary" icon="import">导入</a-button>
|
||||
</a-upload>
|
||||
<a-button type="primary" icon="export" @click="handleExportXls('企业管理')">导出</a-button>
|
||||
@@ -37,20 +38,20 @@
|
||||
<!-- table表格区域-->
|
||||
<div>
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
bordered
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:scroll="{x: 1500}"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||
@change="handleTableChange"
|
||||
class="j-table-force-nowrap">
|
||||
ref="table"
|
||||
size="middle"
|
||||
bordered
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:scroll="{x: 1500}"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||
@change="handleTableChange"
|
||||
class="j-table-force-nowrap">
|
||||
|
||||
<template slot="text" slot-scope="text,record">
|
||||
<template slot="text" slot-scope="text">
|
||||
<j-ellipsis :value="text" :length="18"></j-ellipsis>
|
||||
</template>
|
||||
|
||||
@@ -77,9 +78,9 @@ export default {
|
||||
components: { JEllipsis, BusinessManagementModule, PageHeaderTitle },
|
||||
mixins: [JeroListMixin],
|
||||
computed: {
|
||||
importExcelUrl: function(){
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
|
||||
},
|
||||
importExcelUrl: function () {
|
||||
return `${ window._CONFIG['domianURL'] }/${ this.url.importExcelUrl }`
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
||||
@@ -35,7 +35,8 @@
|
||||
<!-- 操作按钮区域-->
|
||||
<div class="table-operator">
|
||||
<a-button type="primary" icon="plus" @click="handleAdd">新增</a-button>
|
||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
|
||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"
|
||||
@change="handleImportExcel">
|
||||
<a-button type="primary" icon="import">导入</a-button>
|
||||
</a-upload>
|
||||
<a-button type="primary" icon="export" @click="handleExportXls('联系人管理')">导出</a-button>
|
||||
@@ -47,20 +48,20 @@
|
||||
<!-- table表格区域-->
|
||||
<div>
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
bordered
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:scroll="{x: 1500}"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||
@change="handleTableChange"
|
||||
class="j-table-force-nowrap">
|
||||
ref="table"
|
||||
size="middle"
|
||||
bordered
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:scroll="{x: 1500}"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||
@change="handleTableChange"
|
||||
class="j-table-force-nowrap">
|
||||
|
||||
<template slot="text" slot-scope="text,record">
|
||||
<template slot="text" slot-scope="text">
|
||||
<j-ellipsis :value="text" :length="18"></j-ellipsis>
|
||||
</template>
|
||||
|
||||
@@ -86,9 +87,9 @@ export default {
|
||||
components: { ContactManagementModule, PageHeaderTitle },
|
||||
mixins: [JeroListMixin],
|
||||
computed: {
|
||||
importExcelUrl: function(){
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
|
||||
},
|
||||
importExcelUrl: function () {
|
||||
return `${ window._CONFIG['domianURL'] }/${ this.url.importExcelUrl }`
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<template>
|
||||
<j-modal
|
||||
:title="title"
|
||||
:width="width"
|
||||
:visible="visible"
|
||||
:confirmLoading="confirmLoading"
|
||||
switchFullscreen
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel"
|
||||
cancelText="关闭">
|
||||
:title="title"
|
||||
:width="width"
|
||||
:visible="visible"
|
||||
:confirmLoading="confirmLoading"
|
||||
switchFullscreen
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel"
|
||||
cancelText="关闭">
|
||||
<a-spin :spinning="confirmLoading">
|
||||
<a-form :form="form">
|
||||
<a-row>
|
||||
@@ -87,11 +87,11 @@
|
||||
<a-col>
|
||||
<a-form-item label="备注" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||
<a-textarea
|
||||
placeholder="请输入备注"
|
||||
v-decorator="['remarks']"
|
||||
:auto-size="{ minRows: 3, maxRows: 6 }"
|
||||
:maxLength='200'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
||||
placeholder="请输入备注"
|
||||
v-decorator="['remarks']"
|
||||
:auto-size="{ minRows: 3, maxRows: 6 }"
|
||||
:maxLength='200'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<template>
|
||||
<j-modal
|
||||
:title="title"
|
||||
:width="width"
|
||||
:visible="visible"
|
||||
:confirmLoading="confirmLoading"
|
||||
switchFullscreen
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel"
|
||||
cancelText="关闭">
|
||||
:title="title"
|
||||
:width="width"
|
||||
:visible="visible"
|
||||
:confirmLoading="confirmLoading"
|
||||
switchFullscreen
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel"
|
||||
cancelText="关闭">
|
||||
<a-form :form="form">
|
||||
<a-row>
|
||||
<a-col :xl="12" :sm="24">
|
||||
@@ -85,11 +85,11 @@
|
||||
<a-col>
|
||||
<a-form-item label="备注" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||
<a-textarea
|
||||
placeholder="请输入备注"
|
||||
:auto-size="{ minRows: 3, maxRows: 6 }"
|
||||
v-decorator="['remarks']"
|
||||
:maxLength='200'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
||||
placeholder="请输入备注"
|
||||
:auto-size="{ minRows: 3, maxRows: 6 }"
|
||||
v-decorator="['remarks']"
|
||||
:maxLength='200'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
@@ -244,7 +244,7 @@ export default {
|
||||
httpAction(httpurl, formData, method).then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message)
|
||||
that.$emit('ok')
|
||||
that.$emit('ok', res.result.id)
|
||||
that.close()
|
||||
} else {
|
||||
that.$message.warning(res.message)
|
||||
|
||||
@@ -79,15 +79,15 @@
|
||||
<!-- 项目名称 待审核状态为红色-->
|
||||
<template slot="projectName" slot-scope="text, record">
|
||||
<div class="primary-color" @click="toRevenueContractDetail(record.id)" v-if="record.status !== 1">{{ text }}</div>
|
||||
<div @click="toRevenueContractDetail(record.id)" v-else>{{ text }}</div>
|
||||
<div @click="toRevenueContractDetail(record.id, record.contractNum)" v-else>{{ text }}</div>
|
||||
</template>
|
||||
|
||||
<template slot="text" slot-scope="text,record">
|
||||
<template slot="text" slot-scope="text">
|
||||
<j-ellipsis :value="text" :length="20"></j-ellipsis>
|
||||
</template>
|
||||
|
||||
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
||||
<a @click="handleEdit(record)">编辑</a>
|
||||
<a @click="handleEdit(record.id, record.contractNum)">编辑</a>
|
||||
<a @click="handleDelete(record.id)">删除</a>
|
||||
</span>
|
||||
</a-table>
|
||||
@@ -195,17 +195,19 @@ export default {
|
||||
{
|
||||
id: 1,
|
||||
status: 1,
|
||||
contractNum: '1346',
|
||||
createTime: '2020-09-02 11:11:11'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
toRevenueContractDetail(id) {
|
||||
toRevenueContractDetail(id, contractNum) {
|
||||
this.$router.push({
|
||||
path: '/contractManagement/RevenueContractDetail',
|
||||
query: {
|
||||
revenueId: id
|
||||
revenueId: id,
|
||||
contractNum: contractNum
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -214,6 +216,15 @@ export default {
|
||||
path: '/contractManagement/AddRevenueContract'
|
||||
})
|
||||
},
|
||||
handleEdit(id, contractNum) {
|
||||
this.$router.push({
|
||||
path: '/contractManagement/AddRevenueContract',
|
||||
query: {
|
||||
revenueId: id,
|
||||
contractNum: contractNum
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 动态设置待审核状态的表格样式
|
||||
* @param record
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
<template>
|
||||
<j-modal
|
||||
:title="title"
|
||||
:width="width"
|
||||
:visible="visible"
|
||||
:confirmLoading="confirmLoading"
|
||||
switchFullscreen
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel"
|
||||
cancelText="关闭">
|
||||
<div class="project-type">
|
||||
<div
|
||||
class="project-type-item"
|
||||
v-for="(item, index) in projectType"
|
||||
:key="index"
|
||||
@click="chooseProjectType(index, item.type)">
|
||||
<img :src="choosedIndex === index ? item.selectedImg : item.img">
|
||||
<div class="project-type-item-title">{{ item.title }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import GeneralProjectImg from '@/assets/imgs/generial_project.png'
|
||||
import GeneralProjectSelectImg from '@/assets/imgs/working_group_project_selected.png'
|
||||
import WorkingGroupProjectImg from '@/assets/imgs/working_group_project_selected.png'
|
||||
import WorkingGroupProjectSelectedImg from '@/assets/imgs/working_group_project_selected.png'
|
||||
import MeetingProjectImg from '@/assets/imgs/meeting_project.png'
|
||||
import MeetingProjectSelectedImg from '@/assets/imgs/working_group_project_selected.png'
|
||||
import MemberProjectImg from '@/assets/imgs/member_project.png'
|
||||
import MemberProjectSelectedImg from '@/assets/imgs/working_group_project_selected.png'
|
||||
|
||||
export default {
|
||||
name: 'ProjectTypeSelection',
|
||||
data() {
|
||||
return {
|
||||
title: '关联项目',
|
||||
width: 800,
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
choosedType: null,
|
||||
choosedIndex: null,
|
||||
projectType: [
|
||||
{
|
||||
img: GeneralProjectImg,
|
||||
selectedImg: GeneralProjectSelectImg,
|
||||
title: '普通项目',
|
||||
type: 1
|
||||
}, {
|
||||
img: WorkingGroupProjectImg,
|
||||
selectedImg: WorkingGroupProjectSelectedImg,
|
||||
title: '工作组项目',
|
||||
type: 2
|
||||
}, {
|
||||
img: MeetingProjectImg,
|
||||
selectedImg: MeetingProjectSelectedImg,
|
||||
title: '会议项目',
|
||||
type: 3
|
||||
}, {
|
||||
img: MemberProjectImg,
|
||||
selectedImg: MemberProjectSelectedImg,
|
||||
title: '会员项目',
|
||||
type: 4
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
open() {
|
||||
this.visible = true
|
||||
},
|
||||
close() {
|
||||
this.visible = false
|
||||
},
|
||||
chooseProjectType(index, type) {
|
||||
this.choosedIndex = index
|
||||
this.choosedType = type
|
||||
},
|
||||
handleOk() {
|
||||
// 判断选择的项目类型,1--普通项目,2--工作组项目,3--会议项目,4--会员项目
|
||||
if (this.choosedType && this.choosedType < 5) {
|
||||
this.$emit('ok', this.choosedType)
|
||||
this.close()
|
||||
return
|
||||
}
|
||||
this.$message.warn('请选择一个项目类型')
|
||||
},
|
||||
handleCancel() {
|
||||
this.close()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.project-type {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
|
||||
&-item {
|
||||
cursor: pointer;
|
||||
|
||||
&-title {
|
||||
margin-top: 10px;
|
||||
font-size: 14px;
|
||||
font-family: NotoSansHans, NotoSansHans-DemiLight;
|
||||
font-weight: 700;
|
||||
text-align: center;
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//.project-type-item:hover {
|
||||
// .project-type-item-title {
|
||||
// color: #069F99;
|
||||
// }
|
||||
//}
|
||||
</style>
|
||||
@@ -1,16 +1,231 @@
|
||||
<template>
|
||||
<div>
|
||||
<page-header-title :is-level-one="false" :img-for-icon="IconImg" :level-two-title="contractNum"></page-header-title>
|
||||
<a-card :bordered="false">
|
||||
<!-- 主体信息-->
|
||||
<div>
|
||||
<div class="part-title">
|
||||
<div class="part-title-text">主体信息</div>
|
||||
</div>
|
||||
<a-row class="detail">
|
||||
<template v-for="(item, index) in mainInfoList" :key="index">
|
||||
<a-col :xxl="6" :xl="8" :sm="12" class="detail-item" v-if="detailData[item.fieldName] && detailData[item.fieldName] !== ''">
|
||||
<a-row>
|
||||
<a-col :sm="10" :xs="24">{{ item.title }}:</a-col>
|
||||
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
</template>
|
||||
</a-row>
|
||||
</div>
|
||||
<a-divider></a-divider>
|
||||
|
||||
<!-- 日期节点-->
|
||||
<div>
|
||||
<div class="part-title">
|
||||
<div class="part-title-text">日期节点</div>
|
||||
</div>
|
||||
<a-row class="detail">
|
||||
<template v-for="item in mainInfoList">
|
||||
<a-col :xxl="6" :xl="8" :sm="12" class="detail-item" v-if="detailData[item.fieldName] && detailData[item.fieldName] !== ''">
|
||||
<a-row>
|
||||
<a-col :sm="10" :xs="24">{{ item.title }}:</a-col>
|
||||
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
</template>
|
||||
</a-row>
|
||||
</div>
|
||||
<a-divider></a-divider>
|
||||
|
||||
<!-- 账款信息-->
|
||||
<div>
|
||||
<div class="part-title">
|
||||
<div class="part-title-text">账款信息</div>
|
||||
</div>
|
||||
<a-row class="detail">
|
||||
<template v-for="item in mainInfoList">
|
||||
<a-col :xxl="6" :xl="8" :sm="12" class="detail-item" v-if="detailData[item.fieldName] && detailData[item.fieldName] !== ''">
|
||||
<a-row>
|
||||
<a-col :sm="10" :xs="24">{{ item.title }}:</a-col>
|
||||
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
</template>
|
||||
</a-row>
|
||||
</div>
|
||||
<a-divider></a-divider>
|
||||
|
||||
<!-- 其他信息-->
|
||||
<div>
|
||||
<div class="part-title">
|
||||
<div class="part-title-text">其他信息</div>
|
||||
</div>
|
||||
<a-row class="detail">
|
||||
<template v-for="(item, index) in mainInfoList">
|
||||
<a-col :xxl="6" :xl="8" :sm="12" class="detail-item" v-if="detailData[item.fieldName] && detailData[item.fieldName] !== ''">
|
||||
<a-row>
|
||||
<a-col :sm="10" :xs="24">{{ item.title }}:</a-col>
|
||||
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
</template>
|
||||
</a-row>
|
||||
</div>
|
||||
<a-divider></a-divider>
|
||||
|
||||
<!-- 分期信息-->
|
||||
<div>
|
||||
<div class="part-title">
|
||||
<div class="part-title-text">分期信息</div>
|
||||
</div>
|
||||
<a-row class="detail">
|
||||
<template v-for="(item, index) in mainInfoList">
|
||||
<a-col :xxl="4" :xl="8" :sm="12" class="detail-item" v-if="detailData[item.fieldName] && detailData[item.fieldName] !== ''">
|
||||
<a-row>
|
||||
<a-col :sm="10" :xs="24">{{ item.title }}:</a-col>
|
||||
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
</template>
|
||||
</a-row>
|
||||
</div>
|
||||
<a-divider></a-divider>
|
||||
|
||||
<!-- 关联项目-->
|
||||
<div>
|
||||
<div class="part-title">
|
||||
<div class="part-title-text">关联项目</div>
|
||||
</div>
|
||||
</div>
|
||||
<a-divider></a-divider>
|
||||
|
||||
<!-- 存档信息-->
|
||||
<div>
|
||||
<div class="part-title">
|
||||
<div class="part-title-text">存档信息</div>
|
||||
</div>
|
||||
</div>
|
||||
<a-divider></a-divider>
|
||||
|
||||
<!-- 审核记录-->
|
||||
<div>
|
||||
<div class="part-title">
|
||||
<div class="part-title-text">审核记录</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import IconImg from '@/assets/imgs/icon/icon_revenue_contract.png'
|
||||
import PageHeaderTitle from '../../../../components/layouts/PageHeaderTitle'
|
||||
|
||||
export default {
|
||||
name: 'RevenueContractDetail',
|
||||
components: { PageHeaderTitle },
|
||||
data() {
|
||||
return {
|
||||
IconImg,
|
||||
contractNum: '',
|
||||
detailData: {},
|
||||
// 主体信息
|
||||
mainInfoList: [
|
||||
{
|
||||
fieldName: 'contractNum',
|
||||
title: '合同编号'
|
||||
}, {
|
||||
fieldName: 'contractName',
|
||||
title: '合同名称'
|
||||
}, {
|
||||
fieldName: 'signedCompanyTemporaryName',
|
||||
title: '签订单位'
|
||||
}, {
|
||||
fieldName: 'signedContactsTemporaryName',
|
||||
title: '签订联系人'
|
||||
}, {
|
||||
fieldName: 'opening_dictText',
|
||||
title: '是否开口'
|
||||
}, {
|
||||
fieldName: 'principalName',
|
||||
title: '负责人'
|
||||
}, {
|
||||
fieldName: 'departmentName',
|
||||
title: '部门名称'
|
||||
}, {
|
||||
fieldName: 'contractAmount',
|
||||
title: '签订合同总金额'
|
||||
}, {
|
||||
fieldName: 'rate',
|
||||
title: '税率'
|
||||
}, {
|
||||
fieldName: 'noTaxAmount',
|
||||
title: '未税金额'
|
||||
}
|
||||
],
|
||||
dateNodeList: [
|
||||
{
|
||||
fieldName: 'contractDate',
|
||||
title: '合同签订日期'
|
||||
}, {
|
||||
fieldName: 'terminationDate',
|
||||
title: '合同终止日期'
|
||||
}, {
|
||||
fieldName: 'contractTimePoints',
|
||||
title: '合同约定主要时点'
|
||||
}
|
||||
],
|
||||
accountInfoList: [
|
||||
{
|
||||
fieldName: 'accountsReceivableAmount',
|
||||
title: '应收金额'
|
||||
}, {
|
||||
fieldName: 'amountReceived',
|
||||
title: '已收金额'
|
||||
}, {
|
||||
fieldName: 'amountReceived',
|
||||
title: '未收金额'
|
||||
}, {
|
||||
fieldName: 'accountStatus',
|
||||
title: '赊账状态'
|
||||
}
|
||||
],
|
||||
otherInfoList: [
|
||||
{
|
||||
fieldName: 'contractPaymentTimes',
|
||||
title: '合同约定付款次数'
|
||||
}, {
|
||||
fieldName: 'package_dictText',
|
||||
title: '是否打包'
|
||||
}, {
|
||||
fieldName: 'packageYear',
|
||||
title: '打包年份'
|
||||
}
|
||||
],
|
||||
// 接口获取后处理加入title,fieldName字段
|
||||
installmentList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
console.log(this.$route.query)
|
||||
console.log(this.$route.query.revenueId)
|
||||
this.contractNum = this.$route.query.contractNum
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
.detail {
|
||||
padding: 0 20px;
|
||||
|
||||
&-item {
|
||||
padding-top: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-divider-horizontal {
|
||||
margin: 20px 0;
|
||||
}
|
||||
</style>
|
||||
@@ -3,81 +3,569 @@
|
||||
<page-header-title :is-level-one="false" :img-for-icon="IconImg" level-two-title="新建收入合同"></page-header-title>
|
||||
<a-card :bordered="false">
|
||||
<a-form :form="form">
|
||||
<div class="part-title">
|
||||
<div class="part-title-text">主体信息</div>
|
||||
</div>
|
||||
<!-- 主体信息-->
|
||||
<div>
|
||||
<div class="part-title">
|
||||
<div class="part-title-text">主体信息</div>
|
||||
</div>
|
||||
<a-row>
|
||||
<a-col :xl="6" :sm="12">
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="合同编号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入合同编号"
|
||||
v-decorator="['contractNum',validatorRules.contractNum]"
|
||||
:maxLength='50'
|
||||
:disabled="isSaved"
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :sm="12">
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="合同名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入合同名称"
|
||||
v-decorator="['contractName',validatorRules.contractName]"
|
||||
:maxLength='50'
|
||||
:disabled="isSaved"
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :sm="12">
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="签订单位" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<company-select placeholder="请选择签订单位"
|
||||
v-decorator="['signedCompany',validatorRules.signedCompany]"></company-select>
|
||||
:disabled="isSaved"
|
||||
v-decorator="['signedCompany',validatorRules.signedCompany]"
|
||||
@change="handleSignedCompanyChange"></company-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :sm="12">
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="签订联系人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<select-contacts placeholder="请选择签订联系人"
|
||||
:disabled="isSaved"
|
||||
:selected-company="selectedCompany"
|
||||
v-decorator="['signedContactsId',validatorRules.signedContactsId]"></select-contacts>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row>
|
||||
<a-col :xl="6" :sm="12"></a-col>
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="是否开口" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-dict-select-tag v-decorator="['opening']"
|
||||
:triggerChange="true"
|
||||
:disabled="isSaved"
|
||||
placeholder="请选择是否开口"
|
||||
dictCode="revenue_contract_open"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="负责人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<select-principal placeholder="请选择负责人"
|
||||
:disabled="isSaved"
|
||||
v-decorator="['principalId',validatorRules.principalId]"></select-principal>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="部门名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入部门名称"
|
||||
v-decorator="['departmentName']"
|
||||
:disabled="true"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="签订合同总金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入签订合同总金额"
|
||||
:disabled="isSaved"
|
||||
v-decorator="['contractAmount',validatorRules.contractAmount]"
|
||||
:maxLength='50'
|
||||
@change="(e) => {e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()}"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="税率" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入税率"
|
||||
:disabled="isSaved"
|
||||
v-decorator="['rate',validatorRules.rate]"
|
||||
:maxLength='50'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="未税金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入未税金额"
|
||||
:disabled="isSaved"
|
||||
v-decorator="['noTaxAmount']"
|
||||
:maxLength='50'
|
||||
@change="(e) => {e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()}"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
<!-- /主体信息-->
|
||||
<a-divider></a-divider>
|
||||
<!-- 日期节点-->
|
||||
<div>
|
||||
<div class="part-title">
|
||||
<div class="part-title-text">日期节点</div>
|
||||
</div>
|
||||
<a-row :gutter="30">
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="合同签订日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date placeholder="请选择合同签订日期"
|
||||
style="width: 100%;"
|
||||
:disabled="isSaved"
|
||||
v-decorator="['contractDate']"
|
||||
:trigger-change="true"
|
||||
date-format="YYYY-MM-DD"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="合同终止日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date placeholder="请选择合同终止日期"
|
||||
style="width: 100%;"
|
||||
:disabled="isSaved"
|
||||
v-decorator="['terminationDate']"
|
||||
:trigger-change="true"
|
||||
date-format="YYYY-MM-DD"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="合同约定主要时点" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date placeholder="请选择合同约定主要时点"
|
||||
style="width: 100%;"
|
||||
:disabled="isSaved"
|
||||
v-decorator="['contractTimePoints']"
|
||||
:trigger-change="true"
|
||||
date-format="YYYY-MM-DD"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
<!-- /日期节点-->
|
||||
<a-divider></a-divider>
|
||||
<!-- 账款信息-->
|
||||
<div>
|
||||
<div class="part-title">
|
||||
<div class="part-title-text">账款信息</div>
|
||||
</div>
|
||||
<div>
|
||||
<a-row :gutter="30">
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="应收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入应收金额"
|
||||
v-decorator="['accountsReceivableAmount',validatorRules.accountsReceivableAmount]"
|
||||
:maxLength='50'
|
||||
:disabled="isSaved"
|
||||
@change="(e) => {e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()}"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="已收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入已收金额"
|
||||
v-decorator="['amountReceived',validatorRules.amountReceived]"
|
||||
:maxLength='50'
|
||||
:disabled="isSaved"
|
||||
@change="(e) => {e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()}"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="未收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入未收金额"
|
||||
:maxLength='50'
|
||||
v-decorator="['amountReceived',validatorRules.amountReceived]"
|
||||
:disabled="true"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="赊账状态" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-dict-select-tag v-decorator="['accountStatus']"
|
||||
:triggerChange="true"
|
||||
placeholder="请选择赊账状态"
|
||||
dictCode="revenue_contract_account_status"
|
||||
:disabled="true"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /账款信息-->
|
||||
<a-divider></a-divider>
|
||||
<!-- 其他-->
|
||||
<div>
|
||||
<div class="part-title">
|
||||
<div class="part-title-text">其他信息</div>
|
||||
</div>
|
||||
<div>
|
||||
<a-row :gutter="30">
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="合同约定付款次数" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入合同约定付款次数"
|
||||
v-decorator="['contractPaymentTimes']"
|
||||
:maxLength='50'
|
||||
:disabled="isSaved"
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="是否打包" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-dict-select-tag v-decorator="['package', validatorRules.package]"
|
||||
:triggerChange="true"
|
||||
placeholder="请选择是否打包"
|
||||
dictCode="yn"
|
||||
:disabled="isSaved"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="打包年份" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-year-date style="width:100%"
|
||||
:disabled="isSaved"
|
||||
placeholder="请选择打包年份"
|
||||
v-decorator="['packageYear',validatorRules.packageYear]"></j-year-date>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /其他-->
|
||||
<a-divider></a-divider>
|
||||
<!-- 分期信息-->
|
||||
<div>
|
||||
<div class="part-title">
|
||||
<div class="part-title-text">分期信息</div>
|
||||
</div>
|
||||
<installment-form ref="installmentForm" @ok="installmentFormOk" :disabled="isSaved"></installment-form>
|
||||
</div>
|
||||
<!-- /分期信息-->
|
||||
<a-form-item class="table-operator">
|
||||
<a-button type="primary" @click="handleSave">保存</a-button>
|
||||
<a-button @click="handleCancle">取消</a-button>
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
</a-card>
|
||||
<!-- 关联项目-->
|
||||
<a-card :bordered="false" v-if="isSaved" class="associated-project">
|
||||
<div class="part-title">
|
||||
<div class="part-title-text">关联项目</div>
|
||||
<a-button type="link" @click="chooseProject">选择项目</a-button>
|
||||
</div>
|
||||
</a-card>
|
||||
|
||||
<project-type-selection ref="projectTypeSelection" @ok="selectProjectTypeOk"></project-type-selection>
|
||||
<select-project-module ref="selectProjectModule"></select-project-module>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import IconImg from '@/assets/imgs/icon/icon_revenue_contract.png'
|
||||
import PageHeaderTitle from '../../../../components/layouts/PageHeaderTitle'
|
||||
import PageHeaderTitle from '@/components/layouts/PageHeaderTitle'
|
||||
import CompanySelect from '../../../../components/company/CompanySelect'
|
||||
import SelectContacts from '../../../../components/company/SelectContacts'
|
||||
import SelectPrincipal from '../../../../components/company/SelectPrincipal'
|
||||
import JDate from '../../../../components/tools/JDate'
|
||||
import JYearDate from '../../../../components/jero/JYearDate'
|
||||
import InstallmentForm from '../../../../components/form/InstallmentForm'
|
||||
import ProjectTypeSelection from './ProjectTypeSelection'
|
||||
import SelectProjectModule from './SelectProjectModule'
|
||||
import pick from 'lodash.pick'
|
||||
|
||||
// 普通项目表头
|
||||
const generalProjectColumns = [
|
||||
{
|
||||
title: '序号',
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
}, {
|
||||
title: '来款项目',
|
||||
align: 'center',
|
||||
width: 200,
|
||||
dataIndex: 'chargeProject',
|
||||
scopedSlots: { customRender: 'projectName' }
|
||||
}, {
|
||||
title: '来款用途',
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: 'chargeUse_dictText',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '来款单位',
|
||||
align: 'center',
|
||||
width: 200,
|
||||
dataIndex: 'chargeCompanyTemporaryName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '应收金额',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'receivableAmount'
|
||||
}, {
|
||||
title: '实收金额',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'paidAmount'
|
||||
}, {
|
||||
title: '负责人',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
dataIndex: 'principalName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '企业联系人',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
dataIndex: 'contactsTemporaryName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '打包',
|
||||
align: 'center',
|
||||
width: 80,
|
||||
dataIndex: 'pack',
|
||||
scopedSlots: { customRender: 'status-pack' }
|
||||
}, {
|
||||
title: '需要发票',
|
||||
align: 'center',
|
||||
width: 80,
|
||||
dataIndex: 'needInvoice',
|
||||
scopedSlots: { customRender: 'status-pack' }
|
||||
}, {
|
||||
title: '到账',
|
||||
align: 'center',
|
||||
width: 80,
|
||||
dataIndex: 'inAccount',
|
||||
scopedSlots: { customRender: 'status' }
|
||||
}, {
|
||||
title: '开票',
|
||||
align: 'center',
|
||||
width: 80,
|
||||
dataIndex: 'makeInvoice',
|
||||
scopedSlots: { customRender: 'status' }
|
||||
}, {
|
||||
title: '邮寄',
|
||||
align: 'center',
|
||||
width: 80,
|
||||
dataIndex: 'mail',
|
||||
scopedSlots: { customRender: 'status' }
|
||||
}, {
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
fixed: 'right',
|
||||
width: 160,
|
||||
scopedSlots: { customRender: 'action' }
|
||||
}
|
||||
]
|
||||
// 工作组项目表头
|
||||
const workingProjectColumns = [
|
||||
{
|
||||
title: '序号',
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
}, {
|
||||
title: '工作组项目',
|
||||
align: 'center',
|
||||
dataIndex: 'workingGroupProject',
|
||||
scopedSlots: { customRender: 'projectName' }
|
||||
}, {
|
||||
title: '负责人A',
|
||||
align: 'center',
|
||||
dataIndex: 'principalNameA'
|
||||
}, {
|
||||
title: '进度',
|
||||
align: 'center',
|
||||
dataIndex: 'obj',
|
||||
width: 250,
|
||||
scopedSlots: { customRender: 'rateOfProgress' }
|
||||
}, {
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
fixed: 'right',
|
||||
width: 180,
|
||||
scopedSlots: { customRender: 'action' }
|
||||
}
|
||||
]
|
||||
// 会议项目表头
|
||||
const meetingProjectColumns = []
|
||||
// 会员项目表头
|
||||
const memberProjectColums = []
|
||||
|
||||
export default {
|
||||
name: 'RevenueContractModule',
|
||||
components: { PageHeaderTitle, CompanySelect, SelectContacts },
|
||||
components: {
|
||||
PageHeaderTitle,
|
||||
CompanySelect,
|
||||
SelectContacts,
|
||||
SelectPrincipal,
|
||||
JDate,
|
||||
JYearDate,
|
||||
InstallmentForm,
|
||||
ProjectTypeSelection,
|
||||
SelectProjectModule
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
IconImg,
|
||||
form: this.$form.createForm(this),
|
||||
model: {},
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 8 }
|
||||
sm: { span: 10 }
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 16 }
|
||||
sm: { span: 14 }
|
||||
},
|
||||
validatorRules: {
|
||||
|
||||
}
|
||||
contractNum: {
|
||||
rules: [{ required: true, validator: this.checkCompanyName }],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
contractName: {
|
||||
rules: [{ required: true, validator: this.checkCompanyName }],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
signedCompany: {
|
||||
rules: [{ required: true, message: '请选择签订单位' }],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
signedContactsId: {
|
||||
rules: [{ required: true, message: '请选择签订联系人' }],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
principalId: {
|
||||
rules: [{ required: true, message: '请选择负责人' }],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
contractAmount: {
|
||||
rules: [{ required: true, message: '请输入签订合同总金额' }],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
rate: {
|
||||
rules: [{ required: true, message: '请输入税率' }],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
accountsReceivableAmount: {
|
||||
rules: [{ required: true, message: '请输入应收金额' }],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
amountReceived: {
|
||||
rules: [{ required: true, message: '请输入已收金额' }],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
package: {
|
||||
rules: [{ required: true, message: '请选择是否打包' }],
|
||||
validateTrigger: 'blur'
|
||||
}
|
||||
},
|
||||
url: {
|
||||
add: '',
|
||||
edit: '',
|
||||
generalProjectList: '/project/payCommonProject/list',
|
||||
workingGroupProjectList: '/project/payWorkingGroup/list',
|
||||
meetingProjectList: '',
|
||||
memberProjectList: ''
|
||||
},
|
||||
selectedCompany: null, // 选中的企业
|
||||
installmentList: [],
|
||||
isSaved: false // 是否保存上方数据
|
||||
}
|
||||
},
|
||||
created() {
|
||||
console.log(this.$route)
|
||||
mounted() {
|
||||
if (this.$route.query.hasOwnProperty('revenueId')) {
|
||||
this.edit(this.$route.query.revenueId)
|
||||
} else {
|
||||
this.add()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
add() {
|
||||
this.$refs.installmentForm.initInstallmentList({})
|
||||
},
|
||||
edit(id) {
|
||||
console.log(id)
|
||||
let record
|
||||
this.$refs.installmentForm.initInstallmentList(record.initInstallmentList)
|
||||
this.model = Object.assign({}, record)
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(this.model, 'contractNum', 'contractName', 'signedCompany', 'signedContactsId', 'opening', 'principalId', 'departmentName', 'contractAmount', 'rate', 'noTaxAmount', 'contractDate', 'terminationDate', 'contractTimePoints', 'accountsReceivableAmount', 'amountReceived', 'amountReceived', 'accountStatus', 'contractPaymentTimes', 'package', 'packageYear'))
|
||||
})
|
||||
},
|
||||
handleSave() {
|
||||
// 验证分期信息
|
||||
this.$refs.installmentForm.handleSave()
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
if (this.installmentList.length > 0) {
|
||||
console.log(values, '---外层form表单保存')
|
||||
}
|
||||
}
|
||||
})
|
||||
// 保存上方表单信息,(应该在表单验证完全正确时置为true)
|
||||
this.isSaved = true
|
||||
},
|
||||
handleCancle() {
|
||||
this.model = {}
|
||||
},
|
||||
installmentFormOk(value) {
|
||||
this.installmentList = value.installmentList
|
||||
},
|
||||
/**
|
||||
* 选中企业变化
|
||||
* @param value
|
||||
*/
|
||||
handleSignedCompanyChange(value) {
|
||||
this.selectedCompany = value
|
||||
this.model.signedContactsId = undefined
|
||||
},
|
||||
/**
|
||||
* 选择关联项目
|
||||
*/
|
||||
chooseProject() {
|
||||
this.$refs.projectTypeSelection.open()
|
||||
},
|
||||
selectProjectTypeOk(type) {
|
||||
let title = ''
|
||||
switch (type) {
|
||||
case 1:
|
||||
this.$refs.selectProjectModule.columns = generalProjectColumns
|
||||
this.$refs.selectProjectModule.url.list = this.url.generalProjectList
|
||||
title = '普通项目列表'
|
||||
break
|
||||
case 2:
|
||||
this.$refs.selectProjectModule.columns = workingProjectColumns
|
||||
this.$refs.selectProjectModule.url.list = this.url.workingGroupProjectList
|
||||
title = '工作组项目列表'
|
||||
break
|
||||
case 3:
|
||||
this.$refs.selectProjectModule.columns = meetingProjectColumns
|
||||
this.$refs.selectProjectModule.url.list = this.url.meetingProjectList
|
||||
title = '会议项目列表'
|
||||
break
|
||||
case 4:
|
||||
this.$refs.selectProjectModule.columns = memberProjectColums
|
||||
this.$refs.selectProjectModule.url.list = this.url.memberProjectList
|
||||
title = '会员项目列表'
|
||||
break
|
||||
}
|
||||
this.$refs.selectProjectModule.projectType = type
|
||||
this.$refs.selectProjectModule.title = title
|
||||
this.$refs.selectProjectModule.open()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
.associated-project {
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.ant-divider-horizontal {
|
||||
margin: 20px 0;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,151 @@
|
||||
<template>
|
||||
<j-modal :title="title"
|
||||
:width="width"
|
||||
:visible="visible"
|
||||
:confirmLoading="confirmLoading"
|
||||
switchFullscreen
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel"
|
||||
cancelText="关闭">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row>
|
||||
<!-- 普通项目管理查询-->
|
||||
<template v-if="projectType === 1">
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="科室" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入科室" v-model="queryParam.chargeCompanyTemporaryName"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="负责人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<select-principal placeholder="请选择负责人" v-model="queryParam.principalId"></select-principal>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="运行年份" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-year-date style="width:100%" placeholder="请选择运行年份" v-model="queryParam.year"></j-year-date>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</template>
|
||||
|
||||
<!-- 工作组项目查询-->
|
||||
<template v-if="projectType === 2">
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="工作组项目" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入工作组项目" v-model="queryParam.workingGroupProject"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="运行年份" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-year-date style="width:100%" placeholder="请选择运行年份" v-model="queryParam.year"></j-year-date>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</template>
|
||||
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<span class="table-page-search-submitButtons">
|
||||
<a-button type="primary" icon="search" @click="searchQuery">查询</a-button>
|
||||
<a-button icon="reload" @click="searchReset">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
|
||||
<!-- 操作按钮区域-->
|
||||
<div class="table-operator">
|
||||
<a-button type="primary" icon="plus" @click="handleAdd">新增</a-button>
|
||||
</div>
|
||||
<!-- 操作按钮区域-end-->
|
||||
|
||||
<!-- 表格区域-->
|
||||
<div>
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
bordered
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type: 'radio'}"
|
||||
@change="handleTableChange"
|
||||
class="j-table-force-nowrap">
|
||||
<template slot="htmlSlot" slot-scope="text">
|
||||
<div v-html="text"></div>
|
||||
</template>
|
||||
<template slot="imgSlot" slot-scope="text">
|
||||
<span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
|
||||
<img v-else :src="getImgView(text)" height="25px" alt=""
|
||||
style="max-width:80px;font-size: 12px;font-style: italic;"/>
|
||||
</template>
|
||||
<template slot="fileSlot" slot-scope="text,record">
|
||||
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
||||
<j-ellipsis @click.native="uploadFile(record.chargeNoticeFileId)" style="color:#219AFF;cursor: pointer"
|
||||
:value="text" :length="20"/>
|
||||
</template>
|
||||
<template slot="text" slot-scope="text">
|
||||
<j-ellipsis :value="text" :length="30"></j-ellipsis>
|
||||
</template>
|
||||
</a-table>
|
||||
</div>
|
||||
<!-- /表格区域-->
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { JeroListMixin } from '../../../../mixins/JeroListMixin'
|
||||
import SelectPrincipal from '../../../../components/company/SelectPrincipal'
|
||||
import JYearDate from '../../../../components/jero/JYearDate'
|
||||
|
||||
export default {
|
||||
name: 'SelectProjectModule',
|
||||
components: { SelectPrincipal, JYearDate },
|
||||
mixins: [JeroListMixin],
|
||||
data() {
|
||||
return {
|
||||
title: '操作',
|
||||
width: 1200,
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
columns: [],
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 5 }
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 10 }
|
||||
},
|
||||
projectType: null,
|
||||
url: {
|
||||
list: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
open() {
|
||||
this.visible = true
|
||||
console.log(this.columns)
|
||||
},
|
||||
close() {
|
||||
this.visible = false
|
||||
},
|
||||
handleOk() {
|
||||
|
||||
},
|
||||
handleCancel() {
|
||||
this.close()
|
||||
},
|
||||
handleAdd() {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
</style>
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
|
||||
export default {
|
||||
name: "Analysis",
|
||||
name: 'Analysis',
|
||||
components: {},
|
||||
data() {
|
||||
return {
|
||||
indexStyle: 1
|
||||
};
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
methods: {}
|
||||
};
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -192,9 +192,9 @@ export default {
|
||||
)
|
||||
},
|
||||
handleAdd() {
|
||||
this.$refs.modalForm.add();
|
||||
this.$refs.modalForm.title = "新增群组";
|
||||
this.$refs.modalForm.disableSubmit = false;
|
||||
this.$refs.modalForm.add()
|
||||
this.$refs.modalForm.title = '新增群组'
|
||||
this.$refs.modalForm.disableSubmit = false
|
||||
},
|
||||
/**
|
||||
* 新增成员
|
||||
@@ -202,31 +202,31 @@ export default {
|
||||
*/
|
||||
handleAddCommitteeMember(record) {
|
||||
record.committeeId = record.id
|
||||
this.$refs.memberModalForm.add(record);
|
||||
this.$refs.memberModalForm.title = "新增成员";
|
||||
this.$refs.memberModalForm.disableSubmit = false;
|
||||
this.$refs.memberModalForm.add(record)
|
||||
this.$refs.memberModalForm.title = '新增成员'
|
||||
this.$refs.memberModalForm.disableSubmit = false
|
||||
},
|
||||
handleDeleteMember(id) {
|
||||
console.log(id)
|
||||
if (!this.url.deleteMember) {
|
||||
this.$message.error("请设置url.deleteMember属性!")
|
||||
this.$message.error('请设置url.deleteMember属性!')
|
||||
return
|
||||
}
|
||||
var that = this;
|
||||
var that = this
|
||||
this.$confirm({
|
||||
title: "确认删除",
|
||||
content: "确定要删除此条数据吗?",
|
||||
title: '确认删除',
|
||||
content: '确定要删除此条数据吗?',
|
||||
onOk: function () {
|
||||
getAction(that.url.deleteMember, {id: id}).then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message);
|
||||
that.loadData();
|
||||
that.$message.success(res.message)
|
||||
that.loadData()
|
||||
} else {
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
import types from './type'
|
||||
|
||||
export default {
|
||||
name: "Exception",
|
||||
name: 'Exception',
|
||||
props: {
|
||||
type: {
|
||||
type: String,
|
||||
|
||||
@@ -301,23 +301,23 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {getUserInfo, getMeetInfoById,getAllWorkProjects} from "@api/inconmeMeetingApi";
|
||||
import {isRepeat} from "@/utils/util";
|
||||
import {httpAction} from "@api/manage";
|
||||
import JDictSelectTag from "@comp/dict/JDictSelectTag";
|
||||
import JYearDate from "@comp/jero/JYearDate";
|
||||
import JUpload from "@comp/jero/JUpload";
|
||||
import {getUserInfo, getMeetInfoById,getAllWorkProjects} from '@api/inconmeMeetingApi'
|
||||
import {isRepeat} from '@/utils/util'
|
||||
import {httpAction} from '@api/manage'
|
||||
import JDictSelectTag from '@comp/dict/JDictSelectTag'
|
||||
import JYearDate from '@comp/jero/JYearDate'
|
||||
import JUpload from '@comp/jero/JUpload'
|
||||
// import JDate from "@comp/tools/JDate";
|
||||
import JDate from "@comp/jero/JDate";
|
||||
import SelectPrincipal from "@comp/company/SelectPrincipal";
|
||||
import JAreaLinkage from "@comp/jero/JAreaLinkagePca";
|
||||
import AreaPca from "@comp/_util/AreaPca";
|
||||
import JDate from '@comp/jero/JDate'
|
||||
import SelectPrincipal from '@comp/company/SelectPrincipal'
|
||||
import JAreaLinkage from '@comp/jero/JAreaLinkagePca'
|
||||
import AreaPca from '@comp/_util/AreaPca'
|
||||
import moment from 'moment'
|
||||
import pick from "lodash.pick";
|
||||
import meetingValidate from "@views/incomePayments/meetManage/meetingValidate";
|
||||
import pick from 'lodash.pick'
|
||||
import meetingValidate from '@views/incomePayments/meetManage/meetingValidate'
|
||||
|
||||
export default {
|
||||
name: "AddOrDetailMeet",
|
||||
name: 'AddOrDetailMeet',
|
||||
components: {
|
||||
JDictSelectTag,
|
||||
JYearDate,
|
||||
@@ -353,7 +353,7 @@ export default {
|
||||
// 详细地址
|
||||
address: '',
|
||||
// 会议类型 新增时默认为其他会议
|
||||
meetingType: "4",
|
||||
meetingType: '4',
|
||||
validatorRules: meetingValidate,
|
||||
validateInviteCode: {
|
||||
invitationCode: {
|
||||
@@ -364,8 +364,8 @@ export default {
|
||||
}
|
||||
},
|
||||
url: {
|
||||
add: "/meeting/payMeeting/add",
|
||||
edit: "/meeting/payMeeting/edit",
|
||||
add: '/meeting/payMeeting/add',
|
||||
edit: '/meeting/payMeeting/edit',
|
||||
},
|
||||
// 召开时间
|
||||
newConvokeTime: '',
|
||||
@@ -376,7 +376,7 @@ export default {
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.pcaData = new AreaPca();
|
||||
this.pcaData = new AreaPca()
|
||||
// 编辑获取会议信息
|
||||
if (this.$route.query.id) {
|
||||
getMeetInfoById({id: this.$route.query.id}).then(res => {
|
||||
|
||||
@@ -109,19 +109,19 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {JeroListMixin} from "@/mixins/JeroListMixin";
|
||||
import {mixinDevice} from "@/utils/mixin";
|
||||
import JYearDate from "@comp/jero/JYearDate";
|
||||
import JDictSelectTag from "@comp/dict/JDictSelectTag";
|
||||
import ImportParticipantModal from "@views/incomePayments/meetManage/modules/ImportParticipantModal";
|
||||
import BatchInvocieModal from "@views/incomePayments/meetManage/modules/BatchInvocieModal";
|
||||
import BatchSetDockerModal from "@views/incomePayments/meetManage/modules/BatchSetDockerModal";
|
||||
import ProjectDetailModal from "@comp/ProjectDetailModal";
|
||||
import AuditModal from "@views/incomePayments/meetManage/modules/AuditModal";
|
||||
import {JeroListMixin} from '@/mixins/JeroListMixin'
|
||||
import {mixinDevice} from '@/utils/mixin'
|
||||
import JYearDate from '@comp/jero/JYearDate'
|
||||
import JDictSelectTag from '@comp/dict/JDictSelectTag'
|
||||
import ImportParticipantModal from '@views/incomePayments/meetManage/modules/ImportParticipantModal'
|
||||
import BatchInvocieModal from '@views/incomePayments/meetManage/modules/BatchInvocieModal'
|
||||
import BatchSetDockerModal from '@views/incomePayments/meetManage/modules/BatchSetDockerModal'
|
||||
import ProjectDetailModal from '@comp/ProjectDetailModal'
|
||||
import AuditModal from '@views/incomePayments/meetManage/modules/AuditModal'
|
||||
|
||||
|
||||
export default {
|
||||
name: "Attendance",
|
||||
name: 'Attendance',
|
||||
mixins: [JeroListMixin, mixinDevice],
|
||||
components: {
|
||||
JYearDate,
|
||||
@@ -141,84 +141,84 @@ export default {
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: "center",
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1;
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '参会单位',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: '',
|
||||
scopedSlots: {customRender: 'htmlSlot'}
|
||||
},
|
||||
{
|
||||
title: '参会人员',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: '',
|
||||
},
|
||||
{
|
||||
title: '应收金额',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: ''
|
||||
},
|
||||
{
|
||||
title: '实收金额',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: ''
|
||||
},
|
||||
{
|
||||
title: '缴费方式',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: ''
|
||||
},
|
||||
{
|
||||
title: '是否签到',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: ''
|
||||
},
|
||||
{
|
||||
title: '打包',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: ''
|
||||
},
|
||||
{
|
||||
title: '需要发票',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: ''
|
||||
},
|
||||
{
|
||||
title: '到账',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: ''
|
||||
},
|
||||
{
|
||||
title: '开票',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: ''
|
||||
},
|
||||
{
|
||||
title: '邮寄',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: ''
|
||||
},
|
||||
{
|
||||
title: '对接人',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: ''
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
scopedSlots: {customRender: 'action'}
|
||||
},
|
||||
],
|
||||
url: {
|
||||
list: "/jero/memberProject/page",
|
||||
delete: "/jero/memberProject/delete",
|
||||
deleteBatch: "/jero/memberProject/deleteBatch",
|
||||
exportXlsUrl: "/jero/memberProject/exportXls",
|
||||
importExcelUrl: "jero/memberProject/importExcel",
|
||||
list: '/jero/memberProject/page',
|
||||
delete: '/jero/memberProject/delete',
|
||||
deleteBatch: '/jero/memberProject/deleteBatch',
|
||||
exportXlsUrl: '/jero/memberProject/exportXls',
|
||||
importExcelUrl: 'jero/memberProject/importExcel',
|
||||
},
|
||||
}
|
||||
},
|
||||
@@ -259,7 +259,7 @@ export default {
|
||||
// 打开模态框
|
||||
this.$refs.batchInvoiceModal.open()
|
||||
}else {
|
||||
let initName = this.selectionRows[0].name;
|
||||
let initName = this.selectionRows[0].name
|
||||
// 单位判重
|
||||
let flag = this.selectionRows.some(item => {
|
||||
return item.name !== initName
|
||||
|
||||
@@ -98,14 +98,14 @@
|
||||
<script>
|
||||
import {mixinDevice} from '@/utils/mixin'
|
||||
import {JeroListMixin} from '@/mixins/JeroListMixin'
|
||||
import JYearDate from "@comp/jero/JYearDate";
|
||||
import UploadMeetFileModal from "@views/incomePayments/meetManage/modules/UploadMeetFileModal";
|
||||
import PageHeaderTitle from "@comp/layouts/PageHeaderTitle";
|
||||
import JYearDate from '@comp/jero/JYearDate'
|
||||
import UploadMeetFileModal from '@views/incomePayments/meetManage/modules/UploadMeetFileModal'
|
||||
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
||||
import IconImg from '@/assets/imgs/icon/icon_company_management.png'
|
||||
import "@/assets/less/TableExpand.less";
|
||||
import '@/assets/less/TableExpand.less'
|
||||
|
||||
export default {
|
||||
name: "MeetManageList",
|
||||
name: 'MeetManageList',
|
||||
mixins: [JeroListMixin, mixinDevice],
|
||||
components: {
|
||||
JYearDate,
|
||||
@@ -122,33 +122,33 @@ export default {
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: "center",
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1;
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '会议名称',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'meetingName',
|
||||
scopedSlots: {customRender: 'htmlSlot'},
|
||||
width: 160,
|
||||
},
|
||||
{
|
||||
title: '会议类型',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'meetingType_dictText',
|
||||
width: 100,
|
||||
},
|
||||
{
|
||||
title: '负责人',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'directorName',
|
||||
width: 160,
|
||||
},
|
||||
{
|
||||
title: '召开时间',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'startTime',
|
||||
width: 160,
|
||||
customRender:function (text,record) {
|
||||
@@ -157,7 +157,7 @@ export default {
|
||||
},
|
||||
{
|
||||
title: '召开地点',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'venue',
|
||||
width: 160,
|
||||
customRender:function (text,record){
|
||||
@@ -166,35 +166,35 @@ export default {
|
||||
},
|
||||
{
|
||||
title: '年份',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'particularYear',
|
||||
width: 100,
|
||||
},
|
||||
{
|
||||
title: '创建时间',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'createTime',
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
fixed:'right',
|
||||
width: 160,
|
||||
scopedSlots: {customRender: 'action'}
|
||||
},
|
||||
],
|
||||
url: {
|
||||
list: "/meeting/payMeeting/page",
|
||||
delete: "/meeting/payMeeting/delete",
|
||||
deleteBatch: "/meeting/payMeeting/deleteBatch",
|
||||
exportXlsUrl: "/meeting/payMeeting/exportXls",
|
||||
importExcelUrl: "meeting/payMeeting/importExcel",
|
||||
list: '/meeting/payMeeting/page',
|
||||
delete: '/meeting/payMeeting/delete',
|
||||
deleteBatch: '/meeting/payMeeting/deleteBatch',
|
||||
exportXlsUrl: '/meeting/payMeeting/exportXls',
|
||||
importExcelUrl: 'meeting/payMeeting/importExcel',
|
||||
},
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
importExcelUrl: function () {
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
@@ -238,7 +238,7 @@ export default {
|
||||
* */
|
||||
toAttendance(record){
|
||||
this.$router.push({
|
||||
path:"/incomePayments/meetManage/Attendance",
|
||||
path:'/incomePayments/meetManage/Attendance',
|
||||
query:{
|
||||
id:record.id
|
||||
}
|
||||
|
||||
@@ -309,15 +309,15 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import CompanySelect from "@comp/company/CompanySelect";
|
||||
import SelectContacts from "@comp/company/SelectContacts";
|
||||
import JDate from "@comp/jero/JDate";
|
||||
import JImageUpload from "@comp/jero/JImageUpload";
|
||||
import JDictSelectTag from "@comp/dict/JDictSelectTag";
|
||||
import JUpload from "@comp/jero/JUpload";
|
||||
import CompanySelect from '@comp/company/CompanySelect'
|
||||
import SelectContacts from '@comp/company/SelectContacts'
|
||||
import JDate from '@comp/jero/JDate'
|
||||
import JImageUpload from '@comp/jero/JImageUpload'
|
||||
import JDictSelectTag from '@comp/dict/JDictSelectTag'
|
||||
import JUpload from '@comp/jero/JUpload'
|
||||
|
||||
export default {
|
||||
name: "SignUpInfoEdit",
|
||||
name: 'SignUpInfoEdit',
|
||||
components:{
|
||||
CompanySelect,
|
||||
SelectContacts,
|
||||
@@ -360,7 +360,7 @@ export default {
|
||||
* 保存
|
||||
* */
|
||||
nextStep(){
|
||||
console.log("保存")
|
||||
console.log('保存')
|
||||
},
|
||||
/*
|
||||
* 确定
|
||||
|
||||
@@ -94,12 +94,12 @@
|
||||
<script>
|
||||
import {mixinDevice} from '@/utils/mixin'
|
||||
import {JeroListMixin} from '@/mixins/JeroListMixin'
|
||||
import JDictSelectTag from "@comp/dict/JDictSelectTag";
|
||||
import PageHeaderTitle from "@comp/layouts/PageHeaderTitle";
|
||||
import JDictSelectTag from '@comp/dict/JDictSelectTag'
|
||||
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
||||
import IconImg from '@/assets/imgs/icon/icon_company_management.png'
|
||||
|
||||
export default {
|
||||
name: "SignUpInfoList",
|
||||
name: 'SignUpInfoList',
|
||||
mixins: [JeroListMixin, mixinDevice],
|
||||
components: {
|
||||
JDictSelectTag,
|
||||
@@ -107,7 +107,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
descripion: "报名信息页面",
|
||||
descripion: '报名信息页面',
|
||||
IconImg,
|
||||
columns: [
|
||||
{
|
||||
@@ -115,44 +115,44 @@ export default {
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: "center",
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1;
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '企业名称',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: '',
|
||||
},
|
||||
{
|
||||
title: '姓名',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: '',
|
||||
},
|
||||
{
|
||||
title: '身份',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: '',
|
||||
},
|
||||
{
|
||||
title: '手机号',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: '',
|
||||
},
|
||||
{
|
||||
title: '职务',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: '',
|
||||
},
|
||||
{
|
||||
title: '邮箱',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: '',
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: '',
|
||||
scopedSlots: {customRender: 'action'}
|
||||
},
|
||||
@@ -166,11 +166,11 @@ export default {
|
||||
sm: {span: 18}
|
||||
},
|
||||
url: {
|
||||
list: "/jero/memberProject/page",
|
||||
delete: "/jero/memberProject/delete",
|
||||
deleteBatch: "/jero/memberProject/deleteBatch",
|
||||
exportXlsUrl: "/jero/memberProject/exportXls",
|
||||
importExcelUrl: "jero/memberProject/importExcel",
|
||||
list: '/jero/memberProject/page',
|
||||
delete: '/jero/memberProject/delete',
|
||||
deleteBatch: '/jero/memberProject/deleteBatch',
|
||||
exportXlsUrl: '/jero/memberProject/exportXls',
|
||||
importExcelUrl: 'jero/memberProject/importExcel',
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
@@ -90,10 +90,10 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import JImageUpload from "@comp/jero/JImageUpload";
|
||||
import JImageUpload from '@comp/jero/JImageUpload'
|
||||
|
||||
export default {
|
||||
name: "AuditModal",
|
||||
name: 'AuditModal',
|
||||
components: {
|
||||
JImageUpload
|
||||
},
|
||||
@@ -136,8 +136,8 @@ export default {
|
||||
}
|
||||
},
|
||||
url: {
|
||||
add: "/jero/memberProject/add",
|
||||
edit: "/jero/memberProject/edit",
|
||||
add: '/jero/memberProject/add',
|
||||
edit: '/jero/memberProject/edit',
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -62,10 +62,10 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SelectContacts from "@comp/company/SelectContacts";
|
||||
import SelectContacts from '@comp/company/SelectContacts'
|
||||
|
||||
export default {
|
||||
name: "BatchInvocieModal",
|
||||
name: 'BatchInvocieModal',
|
||||
components:{
|
||||
SelectContacts
|
||||
},
|
||||
@@ -101,8 +101,8 @@ export default {
|
||||
}
|
||||
},
|
||||
url: {
|
||||
add: "/jero/memberProject/add",
|
||||
edit: "/jero/memberProject/edit",
|
||||
add: '/jero/memberProject/add',
|
||||
edit: '/jero/memberProject/edit',
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -27,9 +27,9 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SelectPrincipal from "@comp/company/SelectPrincipal";
|
||||
import SelectPrincipal from '@comp/company/SelectPrincipal'
|
||||
export default {
|
||||
name: "BatchSetDockerModal",
|
||||
name: 'BatchSetDockerModal',
|
||||
components:{
|
||||
SelectPrincipal
|
||||
},
|
||||
@@ -63,8 +63,8 @@ export default {
|
||||
}
|
||||
},
|
||||
url: {
|
||||
add: "/jero/memberProject/add",
|
||||
edit: "/jero/memberProject/edit",
|
||||
add: '/jero/memberProject/add',
|
||||
edit: '/jero/memberProject/edit',
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -66,16 +66,16 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {JeroListMixin} from "@/mixins/JeroListMixin";
|
||||
import {mixinDevice} from "@/utils/mixin";
|
||||
import {postAction} from "@api/manage";
|
||||
import {JeroListMixin} from '@/mixins/JeroListMixin'
|
||||
import {mixinDevice} from '@/utils/mixin'
|
||||
import {postAction} from '@api/manage'
|
||||
|
||||
export default {
|
||||
name: "ImportParticipantModal",
|
||||
name: 'ImportParticipantModal',
|
||||
mixins: [JeroListMixin, mixinDevice],
|
||||
data() {
|
||||
return {
|
||||
description: "导入参会人模态框",
|
||||
description: '导入参会人模态框',
|
||||
disableMixinCreated: true,
|
||||
title: '操作',
|
||||
width: 1000,
|
||||
@@ -88,45 +88,45 @@ export default {
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: "center",
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1;
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '企业名称',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: '',
|
||||
},
|
||||
{
|
||||
title: '姓名',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: '',
|
||||
},
|
||||
{
|
||||
title: '身份',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: '',
|
||||
},
|
||||
{
|
||||
title: '手机号',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: '',
|
||||
},
|
||||
{
|
||||
title: '职务',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: '',
|
||||
},
|
||||
{
|
||||
title: '邮箱',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: '',
|
||||
},
|
||||
],
|
||||
model: {},
|
||||
url: {
|
||||
list: "/jero/memberProject/page",
|
||||
list: '/jero/memberProject/page',
|
||||
add: ''
|
||||
}
|
||||
}
|
||||
@@ -141,7 +141,7 @@ export default {
|
||||
}
|
||||
if (this.selectionRows.length === 0) {
|
||||
this.$message.warn('请选择一条记录')
|
||||
return;
|
||||
return
|
||||
}
|
||||
if (this.selectionRows.length > 0) {
|
||||
this.flag = true
|
||||
|
||||
@@ -82,14 +82,14 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pick from "lodash.pick";
|
||||
import {httpAction} from "@api/manage";
|
||||
import JYearDate from "@comp/jero/JYearDate";
|
||||
import JUpload from "@comp/jero/JUpload";
|
||||
import SelectPrincipal from "@comp/company/SelectPrincipal";
|
||||
import pick from 'lodash.pick'
|
||||
import {httpAction} from '@api/manage'
|
||||
import JYearDate from '@comp/jero/JYearDate'
|
||||
import JUpload from '@comp/jero/JUpload'
|
||||
import SelectPrincipal from '@comp/company/SelectPrincipal'
|
||||
|
||||
export default {
|
||||
name: "MeetModal",
|
||||
name: 'MeetModal',
|
||||
components: {
|
||||
JYearDate,
|
||||
JUpload,
|
||||
@@ -136,8 +136,8 @@ export default {
|
||||
}
|
||||
},
|
||||
url: {
|
||||
add: "/jero/memberProject/add",
|
||||
edit: "/jero/memberProject/edit",
|
||||
add: '/jero/memberProject/add',
|
||||
edit: '/jero/memberProject/edit',
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -25,11 +25,11 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {httpAction} from "@api/manage";
|
||||
import JUpload from "@comp/jero/JUpload";
|
||||
import {httpAction} from '@api/manage'
|
||||
import JUpload from '@comp/jero/JUpload'
|
||||
|
||||
export default {
|
||||
name: "UploadMeetFileModal",
|
||||
name: 'UploadMeetFileModal',
|
||||
components:{
|
||||
JUpload
|
||||
},
|
||||
@@ -56,8 +56,8 @@ export default {
|
||||
}
|
||||
},
|
||||
url: {
|
||||
add: "/jero/memberProject/add",
|
||||
edit: "/jero/memberProject/edit",
|
||||
add: '/jero/memberProject/add',
|
||||
edit: '/jero/memberProject/edit',
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -78,14 +78,14 @@
|
||||
<script>
|
||||
import {mixinDevice} from '@/utils/mixin'
|
||||
import {JeroListMixin} from '@/mixins/JeroListMixin'
|
||||
import JYearDate from "@comp/jero/JYearDate";
|
||||
import MemberProjectModal from "@views/incomePayments/memberManage/modules/MemberProjectModal";
|
||||
import PageHeaderTitle from "@comp/layouts/PageHeaderTitle";
|
||||
import JYearDate from '@comp/jero/JYearDate'
|
||||
import MemberProjectModal from '@views/incomePayments/memberManage/modules/MemberProjectModal'
|
||||
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
||||
import IconImg from '@/assets/imgs/icon/icon_company_management.png'
|
||||
|
||||
export default {
|
||||
mixins: [JeroListMixin, mixinDevice],
|
||||
name: "MemberProjectList",
|
||||
name: 'MemberProjectList',
|
||||
components: {
|
||||
JYearDate,
|
||||
MemberProjectModal,
|
||||
@@ -101,46 +101,46 @@ export default {
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: "center",
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1;
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '会员项目',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'projectName',
|
||||
scopedSlots: {customRender: 'htmlSlot'}
|
||||
},
|
||||
{
|
||||
title: '收费标准',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'chargeStandard',
|
||||
|
||||
},
|
||||
{
|
||||
title: '负责人',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'directorName'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
scopedSlots: {customRender: 'action'}
|
||||
},
|
||||
],
|
||||
url: {
|
||||
list: "/jero/memberProject/page",
|
||||
delete: "/jero/memberProject/delete",
|
||||
deleteBatch: "/jero/memberProject/deleteBatch",
|
||||
exportXlsUrl: "/jero/memberProject/exportXls",
|
||||
importExcelUrl: "jero/memberProject/importExcel",
|
||||
list: '/jero/memberProject/page',
|
||||
delete: '/jero/memberProject/delete',
|
||||
deleteBatch: '/jero/memberProject/deleteBatch',
|
||||
exportXlsUrl: '/jero/memberProject/exportXls',
|
||||
importExcelUrl: 'jero/memberProject/importExcel',
|
||||
},
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
importExcelUrl: function () {
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
|
||||
@@ -116,18 +116,18 @@
|
||||
<script>
|
||||
import {mixinDevice} from '@/utils/mixin'
|
||||
import {JeroListMixin} from '@/mixins/JeroListMixin'
|
||||
import JYearDate from "@comp/jero/JYearDate";
|
||||
import SafeguardMemberModal from "@views/incomePayments/memberManage/modules/SafeguardMemberModal";
|
||||
import ProjectDetailModal from "@comp/ProjectDetailModal";
|
||||
import StatusSlot from "@comp/tools/StatusSlot";
|
||||
import PageHeaderTitle from "@comp/layouts/PageHeaderTitle";
|
||||
import JYearDate from '@comp/jero/JYearDate'
|
||||
import SafeguardMemberModal from '@views/incomePayments/memberManage/modules/SafeguardMemberModal'
|
||||
import ProjectDetailModal from '@comp/ProjectDetailModal'
|
||||
import StatusSlot from '@comp/tools/StatusSlot'
|
||||
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
||||
import IconImg from '@/assets/imgs/icon/icon_company_management.png'
|
||||
|
||||
import {getAction} from "@api/manage";
|
||||
import {getFileInfo} from "@api/api";
|
||||
import {getAction} from '@api/manage'
|
||||
import {getFileInfo} from '@api/api'
|
||||
|
||||
export default {
|
||||
name: "SafeguardMemberList",
|
||||
name: 'SafeguardMemberList',
|
||||
mixins: [JeroListMixin, mixinDevice],
|
||||
components: {
|
||||
JYearDate,
|
||||
@@ -146,65 +146,65 @@ export default {
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: "center",
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1;
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '会员单位',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'companyName',
|
||||
scopedSlots: {customRender: 'member'}
|
||||
},
|
||||
{
|
||||
title: '企业联系人',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'companyContactName',
|
||||
},
|
||||
{
|
||||
title: '应收金额',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'amountReceivable',
|
||||
},
|
||||
{
|
||||
title: '实收金额',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'paidAmount',
|
||||
},
|
||||
{
|
||||
title: '打包',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'pack',
|
||||
scopedSlots: {customRender: 'status-pack'}
|
||||
},
|
||||
{
|
||||
title: '需要发票',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'needInvoice',
|
||||
scopedSlots: {customRender: 'status-pack'}
|
||||
},
|
||||
{
|
||||
title: '到账',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'inAccount',
|
||||
scopedSlots: {customRender: 'status'}
|
||||
},
|
||||
{
|
||||
title: '开票',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'makeInvoice',
|
||||
scopedSlots: {customRender: 'status'}
|
||||
},
|
||||
{
|
||||
title: '邮寄',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'mail',
|
||||
scopedSlots: {customRender: 'status'}
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: '',
|
||||
scopedSlots: {customRender: 'action'}
|
||||
},
|
||||
@@ -213,27 +213,27 @@ export default {
|
||||
// 当前项目基本信息
|
||||
currentInfo: {},
|
||||
url: {
|
||||
list: "/jero/memberProjectSubitem/page",
|
||||
delete: "/jero/memberProjectSubitem/delete",
|
||||
deleteBatch: "/jero/memberProjectSubitem/deleteBatch",
|
||||
exportXlsUrl: "/jero/memberProjectSubitem/exportXls",
|
||||
importExcelUrl: "jero/memberProjectSubitem/importExcel",
|
||||
downTemplateUrl: "jero/memberProjectSubitem/exportTemplate"
|
||||
list: '/jero/memberProjectSubitem/page',
|
||||
delete: '/jero/memberProjectSubitem/delete',
|
||||
deleteBatch: '/jero/memberProjectSubitem/deleteBatch',
|
||||
exportXlsUrl: '/jero/memberProjectSubitem/exportXls',
|
||||
importExcelUrl: 'jero/memberProjectSubitem/importExcel',
|
||||
downTemplateUrl: 'jero/memberProjectSubitem/exportTemplate'
|
||||
},
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
importExcelUrl: function () {
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.currentInfo = Object.assign({}, JSON.parse(this.$route.query.record))
|
||||
console.log("=====", this.currentInfo)
|
||||
console.log('=====', this.currentInfo)
|
||||
this.$store.commit('SET_CURRENTPROJECT', this.currentInfo)
|
||||
this.loadData();
|
||||
this.loadData()
|
||||
//初始化字典配置 在自己页面定义
|
||||
this.initDictConfig();
|
||||
this.initDictConfig()
|
||||
this.getChargeNoFile()
|
||||
},
|
||||
methods: {
|
||||
@@ -251,34 +251,34 @@ export default {
|
||||
},
|
||||
loadData(arg) {
|
||||
if (!this.url.list) {
|
||||
this.$message.error("请设置url.list属性!")
|
||||
this.$message.error('请设置url.list属性!')
|
||||
return
|
||||
}
|
||||
//加载数据 若传入参数1则加载第一页的内容
|
||||
if (arg === 1) {
|
||||
this.ipagination.current = 1;
|
||||
this.ipagination.current = 1
|
||||
}
|
||||
// 传入项目id 查寻该项目下的成员
|
||||
this.filters.projectId = this.currentInfo.id
|
||||
var params = this.getQueryParams();//查询条件
|
||||
this.loading = true;
|
||||
var params = this.getQueryParams()//查询条件
|
||||
this.loading = true
|
||||
getAction(this.url.list, params).then((res) => {
|
||||
if (res.success) {
|
||||
//update-begin---author:zhangyafei Date:20201118 for:适配不分页的数据列表------------
|
||||
this.dataSource = res.result.records || res.result;
|
||||
this.dataSource = res.result.records || res.result
|
||||
if (res.result.total) {
|
||||
this.ipagination.total = res.result.total;
|
||||
this.ipagination.total = res.result.total
|
||||
//清空列表选中
|
||||
this.onClearSelected()
|
||||
} else {
|
||||
this.ipagination.total = 0;
|
||||
this.ipagination.total = 0
|
||||
}
|
||||
//update-end---author:zhangyafei Date:20201118 for:适配不分页的数据列表------------
|
||||
}
|
||||
if (res.code === 510) {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
this.loading = false;
|
||||
this.loading = false
|
||||
}).finally(() => {
|
||||
this.loading = false
|
||||
})
|
||||
|
||||
@@ -102,14 +102,14 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mixinDevice } from "@/utils/mixin";
|
||||
import { JeroListMixin } from "@/mixins/JeroListMixin";
|
||||
import ProjectDetailModal from "@comp/ProjectDetailModal";
|
||||
import "@/assets/less/TableExpand.less";
|
||||
import StatusSlot from "@comp/tools/StatusSlot";
|
||||
import { mixinDevice } from '@/utils/mixin'
|
||||
import { JeroListMixin } from '@/mixins/JeroListMixin'
|
||||
import ProjectDetailModal from '@comp/ProjectDetailModal'
|
||||
import '@/assets/less/TableExpand.less'
|
||||
import StatusSlot from '@comp/tools/StatusSlot'
|
||||
|
||||
export default {
|
||||
name: "SafeguardStardsMemberList",
|
||||
name: 'SafeguardStardsMemberList',
|
||||
mixins: [JeroListMixin, mixinDevice],
|
||||
components: {
|
||||
ProjectDetailModal,
|
||||
@@ -119,100 +119,100 @@ export default {
|
||||
return {
|
||||
columns: [
|
||||
{
|
||||
title: "序号",
|
||||
dataIndex: "",
|
||||
key: "rowIndex",
|
||||
title: '序号',
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: "center",
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1;
|
||||
return parseInt(index) + 1
|
||||
},
|
||||
},
|
||||
{
|
||||
title: "会员编号",
|
||||
align: "center",
|
||||
dataIndex: "memberNo",
|
||||
title: '会员编号',
|
||||
align: 'center',
|
||||
dataIndex: 'memberNo',
|
||||
},
|
||||
{
|
||||
title: "企业名称",
|
||||
align: "center",
|
||||
dataIndex: "companyName",
|
||||
scopedSlots: { customRender: "detail" },
|
||||
title: '企业名称',
|
||||
align: 'center',
|
||||
dataIndex: 'companyName',
|
||||
scopedSlots: { customRender: 'detail' },
|
||||
},
|
||||
{
|
||||
title: "会员类型",
|
||||
align: "center",
|
||||
dataIndex: "memberType_dictText",
|
||||
title: '会员类型',
|
||||
align: 'center',
|
||||
dataIndex: 'memberType_dictText',
|
||||
},
|
||||
{
|
||||
title: "联系人",
|
||||
align: "center",
|
||||
dataIndex: "liaisonMan",
|
||||
title: '联系人',
|
||||
align: 'center',
|
||||
dataIndex: 'liaisonMan',
|
||||
},
|
||||
{
|
||||
title: "邮箱",
|
||||
align: "center",
|
||||
dataIndex: "email",
|
||||
title: '邮箱',
|
||||
align: 'center',
|
||||
dataIndex: 'email',
|
||||
},
|
||||
{
|
||||
title: "手机",
|
||||
align: "center",
|
||||
dataIndex: "mobile",
|
||||
title: '手机',
|
||||
align: 'center',
|
||||
dataIndex: 'mobile',
|
||||
},
|
||||
{
|
||||
title: "会员状态",
|
||||
align: "center",
|
||||
dataIndex: "memberStatus_dictText",
|
||||
title: '会员状态',
|
||||
align: 'center',
|
||||
dataIndex: 'memberStatus_dictText',
|
||||
},
|
||||
{
|
||||
title: "注册时间",
|
||||
align: "center",
|
||||
dataIndex: "registerTime",
|
||||
scopedSlots: { customRender: "htmlSlot" },
|
||||
title: '注册时间',
|
||||
align: 'center',
|
||||
dataIndex: 'registerTime',
|
||||
scopedSlots: { customRender: 'htmlSlot' },
|
||||
},
|
||||
{
|
||||
title: "打包",
|
||||
align: "center",
|
||||
dataIndex: "pack",
|
||||
scopedSlots: { customRender: "status-pack" },
|
||||
title: '打包',
|
||||
align: 'center',
|
||||
dataIndex: 'pack',
|
||||
scopedSlots: { customRender: 'status-pack' },
|
||||
},
|
||||
{
|
||||
title: "需要发票",
|
||||
align: "center",
|
||||
dataIndex: "invoiceRequirements",
|
||||
scopedSlots: { customRender: "status-pack" },
|
||||
title: '需要发票',
|
||||
align: 'center',
|
||||
dataIndex: 'invoiceRequirements',
|
||||
scopedSlots: { customRender: 'status-pack' },
|
||||
},
|
||||
{
|
||||
title: "到账",
|
||||
align: "center",
|
||||
dataIndex: "inAccount",
|
||||
scopedSlots: { customRender: "status" },
|
||||
title: '到账',
|
||||
align: 'center',
|
||||
dataIndex: 'inAccount',
|
||||
scopedSlots: { customRender: 'status' },
|
||||
},
|
||||
{
|
||||
title: "开票",
|
||||
align: "center",
|
||||
dataIndex: "makeInvoice",
|
||||
scopedSlots: { customRender: "status" },
|
||||
title: '开票',
|
||||
align: 'center',
|
||||
dataIndex: 'makeInvoice',
|
||||
scopedSlots: { customRender: 'status' },
|
||||
},
|
||||
{
|
||||
title: "邮寄",
|
||||
align: "center",
|
||||
dataIndex: "mail",
|
||||
scopedSlots: { customRender: "status" },
|
||||
title: '邮寄',
|
||||
align: 'center',
|
||||
dataIndex: 'mail',
|
||||
scopedSlots: { customRender: 'status' },
|
||||
},
|
||||
],
|
||||
disableMixinCreated: true,
|
||||
url: {
|
||||
list: "/member/tbMemberProjectSubitem/page",
|
||||
exportXlsUrl: "/member/tbMemberProjectSubitem/exportXls",
|
||||
list: '/member/tbMemberProjectSubitem/page',
|
||||
exportXlsUrl: '/member/tbMemberProjectSubitem/exportXls',
|
||||
},
|
||||
};
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.filters.projectId = this.$route.query.id;
|
||||
this.loadData(1);
|
||||
this.filters.projectId = this.$route.query.id
|
||||
this.loadData(1)
|
||||
},
|
||||
};
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -71,11 +71,11 @@
|
||||
<script>
|
||||
import {mixinDevice} from '@/utils/mixin'
|
||||
import {JeroListMixin} from '@/mixins/JeroListMixin'
|
||||
import PageHeaderTitle from "@comp/layouts/PageHeaderTitle";
|
||||
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
||||
import IconImg from '@/assets/imgs/icon/icon_company_management.png'
|
||||
|
||||
export default {
|
||||
name: "StardsMemberProject",
|
||||
name: 'StardsMemberProject',
|
||||
mixins: [JeroListMixin, mixinDevice],
|
||||
components: {
|
||||
PageHeaderTitle
|
||||
@@ -90,20 +90,20 @@ export default {
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: "center",
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1;
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '标协会员项目名称',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'projectName',
|
||||
scopedSlots: {customRender: 'htmlSlot'}
|
||||
}
|
||||
],
|
||||
url: {
|
||||
list: "/member/tbMemberProject/page",
|
||||
list: '/member/tbMemberProject/page',
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
@@ -79,14 +79,14 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pick from "lodash.pick";
|
||||
import {httpAction} from "@api/manage";
|
||||
import JYearDate from "@comp/jero/JYearDate";
|
||||
import JUpload from "@comp/jero/JUpload";
|
||||
import SelectPrincipal from "@comp/company/SelectPrincipal";
|
||||
import pick from 'lodash.pick'
|
||||
import {httpAction} from '@api/manage'
|
||||
import JYearDate from '@comp/jero/JYearDate'
|
||||
import JUpload from '@comp/jero/JUpload'
|
||||
import SelectPrincipal from '@comp/company/SelectPrincipal'
|
||||
|
||||
export default {
|
||||
name: "MemberProjectModal",
|
||||
name: 'MemberProjectModal',
|
||||
components: {
|
||||
JYearDate,
|
||||
JUpload,
|
||||
@@ -133,8 +133,8 @@ export default {
|
||||
}
|
||||
},
|
||||
url: {
|
||||
add: "/jero/memberProject/add",
|
||||
edit: "/jero/memberProject/edit",
|
||||
add: '/jero/memberProject/add',
|
||||
edit: '/jero/memberProject/edit',
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -211,15 +211,15 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pick from "lodash.pick";
|
||||
import { httpAction } from "@api/manage";
|
||||
import JUpload from "@comp/jero/JUpload";
|
||||
import CompanySelect from "@comp/company/CompanySelect";
|
||||
import ContactManagementModule from "@views/businessManagement/modules/ContactManagementModule";
|
||||
import SelectContacts from "@comp/company/SelectContacts";
|
||||
import pick from 'lodash.pick'
|
||||
import { httpAction } from '@api/manage'
|
||||
import JUpload from '@comp/jero/JUpload'
|
||||
import CompanySelect from '@comp/company/CompanySelect'
|
||||
import ContactManagementModule from '@views/businessManagement/modules/ContactManagementModule'
|
||||
import SelectContacts from '@comp/company/SelectContacts'
|
||||
|
||||
export default {
|
||||
name: "SafeguardMemberModal",
|
||||
name: 'SafeguardMemberModal',
|
||||
components: {
|
||||
JUpload,
|
||||
CompanySelect,
|
||||
@@ -228,7 +228,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
title: "操作",
|
||||
title: '操作',
|
||||
width: 800,
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
@@ -252,37 +252,37 @@ export default {
|
||||
},
|
||||
validatorRules: {
|
||||
companyId: {
|
||||
rules: [{ required: true, message: "请选择会员单位" }],
|
||||
validateTrigger: "blur",
|
||||
rules: [{ required: true, message: '请选择会员单位' }],
|
||||
validateTrigger: 'blur',
|
||||
},
|
||||
contractNo: {
|
||||
rules: [{ required: true, message: "请输入合同号" }],
|
||||
validateTrigger: "blur",
|
||||
rules: [{ required: true, message: '请输入合同号' }],
|
||||
validateTrigger: 'blur',
|
||||
},
|
||||
companyContactId: {
|
||||
rules: [{ required: true, message: "请选择企业联系人" }],
|
||||
validateTrigger: "blur",
|
||||
rules: [{ required: true, message: '请选择企业联系人' }],
|
||||
validateTrigger: 'blur',
|
||||
},
|
||||
postContactId: {
|
||||
rules: [{ required: true, message: "请选择邮寄联系人" }],
|
||||
validateTrigger: "blur",
|
||||
rules: [{ required: true, message: '请选择邮寄联系人' }],
|
||||
validateTrigger: 'blur',
|
||||
},
|
||||
paymentMethod: {
|
||||
rules: [{ required: true, message: "请选择来款方式" }],
|
||||
validateTrigger: ["blur", "change"],
|
||||
rules: [{ required: true, message: '请选择来款方式' }],
|
||||
validateTrigger: ['blur', 'change'],
|
||||
initialValue: 3,
|
||||
},
|
||||
amountReceivable: {
|
||||
rules: [{ required: true, message: "请输入应收金额" }],
|
||||
validateTrigger: "blur",
|
||||
rules: [{ required: true, message: '请输入应收金额' }],
|
||||
validateTrigger: 'blur',
|
||||
},
|
||||
chargeNoticeNo: {
|
||||
rules: [{ required: true, message: "请输入收费通知号" }],
|
||||
validateTrigger: "blur",
|
||||
rules: [{ required: true, message: '请输入收费通知号' }],
|
||||
validateTrigger: 'blur',
|
||||
},
|
||||
needInvoice: {
|
||||
rules: [{ required: true, message: "请选择发票类型" }],
|
||||
validateTrigger: ["change", "blur"],
|
||||
rules: [{ required: true, message: '请选择发票类型' }],
|
||||
validateTrigger: ['change', 'blur'],
|
||||
initialValue: 0,
|
||||
},
|
||||
},
|
||||
@@ -297,138 +297,138 @@ export default {
|
||||
timer: null,
|
||||
baseInfo: this.$store.state.currentProjetcInfo,
|
||||
url: {
|
||||
add: "/jero/memberProjectSubitem/add",
|
||||
edit: "/jero/memberProjectSubitem/edit",
|
||||
add: '/jero/memberProjectSubitem/add',
|
||||
edit: '/jero/memberProjectSubitem/edit',
|
||||
},
|
||||
};
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
add() {
|
||||
this.edit({});
|
||||
this.edit({})
|
||||
},
|
||||
edit(record) {
|
||||
// 清除定时器
|
||||
if (this.timer) {
|
||||
clearTimeout(this.timer);
|
||||
clearTimeout(this.timer)
|
||||
}
|
||||
this.form.resetFields();
|
||||
this.form.resetFields()
|
||||
|
||||
// 如果没有id 就是新增 新增需要将上级的项目收费通知与文件回显
|
||||
let flag = Object.prototype.hasOwnProperty.call(record, "id");
|
||||
let flag = Object.prototype.hasOwnProperty.call(record, 'id')
|
||||
if (flag) {
|
||||
// 加定时器是因为第一次赋值不成功
|
||||
this.timer = setTimeout(() => {
|
||||
this.form.setFieldsValue({
|
||||
chargeNoticeFileId: this.baseInfo.chargeNoticeFileId,
|
||||
chargeNoticeNo: this.baseInfo.chargeNoticeNo,
|
||||
});
|
||||
}, 100);
|
||||
})
|
||||
}, 100)
|
||||
}
|
||||
this.model = Object.assign({}, record);
|
||||
this.model = Object.assign({}, record)
|
||||
// 编辑状态下的企业与联系人的回显
|
||||
if (record.companyId) {
|
||||
this.model.companyId = {
|
||||
id: record.companyId,
|
||||
companyName: record.companyName,
|
||||
};
|
||||
this.selectedCompany = Object.assign({}, this.model.companyId);
|
||||
}
|
||||
this.selectedCompany = Object.assign({}, this.model.companyId)
|
||||
this.selectPerson = {
|
||||
id: this.model.companyContactTemporaryId,
|
||||
name: this.model.companyContactName,
|
||||
};
|
||||
}
|
||||
this.selectMailPerson = {
|
||||
id: this.model.postContactTemporaryId,
|
||||
name: this.model.postContactName,
|
||||
};
|
||||
}
|
||||
// 修改来款方式 控制dom对应显示隐藏
|
||||
this.incomePaysType = record.paymentMethod;
|
||||
this.incomePaysType = record.paymentMethod
|
||||
}
|
||||
this.visible = true;
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(
|
||||
pick(
|
||||
this.model,
|
||||
"companyId",
|
||||
"companyContactId",
|
||||
"postContactId",
|
||||
"amountReceivable",
|
||||
"needInvoice",
|
||||
"paymentMethod",
|
||||
"contractNo",
|
||||
"chargeNoticeNo",
|
||||
"chargeNoticeFileId",
|
||||
"remark"
|
||||
'companyId',
|
||||
'companyContactId',
|
||||
'postContactId',
|
||||
'amountReceivable',
|
||||
'needInvoice',
|
||||
'paymentMethod',
|
||||
'contractNo',
|
||||
'chargeNoticeNo',
|
||||
'chargeNoticeFileId',
|
||||
'remark'
|
||||
)
|
||||
);
|
||||
});
|
||||
)
|
||||
})
|
||||
},
|
||||
close() {
|
||||
this.incomePaysType = 3;
|
||||
this.$emit("close");
|
||||
this.visible = false;
|
||||
clearTimeout(this.timer);
|
||||
this.incomePaysType = 3
|
||||
this.$emit('close')
|
||||
this.visible = false
|
||||
clearTimeout(this.timer)
|
||||
},
|
||||
handleOk() {
|
||||
const that = this;
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
let httpurl = "";
|
||||
let httpurl = ''
|
||||
if (!this.model.id) {
|
||||
httpurl += this.url.add;
|
||||
httpurl += this.url.add
|
||||
} else {
|
||||
httpurl += this.url.edit;
|
||||
httpurl += this.url.edit
|
||||
}
|
||||
const formData = Object.assign(this.model, values);
|
||||
formData.companyId = values.companyId.id;
|
||||
formData.projectId = this.$store.state.currentProjetcInfo.id;
|
||||
httpAction(httpurl, formData, "post")
|
||||
const formData = Object.assign(this.model, values)
|
||||
formData.companyId = values.companyId.id
|
||||
formData.projectId = this.$store.state.currentProjetcInfo.id
|
||||
httpAction(httpurl, formData, 'post')
|
||||
.then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message);
|
||||
that.$emit("ok");
|
||||
that.close();
|
||||
that.$message.success(res.message)
|
||||
that.$emit('ok')
|
||||
that.close()
|
||||
} else {
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
that.confirmLoading = false;
|
||||
});
|
||||
that.confirmLoading = false
|
||||
})
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
/*
|
||||
* 来款方式
|
||||
* */
|
||||
changePaymentMethod(e) {
|
||||
this.incomePaysType = e.target.value;
|
||||
this.incomePaysType = e.target.value
|
||||
},
|
||||
/*
|
||||
* 选择会员单位
|
||||
* */
|
||||
companyChange(val) {
|
||||
this.selectedCompany = Object.assign({}, val, { companyName: val.name });
|
||||
this.selectedCompany = Object.assign({}, val, { companyName: val.name })
|
||||
},
|
||||
handleCancel() {
|
||||
this.selectedCompany = {};
|
||||
this.close();
|
||||
this.selectedCompany = {}
|
||||
this.close()
|
||||
},
|
||||
/*
|
||||
* 筛选
|
||||
* */
|
||||
filterOption(input, option) {
|
||||
console.log("inp", option);
|
||||
console.log('inp', option)
|
||||
},
|
||||
/*
|
||||
* 新增联系人后刷新下拉框数据
|
||||
* */
|
||||
addContactsOk() {
|
||||
this.$refs.selectContacts.getContactsList();
|
||||
this.$refs.selectMailContacts.getContactsList();
|
||||
this.$refs.selectContacts.getContactsList()
|
||||
this.$refs.selectMailContacts.getContactsList()
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
<a-button type="primary" icon="plus" @click="handleAdd">新增</a-button>
|
||||
<a-button type="primary" icon="export" @click="handleExportXls('企业管理')">导出</a-button>
|
||||
<a-button type="danger" icon="delete" @click="batchDel">批量删除</a-button>
|
||||
<a-button type="primary" @click="">发布-提醒</a-button>
|
||||
<a-button type="primary" @click="publishRemind">发布-提醒</a-button>
|
||||
</div>
|
||||
<!-- /操作按钮区域-end-->
|
||||
|
||||
@@ -91,13 +91,13 @@
|
||||
<div class="project-name" @click="goMemberUnitMaintenance(record)">{{ text }}</div>
|
||||
</template>
|
||||
|
||||
<template slot="text" slot-scope="text,record">
|
||||
<template slot="text" slot-scope="text">
|
||||
<j-ellipsis :value="text" :length="20"></j-ellipsis>
|
||||
</template>
|
||||
|
||||
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
||||
<a @click="">上传文件</a>
|
||||
<a @click="">报名信息</a>
|
||||
<a @click="uploadFile">上传文件</a>
|
||||
<a @click="applyMsg">报名信息</a>
|
||||
<a @click="handleEdit(record)">编辑</a>
|
||||
<a @click="handleDelete(record.id)">删除</a>
|
||||
</span>
|
||||
@@ -200,7 +200,14 @@ export default {
|
||||
this.$router.push({
|
||||
path: '/projectManagement/WorkingGroupProjectManagement'
|
||||
})
|
||||
}
|
||||
},
|
||||
publishRemind() {
|
||||
|
||||
},
|
||||
uploadFile() {
|
||||
|
||||
},
|
||||
applyMsg() {}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
</template>
|
||||
|
||||
|
||||
<template slot="text" slot-scope="text,record">
|
||||
<template slot="text" slot-scope="text">
|
||||
<j-ellipsis :value="text" :length="18"></j-ellipsis>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
<a-spin :spinning="loading">
|
||||
<div class="work-group-detail">
|
||||
<div class="work-group-detail-item work-group-detail-item-small"
|
||||
v-for="item in detailTitleList"
|
||||
:key="item.title">
|
||||
v-for="(item, index) in detailTitleList"
|
||||
:key="index">
|
||||
<div class="work-group-detail-item-title">{{ item.title }}:</div>
|
||||
<div class="work-group-detail-item-content"
|
||||
v-if="item.fieldName === 'chargeNoticeAId' || item.fieldName === 'chargeNoticeBId'">
|
||||
@@ -101,7 +101,7 @@
|
||||
<status-slot :statu-obj="record" :status-no="text"></status-slot>
|
||||
</template>
|
||||
|
||||
<template slot="text" slot-scope="text,record">
|
||||
<template slot="text" slot-scope="text">
|
||||
<j-ellipsis :value="text" :length="20"></j-ellipsis>
|
||||
</template>
|
||||
|
||||
@@ -232,7 +232,7 @@ export default {
|
||||
align: 'center',
|
||||
dataIndex: 'paidAmount',
|
||||
width: 180
|
||||
}, , {
|
||||
}, {
|
||||
title: '打包',
|
||||
align: 'center',
|
||||
width: 80,
|
||||
|
||||
@@ -78,11 +78,11 @@
|
||||
</template>
|
||||
|
||||
<!-- 进度-->
|
||||
<template slot="rateOfProgress" slot-scope="text, record">
|
||||
<template slot="rateOfProgress" slot-scope="text">
|
||||
<progress-bar :data="text"></progress-bar>
|
||||
</template>
|
||||
|
||||
<template slot="text" slot-scope="text,record">
|
||||
<template slot="text" slot-scope="text">
|
||||
<j-ellipsis :value="text" :length="20"></j-ellipsis>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<a-row>
|
||||
<a-col>
|
||||
<a-form-item label="来款项目" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||
<a-input placeholder="请输入项目名称"
|
||||
<a-input placeholder="请输入来款项目"
|
||||
v-decorator="['chargeProject',validatorRules.chargeProject]"
|
||||
:maxLength='50'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
@@ -74,7 +74,7 @@
|
||||
v-decorator="['mailContactsId',validatorRules.mailContactsId]"
|
||||
:maxLength='50'
|
||||
ref="selectMailContacts"
|
||||
@ok="addContactsOk"></select-contacts>
|
||||
@ok="addMailContactsOk"></select-contacts>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
@@ -86,7 +86,7 @@
|
||||
<a-input placeholder="请输入应收金额"
|
||||
v-decorator="['receivableAmount',validatorRules.receivableAmount]"
|
||||
:maxLength='50'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
@change="(e) => {e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()}"></a-input>
|
||||
</a-col>
|
||||
<a-col :span="1">元</a-col>
|
||||
</a-row>
|
||||
@@ -164,13 +164,12 @@ import { httpAction } from '@api/manage'
|
||||
import JYearDate from '@comp/jero/JYearDate'
|
||||
import JUpload from '@comp/jero/JUpload'
|
||||
import CompanySelect from '@comp/company/CompanySelect'
|
||||
import ContactManagementModule from '@views/businessManagement/modules/ContactManagementModule'
|
||||
import SelectPrincipal from '@comp/company/SelectPrincipal'
|
||||
import SelectContacts from '@comp/company/SelectContacts'
|
||||
|
||||
export default {
|
||||
name: 'GeneralProjectModule',
|
||||
components: { JYearDate, JUpload, CompanySelect, ContactManagementModule, SelectPrincipal, SelectContacts },
|
||||
components: { JYearDate, JUpload, CompanySelect, SelectPrincipal, SelectContacts },
|
||||
data() {
|
||||
return {
|
||||
title: '操作',
|
||||
@@ -359,8 +358,10 @@ export default {
|
||||
* 在新增成功后重新获取联系人列表
|
||||
*/
|
||||
addContactsOk() {
|
||||
this.$refs.selectContacts.getContactsList()
|
||||
this.$refs.selectMailContacts.getContactsList()
|
||||
},
|
||||
addMailContactsOk() {
|
||||
this.$refs.selectContacts.getContactsList()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<a-col :xl="12" :sm="24">
|
||||
<a-form-item label="收费通知A" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-upload file-type="pdf"
|
||||
file-type-error-message="请上传收费通知"
|
||||
file-type-error-message="请上传收费通知A"
|
||||
:multiple="false"
|
||||
:return-id="true"
|
||||
bizPath="payment"
|
||||
@@ -37,7 +37,7 @@
|
||||
<a-row v-if="selectedChargeNotice === 'B'">
|
||||
<a-col :xl="12" :sm="24">
|
||||
<a-form-item label="本年应收款B" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入本年应收款A"
|
||||
<a-input placeholder="请输入本年应收款B"
|
||||
v-decorator="['receivableAmount']"
|
||||
:maxLength='50'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
@@ -46,7 +46,7 @@
|
||||
<a-col :xl="12" :sm="24">
|
||||
<a-form-item label="收费通知B" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-upload file-type="pdf"
|
||||
file-type-error-message="请上传收费通知"
|
||||
file-type-error-message="请上传收费通知B"
|
||||
:multiple="false"
|
||||
:return-id="true"
|
||||
bizPath="payment"
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<template>
|
||||
<j-modal
|
||||
:title="title"
|
||||
:width="width"
|
||||
:visible="visible"
|
||||
:confirmLoading="confirmLoading"
|
||||
switchFullscreen
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel"
|
||||
cancelText="关闭">
|
||||
:title="title"
|
||||
:width="width"
|
||||
:visible="visible"
|
||||
:confirmLoading="confirmLoading"
|
||||
switchFullscreen
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel"
|
||||
cancelText="关闭">
|
||||
<a-form :form="form">
|
||||
<a-row>
|
||||
<a-col>
|
||||
@@ -29,7 +29,7 @@
|
||||
v-decorator="['contactsIdOne',validatorRules.contactsIdOne]"
|
||||
:maxLength='50'
|
||||
ref="selectContacts1"
|
||||
@ok="addContactsOk"></select-contacts>
|
||||
@ok="addContactsOneOk"></select-contacts>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="12" :sm="24">
|
||||
@@ -40,7 +40,7 @@
|
||||
v-decorator="['contactsIdTwo']"
|
||||
:maxLength='50'
|
||||
ref="selectContacts2"
|
||||
@ok="addContactsOk"></select-contacts>
|
||||
@ok="addContactsTwoOk"></select-contacts>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
@@ -53,7 +53,7 @@
|
||||
v-decorator="['contactsIdThree']"
|
||||
:maxLength='50'
|
||||
ref="selectContacts3"
|
||||
@ok="addContactsOk"></select-contacts>
|
||||
@ok="addContactsThreeOk"></select-contacts>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="12" :sm="24">
|
||||
@@ -64,7 +64,7 @@
|
||||
v-decorator="['mailContactsId',validatorRules.mailContactsId]"
|
||||
:maxLength='50'
|
||||
ref="selectMailContacts"
|
||||
@ok="addContactsOk"></select-contacts>
|
||||
@ok="addMailContactsOk"></select-contacts>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
@@ -80,7 +80,8 @@
|
||||
</a-col>
|
||||
<a-col :xl="12" :sm="24" v-if="chargeWayType === 3">
|
||||
<a-form-item label="收费通知号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-radio-group v-decorator="['chargeNoticeNo',validatorRules.chargeNoticeNo]" @change="handleChargeNoticeChange" :options="chargeNoticeList">
|
||||
<a-radio-group v-decorator="['chargeNoticeNo',validatorRules.chargeNoticeNo]"
|
||||
@change="handleChargeNoticeChange" :options="chargeNoticeList">
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
@@ -93,7 +94,7 @@
|
||||
<a-input placeholder="请输入应收金额"
|
||||
v-decorator="['receivableAmount',validatorRules.receivableAmount]"
|
||||
:maxLength='50'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
@change="(e) => {e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()}"></a-input>
|
||||
</a-col>
|
||||
<a-col :span="1">元</a-col>
|
||||
</a-row>
|
||||
@@ -120,7 +121,7 @@
|
||||
<a-col :xl="12" :sm="24">
|
||||
<a-form-item label="收费通知A" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-upload file-type="pdf"
|
||||
file-type-error-message="请上传收费通知"
|
||||
file-type-error-message="请上传收费通知A"
|
||||
:multiple="false"
|
||||
:return-id="true"
|
||||
bizPath="payment"
|
||||
@@ -132,7 +133,7 @@
|
||||
<a-row v-if="chargeWayType === 3 && selectedChargeNotice === 'B'">
|
||||
<a-col :xl="12" :sm="24">
|
||||
<a-form-item label="本年应收款B" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入本年应收款A"
|
||||
<a-input placeholder="请输入本年应收款B"
|
||||
v-decorator="['receivableAmount',validatorRules.receivableAmount]"
|
||||
:maxLength='50'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
@@ -141,7 +142,7 @@
|
||||
<a-col :xl="12" :sm="24">
|
||||
<a-form-item label="收费通知B" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-upload file-type="pdf"
|
||||
file-type-error-message="请上传收费通知"
|
||||
file-type-error-message="请上传收费通知B"
|
||||
:multiple="false"
|
||||
:return-id="true"
|
||||
bizPath="payment"
|
||||
@@ -165,11 +166,11 @@
|
||||
<a-col>
|
||||
<a-form-item label="备注" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||
<a-textarea
|
||||
placeholder="请输入备注"
|
||||
:auto-size="{ minRows: 3, maxRows: 6 }"
|
||||
v-decorator="['remarks']"
|
||||
:maxLength='200'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
||||
placeholder="请输入备注"
|
||||
:auto-size="{ minRows: 3, maxRows: 6 }"
|
||||
v-decorator="['remarks']"
|
||||
:maxLength='200'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
@@ -180,16 +181,13 @@
|
||||
<script>
|
||||
import pick from 'lodash.pick'
|
||||
import { httpAction } from '@api/manage'
|
||||
import JYearDate from '@comp/jero/JYearDate'
|
||||
import JUpload from '@comp/jero/JUpload'
|
||||
import CompanySelect from '@comp/company/CompanySelect'
|
||||
import ContactManagementModule from '@views/businessManagement/modules/ContactManagementModule'
|
||||
import SelectPrincipal from '@comp/company/SelectPrincipal'
|
||||
import SelectContacts from '@comp/company/SelectContacts'
|
||||
|
||||
export default {
|
||||
name: 'WorkingGroupMemberUnitModule',
|
||||
components: { JYearDate, JUpload, CompanySelect, ContactManagementModule, SelectPrincipal, SelectContacts },
|
||||
components: { JUpload, CompanySelect, SelectContacts },
|
||||
data() {
|
||||
return {
|
||||
title: '操作',
|
||||
@@ -413,12 +411,26 @@ export default {
|
||||
/**
|
||||
* 在新增成功后重新获取联系人列表
|
||||
*/
|
||||
addContactsOk() {
|
||||
this.$refs.selectContacts1.getContactsList()
|
||||
addContactsOneOk(){
|
||||
this.$refs.selectContacts2.getContactsList()
|
||||
this.$refs.selectContacts3.getContactsList()
|
||||
this.$refs.selectMailContacts.getContactsList()
|
||||
},
|
||||
addContactsTwoOk(){
|
||||
this.$refs.selectContacts1.getContactsList()
|
||||
this.$refs.selectContacts3.getContactsList()
|
||||
this.$refs.selectMailContacts.getContactsList()
|
||||
},
|
||||
addContactsThreeOk(){
|
||||
this.$refs.selectContacts1.getContactsList()
|
||||
this.$refs.selectContacts2.getContactsList()
|
||||
this.$refs.selectMailContacts.getContactsList()
|
||||
},
|
||||
addMailContactsOk(){
|
||||
this.$refs.selectContacts1.getContactsList()
|
||||
this.$refs.selectContacts2.getContactsList()
|
||||
this.$refs.selectContacts3.getContactsList()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<a-row>
|
||||
<a-col :span="24">
|
||||
<a-form-item label="工作组项目" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||
<a-input placeholder="请输入项目名称"
|
||||
<a-input placeholder="请输入工作组项目"
|
||||
v-decorator="['workingGroupProject',validatorRules.workingGroupProject]"
|
||||
:maxLength='50'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
@@ -70,10 +70,10 @@
|
||||
<a-form-item label="本年应收款A" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-row>
|
||||
<a-col :span="20">
|
||||
<a-input placeholder="请输入金额"
|
||||
<a-input placeholder="请输入本年应收款A"
|
||||
v-decorator="['yearChargeA']"
|
||||
:maxLength='50'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
@change="(e) => {e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()}"></a-input>
|
||||
</a-col>
|
||||
<a-col :span="4">元/人</a-col>
|
||||
</a-row>
|
||||
@@ -106,10 +106,10 @@
|
||||
<a-form-item label="本年应收款B" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-row>
|
||||
<a-col :span="20">
|
||||
<a-input placeholder="请输入金额"
|
||||
<a-input placeholder="请输入本年应收款B"
|
||||
v-decorator="['yearChargeB']"
|
||||
:maxLength='50'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
@change="(e) => {e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()}"></a-input>
|
||||
</a-col>
|
||||
<a-col :span="4">元/人</a-col>
|
||||
</a-row>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
import Result from './Result'
|
||||
|
||||
export default {
|
||||
name: "Error",
|
||||
name: 'Error',
|
||||
components: {
|
||||
Result
|
||||
},
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "Result",
|
||||
name: 'Result',
|
||||
// 'isSuccess', 'title', 'description'
|
||||
props: {
|
||||
isSuccess: {
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
}
|
||||
|
||||
export default {
|
||||
name: "Success",
|
||||
name: 'Success',
|
||||
components: {
|
||||
Result
|
||||
},
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
import { mixinDevice } from '@/utils/mixin'
|
||||
import { JeroListMixin } from '@/mixins/JeroListMixin'
|
||||
import SysConfusionModal from './modules/SysConfusionModal'
|
||||
import JEllipsis from "@comp/jero/JEllipsis";
|
||||
import JEllipsis from '@comp/jero/JEllipsis'
|
||||
|
||||
export default {
|
||||
name: 'SysConfusionList',
|
||||
@@ -126,44 +126,44 @@
|
||||
dataIndex: '',
|
||||
key:'rowIndex',
|
||||
width:60,
|
||||
align:"center",
|
||||
align:'center',
|
||||
customRender:function (t,r,index) {
|
||||
return parseInt(index)+1;
|
||||
return parseInt(index)+1
|
||||
}
|
||||
},
|
||||
{
|
||||
title:'表名',
|
||||
align:"center",
|
||||
align:'center',
|
||||
dataIndex: 'tableName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title:'字段名',
|
||||
align:"center",
|
||||
align:'center',
|
||||
dataIndex: 'fieldName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title:'混淆码',
|
||||
align:"center",
|
||||
align:'center',
|
||||
dataIndex: 'confusionCode',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align:"center",
|
||||
fixed:"right",
|
||||
align:'center',
|
||||
fixed:'right',
|
||||
width:147,
|
||||
scopedSlots: { customRender: 'action' }
|
||||
}
|
||||
],
|
||||
url: {
|
||||
list: "/sys/confusion/page",
|
||||
delete: "/sys/confusion/delete",
|
||||
deleteBatch: "/sys/confusion/deleteBatch",
|
||||
exportXlsUrl: "/sys/confusion/exportXls",
|
||||
importExcelUrl: "/sys/confusion/importExcel",
|
||||
list: '/sys/confusion/page',
|
||||
delete: '/sys/confusion/delete',
|
||||
deleteBatch: '/sys/confusion/deleteBatch',
|
||||
exportXlsUrl: '/sys/confusion/exportXls',
|
||||
importExcelUrl: '/sys/confusion/importExcel',
|
||||
|
||||
},
|
||||
dictOptions:{},
|
||||
@@ -171,18 +171,18 @@
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getSuperFieldList();
|
||||
this.getSuperFieldList()
|
||||
},
|
||||
computed: {
|
||||
importExcelUrl: function(){
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
initDictConfig(){
|
||||
},
|
||||
getSuperFieldList(){
|
||||
let fieldList=[];
|
||||
let fieldList=[]
|
||||
fieldList.push({type:'string',value:'confusionType',text:'混淆类型',dictCode:''})
|
||||
fieldList.push({type:'string',value:'confusionName',text:'表名或字段名',dictCode:''})
|
||||
this.superFieldList = fieldList
|
||||
|
||||
@@ -173,7 +173,7 @@ import {queryDepartTreeList, searchByKeywords, deleteByDepartId} from '@/api/api
|
||||
import {httpAction, deleteAction} from '@/api/manage'
|
||||
import {JeroListMixin} from '@/mixins/JeroListMixin'
|
||||
import DepartAuthModal from './modules/DepartAuthModal'
|
||||
import {checkDepartName} from "@/utils/validateOnly";
|
||||
import {checkDepartName} from '@/utils/validateOnly'
|
||||
// 表头
|
||||
const columns = [
|
||||
{
|
||||
@@ -251,7 +251,7 @@ export default {
|
||||
checkStrictly: true,
|
||||
form: this.$form.createForm(this),
|
||||
// 当前树选中的部门id
|
||||
currentDepartSelectedId:"",
|
||||
currentDepartSelectedId:'',
|
||||
labelCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 5}
|
||||
@@ -274,20 +274,20 @@ export default {
|
||||
delete: '/sys/sysDepart/delete',
|
||||
edit: '/sys/sysDepart/edit',
|
||||
deleteBatch: '/sys/sysDepart/deleteBatch',
|
||||
exportXlsUrl: "sys/sysDepart/exportXls",
|
||||
importExcelUrl: "sys/sysDepart/importExcel",
|
||||
exportXlsUrl: 'sys/sysDepart/exportXls',
|
||||
importExcelUrl: 'sys/sysDepart/importExcel',
|
||||
},
|
||||
orgCategoryDisabled:false,
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
importExcelUrl: function () {
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
loadData() {
|
||||
this.refresh();
|
||||
this.refresh()
|
||||
},
|
||||
loadTree() {
|
||||
var that = this
|
||||
@@ -296,13 +296,13 @@ export default {
|
||||
queryDepartTreeList().then((res) => {
|
||||
if (res.success) {
|
||||
//部门全选后,再添加部门,选中数量增多
|
||||
this.allTreeKeys = [];
|
||||
this.allTreeKeys = []
|
||||
for (let i = 0; i < res.result.length; i++) {
|
||||
let temp = res.result[i]
|
||||
that.treeData.push(temp)
|
||||
that.departTree.push(temp)
|
||||
that.setThisExpandedKeys(temp)
|
||||
that.getAllKeys(temp);
|
||||
that.getAllKeys(temp)
|
||||
// console.log(temp.id)
|
||||
}
|
||||
this.loading = false
|
||||
@@ -412,7 +412,7 @@ export default {
|
||||
//this.checkedKeys = checkedKeys.checked
|
||||
// <!---- author:os_chengtgen -- date:20190827 -- for:切换父子勾选模式 =======------>
|
||||
if(this.checkStrictly){
|
||||
this.checkedKeys = checkedKeys.checked;
|
||||
this.checkedKeys = checkedKeys.checked
|
||||
}else{
|
||||
this.checkedKeys = checkedKeys
|
||||
}
|
||||
@@ -451,9 +451,9 @@ export default {
|
||||
this.currentDepartSelectedId = record.id
|
||||
|
||||
if(record.orgCategory == '1'){
|
||||
this.orgCategoryDisabled = true;
|
||||
this.orgCategoryDisabled = true
|
||||
}else{
|
||||
this.orgCategoryDisabled = false;
|
||||
this.orgCategoryDisabled = false
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.form.getFieldDecorator('fax', {initialValue: ''})
|
||||
@@ -549,11 +549,11 @@ export default {
|
||||
deleteByDepartId({id: that.rightClickSelectedKey}).then((resp) => {
|
||||
if (resp.success) {
|
||||
//删除成功后,去除已选中中的数据
|
||||
that.checkedKeys.splice(that.checkedKeys.findIndex(key => key === that.rightClickSelectedKey), 1);
|
||||
that.checkedKeys.splice(that.checkedKeys.findIndex(key => key === that.rightClickSelectedKey), 1)
|
||||
that.$message.success('删除成功!')
|
||||
that.loadTree()
|
||||
//删除后同步清空右侧基本信息内容
|
||||
let orgCode=that.form.getFieldValue("orgCode");
|
||||
let orgCode=that.form.getFieldValue('orgCode')
|
||||
if(orgCode && orgCode === that.rightClickSelectedOrgCode){
|
||||
that.onClearSelected()
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
nodes: [],
|
||||
edges: []
|
||||
},
|
||||
userIdentity:"",
|
||||
userIdentity:'',
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -104,14 +104,14 @@
|
||||
//console.log(key)
|
||||
},
|
||||
loadData() {
|
||||
this.refresh();
|
||||
this.refresh()
|
||||
},
|
||||
clearSelectedDepartKeys() {
|
||||
this.checkedKeys = [];
|
||||
this.selectedKeys = [];
|
||||
this.currentDeptId = '';
|
||||
this.$refs.DeptUserInfo.currentDeptId='';
|
||||
this.$refs.DeptRoleInfo.currentDeptId='';
|
||||
this.checkedKeys = []
|
||||
this.selectedKeys = []
|
||||
this.currentDeptId = ''
|
||||
this.$refs.DeptUserInfo.currentDeptId=''
|
||||
this.$refs.DeptRoleInfo.currentDeptId=''
|
||||
},
|
||||
loadTree() {
|
||||
var that = this
|
||||
@@ -176,16 +176,16 @@
|
||||
|
||||
},
|
||||
onCheck(checkedKeys, e) {
|
||||
let record = e.node.dataRef;
|
||||
let record = e.node.dataRef
|
||||
// console.log('onCheck', checkedKeys, e);
|
||||
this.checkedKeys = [];
|
||||
this.checkedKeys = []
|
||||
// if (e.checked === true) {
|
||||
this.currentDeptId = record.id;
|
||||
this.checkedKeys.push(record.id);
|
||||
this.currentDeptId = record.id
|
||||
this.checkedKeys.push(record.id)
|
||||
|
||||
this.$refs.DeptBaseInfo.open(record);
|
||||
this.$refs.DeptUserInfo.open(record);
|
||||
this.$refs.DeptRoleInfo.open(record);
|
||||
this.$refs.DeptBaseInfo.open(record)
|
||||
this.$refs.DeptUserInfo.open(record)
|
||||
this.$refs.DeptRoleInfo.open(record)
|
||||
// }
|
||||
// else {
|
||||
// this.checkedKeys = [];
|
||||
@@ -193,20 +193,20 @@
|
||||
// this.$refs.DeptUserInfo.clearList();
|
||||
// }
|
||||
|
||||
this.hiding = false;
|
||||
this.hiding = false
|
||||
// this.checkedKeys = checkedKeys.checked
|
||||
},
|
||||
onSelect(selectedKeys, e) {
|
||||
if (this.selectedKeys[0] !== selectedKeys[0]) {
|
||||
this.selectedKeys = [selectedKeys[0]];
|
||||
this.selectedKeys = [selectedKeys[0]]
|
||||
}
|
||||
let record = e.node.dataRef;
|
||||
this.checkedKeys.push(record.id);
|
||||
this.$refs.DeptBaseInfo.open(record);
|
||||
this.$refs.DeptUserInfo.onClearSelected();
|
||||
this.$refs.DeptUserInfo.open(record);
|
||||
this.$refs.DeptRoleInfo.onClearSelected();
|
||||
this.$refs.DeptRoleInfo.open(record);
|
||||
let record = e.node.dataRef
|
||||
this.checkedKeys.push(record.id)
|
||||
this.$refs.DeptBaseInfo.open(record)
|
||||
this.$refs.DeptUserInfo.onClearSelected()
|
||||
this.$refs.DeptUserInfo.open(record)
|
||||
this.$refs.DeptRoleInfo.onClearSelected()
|
||||
this.$refs.DeptRoleInfo.open(record)
|
||||
},
|
||||
},
|
||||
created() {
|
||||
|
||||
@@ -35,9 +35,9 @@
|
||||
|
||||
<script>
|
||||
import { getAction, putAction ,postAction} from '@api/manage'
|
||||
import JEllipsis from "@comp/jero/JEllipsis";
|
||||
import JEllipsis from '@comp/jero/JEllipsis'
|
||||
export default {
|
||||
name: "DictDeleteList",
|
||||
name: 'DictDeleteList',
|
||||
components:{
|
||||
JEllipsis
|
||||
},
|
||||
@@ -55,33 +55,33 @@
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 120,
|
||||
align: "center",
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1;
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '字典名称',
|
||||
align: "left",
|
||||
align: 'left',
|
||||
dataIndex: 'dictName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '字典编号',
|
||||
align: "left",
|
||||
align: 'left',
|
||||
dataIndex: 'dictCode',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '描述',
|
||||
align: "left",
|
||||
align: 'left',
|
||||
dataIndex: 'description',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
scopedSlots: {customRender: 'action'}
|
||||
}
|
||||
]
|
||||
@@ -92,15 +92,15 @@
|
||||
handleCancel(){
|
||||
this.visible = false
|
||||
//回收站字典列表刷新
|
||||
this.$emit("refresh")
|
||||
this.$emit('refresh')
|
||||
},
|
||||
show(){
|
||||
this.visible = true
|
||||
this.loadData();
|
||||
this.loadData()
|
||||
},
|
||||
loadData(){
|
||||
this.loading = true
|
||||
getAction("/sys/dict/deleteList").then(res=>{
|
||||
getAction('/sys/dict/deleteList').then(res=>{
|
||||
this.loading = false
|
||||
if(res.success){
|
||||
this.dataSource = res.result
|
||||
@@ -110,10 +110,10 @@
|
||||
})
|
||||
},
|
||||
handleBack(id){
|
||||
postAction("/sys/dict/back/"+id).then(res=>{
|
||||
postAction('/sys/dict/back/'+id).then(res=>{
|
||||
if(res.success){
|
||||
this.$message.success(res.message)
|
||||
this.loadData();
|
||||
this.loadData()
|
||||
}else{
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
@@ -128,15 +128,15 @@
|
||||
</div>),
|
||||
centered: false,
|
||||
onOk: () => {
|
||||
var that = this;
|
||||
getAction("/sys/dict/deletePhysic/"+id).then((res) => {
|
||||
var that = this
|
||||
getAction('/sys/dict/deletePhysic/'+id).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(res.message)
|
||||
this.loadData();
|
||||
this.loadData()
|
||||
} else {
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
@@ -83,13 +83,13 @@
|
||||
|
||||
<script>
|
||||
import pick from 'lodash.pick'
|
||||
import {filterObj} from '@/utils/util';
|
||||
import {filterObj} from '@/utils/util'
|
||||
import DictItemModal from './modules/DictItemModal'
|
||||
import {JeroListMixin} from '@/mixins/JeroListMixin'
|
||||
import JEllipsis from "@comp/jero/JEllipsis";
|
||||
import JEllipsis from '@comp/jero/JEllipsis'
|
||||
|
||||
export default {
|
||||
name: "DictItemList",
|
||||
name: 'DictItemList',
|
||||
mixins: [JeroListMixin],
|
||||
components: {DictItemModal,JEllipsis},
|
||||
data() {
|
||||
@@ -97,35 +97,35 @@
|
||||
columns: [
|
||||
{
|
||||
title: '名称',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'itemText',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '数据值',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'itemValue',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
scopedSlots: {customRender: 'action'},
|
||||
}
|
||||
],
|
||||
queryParam: {
|
||||
dictId: "",
|
||||
dictName: "",
|
||||
itemText: "",
|
||||
delFlag: "1",
|
||||
dictId: '',
|
||||
dictName: '',
|
||||
itemText: '',
|
||||
delFlag: '1',
|
||||
status: [],
|
||||
},
|
||||
title: "操作",
|
||||
title: '操作',
|
||||
visible: false,
|
||||
screenWidth: 800,
|
||||
model: {},
|
||||
dictId: "",
|
||||
dictId: '',
|
||||
status: 1,
|
||||
labelCol: {
|
||||
xs: {span: 5},
|
||||
@@ -141,81 +141,81 @@
|
||||
itemValue: {rules: [{required: true, message: '请输入数据值!'}]},
|
||||
},
|
||||
url: {
|
||||
list: "/sys/dictItem/page",
|
||||
delete: "/sys/dictItem/delete",
|
||||
deleteBatch: "/sys/dictItem/deleteBatch",
|
||||
list: '/sys/dictItem/page',
|
||||
delete: '/sys/dictItem/delete',
|
||||
deleteBatch: '/sys/dictItem/deleteBatch',
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// 当页面初始化时,根据屏幕大小来给抽屉设置宽度
|
||||
this.resetScreenSize();
|
||||
this.resetScreenSize()
|
||||
},
|
||||
methods: {
|
||||
add(dictId) {
|
||||
this.dictId = dictId;
|
||||
this.edit({});
|
||||
this.dictId = dictId
|
||||
this.edit({})
|
||||
},
|
||||
edit(record) {
|
||||
if (record.id) {
|
||||
this.dictId = record.id;
|
||||
this.dictId = record.id
|
||||
}
|
||||
this.queryParam = {}
|
||||
this.form.resetFields();
|
||||
this.model = Object.assign({}, record);
|
||||
this.model.dictId = this.dictId;
|
||||
this.model.status = this.status;
|
||||
this.visible = true;
|
||||
this.form.resetFields()
|
||||
this.model = Object.assign({}, record)
|
||||
this.model.dictId = this.dictId
|
||||
this.model.status = this.status
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(this.model, 'itemText', 'itemValue'))
|
||||
});
|
||||
})
|
||||
// 当其它模块调用该模块时,调用此方法加载字典数据
|
||||
this.loadData();
|
||||
this.loadData()
|
||||
},
|
||||
|
||||
getQueryParams() {
|
||||
//update--begin--autor:wangshuai-----date:20191204------for:清空总条数 teambition JT-113------
|
||||
this.ipagination.total=0;
|
||||
this.ipagination.total=0
|
||||
//update--end--autor:wangshuai-----date:20191204------for:清空总条数 teambition JT-113------
|
||||
var param = Object.assign({}, this.lastQueryParam);
|
||||
param.dictId = this.dictId;
|
||||
param.field = this.getQueryField();
|
||||
param.pageNo = this.ipagination.current;
|
||||
param.pageSize = this.ipagination.pageSize;
|
||||
var param = Object.assign({}, this.lastQueryParam)
|
||||
param.dictId = this.dictId
|
||||
param.field = this.getQueryField()
|
||||
param.pageNo = this.ipagination.current
|
||||
param.pageSize = this.ipagination.pageSize
|
||||
if (this.superQueryParams) {
|
||||
param['superQueryParams'] = encodeURI(this.superQueryParams)
|
||||
param['superQueryMatchType'] = this.superQueryMatchType
|
||||
}
|
||||
return filterObj(param);
|
||||
return filterObj(param)
|
||||
},
|
||||
|
||||
// 添加字典数据
|
||||
handleAdd() {
|
||||
this.$refs.modalForm.add(this.dictId);
|
||||
this.$refs.modalForm.title = "新增";
|
||||
this.$refs.modalForm.add(this.dictId)
|
||||
this.$refs.modalForm.title = '新增'
|
||||
},
|
||||
showDrawer() {
|
||||
this.visible = true
|
||||
},
|
||||
onClose() {
|
||||
this.visible = false
|
||||
this.form.resetFields();
|
||||
this.dataSource = [];
|
||||
this.form.resetFields()
|
||||
this.dataSource = []
|
||||
},
|
||||
// 抽屉的宽度随着屏幕大小来改变
|
||||
resetScreenSize() {
|
||||
let screenWidth = document.body.clientWidth;
|
||||
let screenWidth = document.body.clientWidth
|
||||
if (screenWidth < 600) {
|
||||
this.screenWidth = screenWidth;
|
||||
this.screenWidth = screenWidth
|
||||
} else {
|
||||
this.screenWidth = 600;
|
||||
this.screenWidth = 600
|
||||
}
|
||||
},
|
||||
//update--begin--autor:wangshuai-----date:20191204------for:系统管理 数据字典禁用和正常区别开,添加背景颜色 teambition JT-22------
|
||||
//增加样式方法返回值
|
||||
getRowClassname(record){
|
||||
if(record.status==0){
|
||||
return "data-rule-invalid"
|
||||
return 'data-rule-invalid'
|
||||
}
|
||||
}
|
||||
//update--end--autor:wangshuai-----date:20191204------for:系统管理 数据字典禁用和正常区别开,添加背景颜色 teambition JT-22------
|
||||
|
||||
@@ -70,18 +70,18 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { filterObj } from '@/utils/util';
|
||||
import { filterObj } from '@/utils/util'
|
||||
import { JeroListMixin } from '@/mixins/JeroListMixin'
|
||||
import DictModal from './modules/DictModal'
|
||||
import DictItemList from './DictItemList'
|
||||
import DictDeleteList from './DictDeleteList'
|
||||
import { getAction } from '@api/manage'
|
||||
import { UI_CACHE_DB_DICT_DATA } from "@/store/mutation-types"
|
||||
import { UI_CACHE_DB_DICT_DATA } from '@/store/mutation-types'
|
||||
import Vue from 'vue'
|
||||
import JEllipsis from "@comp/jero/JEllipsis";
|
||||
import JEllipsis from '@comp/jero/JEllipsis'
|
||||
|
||||
export default {
|
||||
name: "DictList",
|
||||
name: 'DictList',
|
||||
mixins:[JeroListMixin],
|
||||
components: {DictModal, DictItemList,DictDeleteList,JEllipsis},
|
||||
data() {
|
||||
@@ -90,8 +90,8 @@
|
||||
visible: false,
|
||||
// 查询条件
|
||||
queryParam: {
|
||||
dictCode: "",
|
||||
dictName: "",
|
||||
dictCode: '',
|
||||
dictName: '',
|
||||
},
|
||||
// 表头
|
||||
columns: [
|
||||
@@ -100,37 +100,37 @@
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 120,
|
||||
align: "center",
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1;
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '字典名称',
|
||||
align: "left",
|
||||
align: 'left',
|
||||
dataIndex: 'dictName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '字典编号',
|
||||
align: "left",
|
||||
align: 'left',
|
||||
dataIndex: 'dictCode',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '描述',
|
||||
align: "left",
|
||||
align: 'left',
|
||||
dataIndex: 'description',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
scopedSlots: {customRender: 'action'},
|
||||
}
|
||||
],
|
||||
dict: "",
|
||||
dict: '',
|
||||
labelCol: {
|
||||
xs: {span: 8},
|
||||
sm: {span: 5},
|
||||
@@ -140,18 +140,18 @@
|
||||
sm: {span: 19},
|
||||
},
|
||||
url: {
|
||||
list: "/sys/dict/page",
|
||||
delete: "/sys/dict/delete",
|
||||
exportXlsUrl: "sys/dict/exportXls",
|
||||
importExcelUrl: "sys/dict/importExcel",
|
||||
refleshCache: "sys/dict/refleshCache",
|
||||
queryAllDictItems: "sys/dict/queryAllDictItems",
|
||||
list: '/sys/dict/page',
|
||||
delete: '/sys/dict/delete',
|
||||
exportXlsUrl: 'sys/dict/exportXls',
|
||||
importExcelUrl: 'sys/dict/importExcel',
|
||||
refleshCache: 'sys/dict/refleshCache',
|
||||
queryAllDictItems: 'sys/dict/queryAllDictItems',
|
||||
},
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
importExcelUrl: function () {
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -168,13 +168,13 @@
|
||||
// },
|
||||
//取消选择
|
||||
cancelDict() {
|
||||
this.dict = "";
|
||||
this.visible = false;
|
||||
this.loadData();
|
||||
this.dict = ''
|
||||
this.visible = false
|
||||
this.loadData()
|
||||
},
|
||||
//编辑字典数据
|
||||
editDictItem(record) {
|
||||
this.$refs.dictItemList.edit(record);
|
||||
this.$refs.dictItemList.edit(record)
|
||||
},
|
||||
// 重置字典类型搜索框的内容
|
||||
// searchReset() {
|
||||
@@ -196,11 +196,11 @@
|
||||
Vue.ls.set(UI_CACHE_DB_DICT_DATA, res.result, 7 * 24 * 60 * 60 * 1000)
|
||||
}
|
||||
})
|
||||
this.$message.success("刷新缓存完成!");
|
||||
this.$message.success('刷新缓存完成!')
|
||||
}
|
||||
}).catch(e=>{
|
||||
this.$message.warn("刷新缓存失败!");
|
||||
console.log("刷新失败",e)
|
||||
this.$message.warn('刷新缓存失败!')
|
||||
console.log('刷新失败',e)
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
@@ -73,12 +73,12 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { filterObj } from '@/utils/util';
|
||||
import { filterObj } from '@/utils/util'
|
||||
import { JeroListMixin } from '@/mixins/JeroListMixin'
|
||||
import JEllipsis from '@/components/jero/JEllipsis'
|
||||
|
||||
export default {
|
||||
name: "LogList",
|
||||
name: 'LogList',
|
||||
mixins:[JeroListMixin],
|
||||
components: {
|
||||
JEllipsis
|
||||
@@ -93,21 +93,21 @@
|
||||
logType:'1',
|
||||
keyWord:'',
|
||||
},
|
||||
tabKey: "1",
|
||||
tabKey: '1',
|
||||
// 表头
|
||||
columns: [
|
||||
{
|
||||
title: '序号',
|
||||
dataIndex: '',
|
||||
key:'rowIndex',
|
||||
align:"center",
|
||||
align:'center',
|
||||
customRender:function (t,r,index) {
|
||||
return parseInt(index)+1;
|
||||
return parseInt(index)+1
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '日志内容',
|
||||
align:"left",
|
||||
align:'left',
|
||||
dataIndex: 'logContent',
|
||||
scopedSlots: { customRender: 'logContent' },
|
||||
sorter: true
|
||||
@@ -115,25 +115,25 @@
|
||||
{
|
||||
title: '操作人ID',
|
||||
dataIndex: 'userid',
|
||||
align:"center",
|
||||
align:'center',
|
||||
sorter: true
|
||||
},
|
||||
{
|
||||
title: '操作人名称',
|
||||
dataIndex: 'username',
|
||||
align:"center",
|
||||
align:'center',
|
||||
sorter: true
|
||||
},
|
||||
{
|
||||
title: 'IP',
|
||||
dataIndex: 'ip',
|
||||
align:"center",
|
||||
align:'center',
|
||||
sorter: true
|
||||
},
|
||||
{
|
||||
title: '耗时(毫秒)',
|
||||
dataIndex: 'costTime',
|
||||
align:"center",
|
||||
align:'center',
|
||||
sorter: true
|
||||
},
|
||||
{
|
||||
@@ -148,12 +148,12 @@
|
||||
return text;
|
||||
}
|
||||
},*/
|
||||
align:"center",
|
||||
align:'center',
|
||||
},
|
||||
{
|
||||
title: '创建时间',
|
||||
dataIndex: 'createTime',
|
||||
align:"center",
|
||||
align:'center',
|
||||
sorter: true
|
||||
}
|
||||
],
|
||||
@@ -161,7 +161,7 @@
|
||||
{
|
||||
title: '操作类型',
|
||||
dataIndex: 'operateType_dictText',
|
||||
align:"center",
|
||||
align:'center',
|
||||
},
|
||||
labelCol: {
|
||||
xs: { span: 1 },
|
||||
@@ -172,59 +172,59 @@
|
||||
sm: { span: 16 },
|
||||
},
|
||||
url: {
|
||||
list: "/sys/log/page",
|
||||
list: '/sys/log/page',
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getQueryParams(){
|
||||
var param = Object.assign({}, this.lastQueryParam,this.isorter,{logType:this.tabKey});
|
||||
param.field = this.getQueryField();
|
||||
param.pageNo = this.ipagination.current;
|
||||
param.pageSize = this.ipagination.pageSize;
|
||||
delete param.createTimeRange; // 时间参数不传递后台
|
||||
var param = Object.assign({}, this.lastQueryParam,this.isorter,{logType:this.tabKey})
|
||||
param.field = this.getQueryField()
|
||||
param.pageNo = this.ipagination.current
|
||||
param.pageSize = this.ipagination.pageSize
|
||||
delete param.createTimeRange // 时间参数不传递后台
|
||||
if (this.superQueryParams) {
|
||||
param['superQueryParams'] = encodeURI(this.superQueryParams)
|
||||
param['superQueryMatchType'] = this.superQueryMatchType
|
||||
}
|
||||
return filterObj(param);
|
||||
return filterObj(param)
|
||||
},
|
||||
|
||||
// 重置
|
||||
searchReset(){
|
||||
var that = this;
|
||||
var logType = that.queryParam.logType;
|
||||
that.queryParam = {}; //清空查询区域参数
|
||||
that.queryParam.logType = logType;
|
||||
var that = this
|
||||
var logType = that.queryParam.logType
|
||||
that.queryParam = {} //清空查询区域参数
|
||||
that.queryParam.logType = logType
|
||||
that.lastQueryParam = Object.assign({},this.queryParam)
|
||||
that.loadData(1);
|
||||
that.loadData(1)
|
||||
},
|
||||
// 日志类型
|
||||
callback(key){
|
||||
|
||||
// 动态添加操作类型列
|
||||
if (key == 2) {
|
||||
this.tabKey = '2';
|
||||
this.columns.splice(7, 0, this.operateColumn);
|
||||
this.tabKey = '2'
|
||||
this.columns.splice(7, 0, this.operateColumn)
|
||||
}else if(this.columns.length == 9)
|
||||
{
|
||||
this.tabKey = '1';
|
||||
this.columns.splice(7,1);
|
||||
this.tabKey = '1'
|
||||
this.columns.splice(7,1)
|
||||
}
|
||||
|
||||
let that=this;
|
||||
let that=this
|
||||
that.queryParam = {}
|
||||
that.queryParam.logType=key;
|
||||
that.queryParam.logType=key
|
||||
that.lastQueryParam =Object.assign({},this.queryParam)
|
||||
that.loadData();
|
||||
that.loadData()
|
||||
},
|
||||
onDateChange: function (value, dateString) {
|
||||
console.log(dateString[0],dateString[1]);
|
||||
this.queryParam.createTime_begin=dateString[0];
|
||||
this.queryParam.createTime_end=dateString[1];
|
||||
console.log(dateString[0],dateString[1])
|
||||
this.queryParam.createTime_begin=dateString[0]
|
||||
this.queryParam.createTime_end=dateString[1]
|
||||
},
|
||||
onDateOk(value) {
|
||||
console.log(value);
|
||||
console.log(value)
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,8 +107,8 @@
|
||||
form: this.$form.createForm(this),
|
||||
loading: false,
|
||||
url: {
|
||||
list: "/sys/permission/getPermRuleListByPermId",
|
||||
delete: "/sys/permission/deletePermissionRule",
|
||||
list: '/sys/permission/getPermRuleListByPermId',
|
||||
delete: '/sys/permission/deletePermissionRule',
|
||||
},
|
||||
}
|
||||
},
|
||||
@@ -146,8 +146,8 @@
|
||||
this.$refs.modalForm.title = '新增'
|
||||
},
|
||||
searchQuery() {
|
||||
var params = this.getQueryParams();
|
||||
params.permissionId = this.permId;
|
||||
var params = this.getQueryParams()
|
||||
params.permissionId = this.permId
|
||||
queryPermissionRule(params).then((res) => {
|
||||
if (res.success) {
|
||||
this.dataSource = res.result
|
||||
@@ -157,7 +157,7 @@
|
||||
searchReset() {
|
||||
this.queryParam = {}
|
||||
this.queryParam.permissionId = this.permId
|
||||
this.loadData(1);
|
||||
this.loadData(1)
|
||||
},
|
||||
onClose() {
|
||||
this.visible = false
|
||||
@@ -173,7 +173,7 @@
|
||||
},
|
||||
getRowClassname(record){
|
||||
if(record.status!=1){
|
||||
return "data-rule-invalid"
|
||||
return 'data-rule-invalid'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -179,10 +179,10 @@
|
||||
this.$refs.PermissionDataRuleList.edit(record)
|
||||
},
|
||||
handleAddSub(record) {
|
||||
this.$refs.modalForm.title = "添加子菜单";
|
||||
this.$refs.modalForm.localMenuType = 1;
|
||||
this.$refs.modalForm.disableSubmit = false;
|
||||
this.$refs.modalForm.edit({status:'1',permsType:'1',route:true,'parentId':record.id});
|
||||
this.$refs.modalForm.title = '添加子菜单'
|
||||
this.$refs.modalForm.localMenuType = 1
|
||||
this.$refs.modalForm.disableSubmit = false
|
||||
this.$refs.modalForm.edit({status:'1',permsType:'1',route:true,'parentId':record.id})
|
||||
},
|
||||
handleExpandedRowsChange(expandedRows) {
|
||||
this.expandedRowKeys = expandedRows
|
||||
|
||||
@@ -120,10 +120,10 @@
|
||||
import QuartzJobModal from './modules/QuartzJobModal'
|
||||
import {getAction} from '@/api/manage'
|
||||
import {JeroListMixin} from '@/mixins/JeroListMixin'
|
||||
import JEllipsis from "@/components/jero/JEllipsis";
|
||||
import JEllipsis from '@/components/jero/JEllipsis'
|
||||
|
||||
export default {
|
||||
name: "QuartzJobList",
|
||||
name: 'QuartzJobList',
|
||||
mixins: [JeroListMixin],
|
||||
components: {
|
||||
QuartzJobModal,
|
||||
@@ -141,14 +141,14 @@ export default {
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: "center",
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1;
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '任务类名',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'jobClassName',
|
||||
sorter: true,
|
||||
/* customRender:function (text) {
|
||||
@@ -157,26 +157,26 @@ export default {
|
||||
},
|
||||
{
|
||||
title: 'cron表达式',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'cronExpression'
|
||||
},
|
||||
{
|
||||
title: '参数',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 150,
|
||||
dataIndex: 'parameter',
|
||||
scopedSlots: {customRender: 'parameterRender'},
|
||||
},
|
||||
{
|
||||
title: '描述',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 250,
|
||||
dataIndex: 'description',
|
||||
scopedSlots: {customRender: 'description'},
|
||||
},
|
||||
{
|
||||
title: '状态',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'status',
|
||||
scopedSlots: {customRender: 'customRenderStatus'},
|
||||
filterMultiple: false,
|
||||
@@ -188,26 +188,26 @@ export default {
|
||||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 180,
|
||||
scopedSlots: {customRender: 'action'},
|
||||
}
|
||||
],
|
||||
url: {
|
||||
list: "/sys/quartzJob/page",
|
||||
delete: "/sys/quartzJob/delete",
|
||||
deleteBatch: "/sys/quartzJob/deleteBatch",
|
||||
pause: "/sys/quartzJob/pause",
|
||||
resume: "/sys/quartzJob/resume",
|
||||
exportXlsUrl: "sys/quartzJob/exportXls",
|
||||
importExcelUrl: "sys/quartzJob/importExcel",
|
||||
execute: "sys/quartzJob/execute"
|
||||
list: '/sys/quartzJob/page',
|
||||
delete: '/sys/quartzJob/delete',
|
||||
deleteBatch: '/sys/quartzJob/deleteBatch',
|
||||
pause: '/sys/quartzJob/pause',
|
||||
resume: '/sys/quartzJob/resume',
|
||||
exportXlsUrl: 'sys/quartzJob/exportXls',
|
||||
importExcelUrl: 'sys/quartzJob/importExcel',
|
||||
execute: 'sys/quartzJob/execute'
|
||||
},
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
importExcelUrl: function () {
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
|
||||
}
|
||||
},
|
||||
|
||||
@@ -218,71 +218,71 @@ export default {
|
||||
//分页、排序、筛选变化时触发
|
||||
//TODO 筛选
|
||||
if (Object.keys(sorter).length > 0) {
|
||||
this.isorter.column = sorter.field;
|
||||
this.isorter.order = "ascend" == sorter.order ? "asc" : "desc"
|
||||
this.isorter.column = sorter.field
|
||||
this.isorter.order = 'ascend' == sorter.order ? 'asc' : 'desc'
|
||||
}
|
||||
//这种筛选方式只支持单选
|
||||
this.filters.status = filters.status[0];
|
||||
this.ipagination = pagination;
|
||||
this.loadData();
|
||||
this.filters.status = filters.status[0]
|
||||
this.ipagination = pagination
|
||||
this.loadData()
|
||||
},
|
||||
pauseJob: function (record) {
|
||||
var that = this;
|
||||
var that = this
|
||||
//暂停定时任务
|
||||
this.$confirm({
|
||||
title: "确认暂停",
|
||||
content: "是否暂停选中任务?",
|
||||
title: '确认暂停',
|
||||
content: '是否暂停选中任务?',
|
||||
onOk: function () {
|
||||
getAction(that.url.pause, {jobClassName: record.jobClassName}).then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message);
|
||||
that.loadData();
|
||||
that.onClearSelected();
|
||||
that.$message.success(res.message)
|
||||
that.loadData()
|
||||
that.onClearSelected()
|
||||
} else {
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
},
|
||||
resumeJob: function (record) {
|
||||
var that = this;
|
||||
var that = this
|
||||
//恢复定时任务
|
||||
this.$confirm({
|
||||
title: "确认启动",
|
||||
content: "是否启动选中任务?",
|
||||
title: '确认启动',
|
||||
content: '是否启动选中任务?',
|
||||
onOk: function () {
|
||||
getAction(that.url.resume, {jobClassName: record.jobClassName}).then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message);
|
||||
that.loadData();
|
||||
that.onClearSelected();
|
||||
that.$message.success(res.message)
|
||||
that.loadData()
|
||||
that.onClearSelected()
|
||||
} else {
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
executeImmediately(record) {
|
||||
var that = this;
|
||||
var that = this
|
||||
//立即执行定时任务
|
||||
this.$confirm({
|
||||
title: "确认提示",
|
||||
content: "是否立即执行任务?",
|
||||
title: '确认提示',
|
||||
content: '是否立即执行任务?',
|
||||
onOk: function () {
|
||||
getAction(that.url.execute, {id: record.id}).then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message);
|
||||
that.loadData();
|
||||
that.onClearSelected();
|
||||
that.$message.success(res.message)
|
||||
that.loadData()
|
||||
that.onClearSelected()
|
||||
} else {
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,17 +57,17 @@
|
||||
</a-card>
|
||||
</template>
|
||||
<script>
|
||||
import {JeroListMixin} from "@/mixins/JeroListMixin";
|
||||
import {postAction, getAction} from "@/api/manage";
|
||||
import RoleModal from "./modules/RoleModal";
|
||||
import {filterObj} from "@/utils/util";
|
||||
import UserRoleModal from "./modules/UserRoleModal";
|
||||
import JEllipsis from "@comp/jero/JEllipsis";
|
||||
import moment from "moment";
|
||||
import {JeroListMixin} from '@/mixins/JeroListMixin'
|
||||
import {postAction, getAction} from '@/api/manage'
|
||||
import RoleModal from './modules/RoleModal'
|
||||
import {filterObj} from '@/utils/util'
|
||||
import UserRoleModal from './modules/UserRoleModal'
|
||||
import JEllipsis from '@comp/jero/JEllipsis'
|
||||
import moment from 'moment'
|
||||
|
||||
|
||||
export default {
|
||||
name: "RoleUserList",
|
||||
name: 'RoleUserList',
|
||||
mixins: [JeroListMixin],
|
||||
components: {
|
||||
UserRoleModal,
|
||||
@@ -79,28 +79,28 @@ export default {
|
||||
return {
|
||||
model1: {},
|
||||
model2: {},
|
||||
currentRoleId: "",
|
||||
currentRoleId: '',
|
||||
selectedRowKeys: [],
|
||||
expandedRowKeys: [],
|
||||
columns:
|
||||
[
|
||||
{
|
||||
title: "角色编码",
|
||||
align: "center",
|
||||
dataIndex: "roleCode",
|
||||
title: '角色编码',
|
||||
align: 'center',
|
||||
dataIndex: 'roleCode',
|
||||
width: 160,
|
||||
scopedSlots: {customRender: 'text'}
|
||||
},
|
||||
{
|
||||
title: "角色名称",
|
||||
align: "center",
|
||||
dataIndex: "roleName",
|
||||
title: '角色名称',
|
||||
align: 'center',
|
||||
dataIndex: 'roleName',
|
||||
scopedSlots: {customRender: 'text'}
|
||||
},
|
||||
{
|
||||
title: "上级角色",
|
||||
align: "center",
|
||||
dataIndex: "parentName",
|
||||
title: '上级角色',
|
||||
align: 'center',
|
||||
dataIndex: 'parentName',
|
||||
customRender(text) {
|
||||
if (text) {
|
||||
return text
|
||||
@@ -110,57 +110,57 @@ export default {
|
||||
}
|
||||
},
|
||||
{
|
||||
title: "创建时间",
|
||||
dataIndex: "createTime",
|
||||
align: "center",
|
||||
title: '创建时间',
|
||||
dataIndex: 'createTime',
|
||||
align: 'center',
|
||||
sorter: true,
|
||||
scopedSlots: {customRender: 'text'},
|
||||
customRender: (text) => {
|
||||
return moment(text).format("YYYY-MM-DD HH:mm:ss");
|
||||
return moment(text).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
},
|
||||
{
|
||||
title: "操作",
|
||||
dataIndex: "action",
|
||||
align: "center",
|
||||
scopedSlots: {customRender: "action"}
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
scopedSlots: {customRender: 'action'}
|
||||
}
|
||||
],
|
||||
url: {
|
||||
list: "/sys/role/treeListPage",
|
||||
delete: "/sys/role/delete",
|
||||
deleteBatch: "/sys/role/deleteBatch",
|
||||
list2: "/sys/user/userRoleList",
|
||||
addUserRole: "/sys/user/addSysUserRole",
|
||||
delete2: "/sys/user/deleteUserRole",
|
||||
deleteBatch2: "/sys/user/deleteUserRoleBatch",
|
||||
exportXlsUrl: "sys/role/exportXls",
|
||||
importExcelUrl: "sys/role/importExcel"
|
||||
list: '/sys/role/treeListPage',
|
||||
delete: '/sys/role/delete',
|
||||
deleteBatch: '/sys/role/deleteBatch',
|
||||
list2: '/sys/user/userRoleList',
|
||||
addUserRole: '/sys/user/addSysUserRole',
|
||||
delete2: '/sys/user/deleteUserRole',
|
||||
deleteBatch2: '/sys/user/deleteUserRoleBatch',
|
||||
exportXlsUrl: 'sys/role/exportXls',
|
||||
importExcelUrl: 'sys/role/importExcel'
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
importExcelUrl: function () {
|
||||
return `${window._CONFIG["domianURL"]}/${this.url.importExcelUrl}`;
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
selectOK(data) {
|
||||
let params = {};
|
||||
params.roleId = this.currentRoleId;
|
||||
params.userIdList = [];
|
||||
let params = {}
|
||||
params.roleId = this.currentRoleId
|
||||
params.userIdList = []
|
||||
for (var a = 0; a < data.length; a++) {
|
||||
params.userIdList.push(data[a]);
|
||||
params.userIdList.push(data[a])
|
||||
}
|
||||
console.log(params);
|
||||
console.log(params)
|
||||
postAction(this.url.addUserRole, params).then((res) => {
|
||||
if (res.success) {
|
||||
this.loadData2();
|
||||
this.$message.success(res.message);
|
||||
this.loadData2()
|
||||
this.$message.success(res.message)
|
||||
} else {
|
||||
this.$message.warning(res.message);
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
/*
|
||||
* 添加下级
|
||||
@@ -175,42 +175,42 @@ export default {
|
||||
return
|
||||
}
|
||||
// 将这行的角色id作为新建角色的的父级id
|
||||
this.$refs.modalForm.addLowerRole(this.selectedRowKeys[0]);
|
||||
this.$refs.modalForm.addLowerRole(this.selectedRowKeys[0])
|
||||
this.$refs.modalForm.title = '添加下级'
|
||||
},
|
||||
handleAddUserRole() {
|
||||
if (this.currentRoleId == "") {
|
||||
this.$message.warn("请选择一个角色!");
|
||||
if (this.currentRoleId == '') {
|
||||
this.$message.warn('请选择一个角色!')
|
||||
} else {
|
||||
this.$refs.selectUserModal.visible = true;
|
||||
this.$refs.selectUserModal.visible = true
|
||||
}
|
||||
},
|
||||
handleOpen(record) {
|
||||
this.rightcolval = 1;
|
||||
this.selectedRowKeys1 = [record.id];
|
||||
this.model1 = Object.assign({}, record);
|
||||
this.currentRoleId = record.id;
|
||||
this.onClearSelected2();
|
||||
this.loadData2();
|
||||
this.rightcolval = 1
|
||||
this.selectedRowKeys1 = [record.id]
|
||||
this.model1 = Object.assign({}, record)
|
||||
this.currentRoleId = record.id
|
||||
this.onClearSelected2()
|
||||
this.loadData2()
|
||||
},
|
||||
searchQuery2() {
|
||||
this.loadData2(1);
|
||||
this.loadData2(1)
|
||||
},
|
||||
searchReset2() {
|
||||
this.queryParam2 = {};
|
||||
this.loadData2(1);
|
||||
this.queryParam2 = {}
|
||||
this.loadData2(1)
|
||||
},
|
||||
/*
|
||||
* 授权
|
||||
* */
|
||||
handlePerssion(roleId) {
|
||||
this.$refs.modalUserRole.show(roleId);
|
||||
this.$refs.modalUserRole.show(roleId)
|
||||
},
|
||||
handleExpandedRowsChange(expandedRows) {
|
||||
this.expandedRowKeys = expandedRows
|
||||
},
|
||||
}
|
||||
};
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
import { deleteAction } from '@/api/manage'
|
||||
|
||||
export default {
|
||||
name: "SysCategoryList",
|
||||
name: 'SysCategoryList',
|
||||
mixins:[JeroListMixin],
|
||||
components: {
|
||||
SysCategoryModal
|
||||
@@ -73,33 +73,33 @@
|
||||
columns: [
|
||||
{
|
||||
title:'分类名称',
|
||||
align:"left",
|
||||
align:'left',
|
||||
dataIndex: 'name'
|
||||
},
|
||||
{
|
||||
title:'分类编码',
|
||||
align:"left",
|
||||
align:'left',
|
||||
dataIndex: 'code'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align:"center",
|
||||
align:'center',
|
||||
scopedSlots: { customRender: 'action' },
|
||||
}
|
||||
],
|
||||
url: {
|
||||
list: "/sys/category/rootList",
|
||||
childList: "/sys/category/childList",
|
||||
getChildListBatch: "/sys/category/getChildListBatch",
|
||||
delete: "/sys/category/delete",
|
||||
deleteBatch: "/sys/category/deleteBatch",
|
||||
exportXlsUrl: "/sys/category/exportXls",
|
||||
importExcelUrl: "sys/category/importExcel",
|
||||
list: '/sys/category/rootList',
|
||||
childList: '/sys/category/childList',
|
||||
getChildListBatch: '/sys/category/getChildListBatch',
|
||||
delete: '/sys/category/delete',
|
||||
deleteBatch: '/sys/category/deleteBatch',
|
||||
exportXlsUrl: '/sys/category/exportXls',
|
||||
importExcelUrl: 'sys/category/importExcel',
|
||||
},
|
||||
expandedRowKeys:[],
|
||||
hasChildrenField:"hasChild",
|
||||
pidField:"pid",
|
||||
hasChildrenField:'hasChild',
|
||||
pidField:'pid',
|
||||
dictOptions:{
|
||||
},
|
||||
subExpandedKeys:[],
|
||||
@@ -107,7 +107,7 @@
|
||||
},
|
||||
computed: {
|
||||
importExcelUrl(){
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
|
||||
},
|
||||
tableProps() {
|
||||
let _this = this
|
||||
@@ -164,7 +164,7 @@
|
||||
if (expanded) {
|
||||
this.expandedRowKeys.push(record.id)
|
||||
if (record.children.length>0 && record.children[0].isLoading === true) {
|
||||
let params = this.getQueryParams();//查询条件
|
||||
let params = this.getQueryParams()//查询条件
|
||||
params[this.pidField] = record.id
|
||||
getAction(this.url.childList,params).then((res)=>{
|
||||
if(res.success){
|
||||
@@ -183,7 +183,7 @@
|
||||
}else{
|
||||
let keyIndex = this.expandedRowKeys.indexOf(record.id)
|
||||
if(keyIndex>=0){
|
||||
this.expandedRowKeys.splice(keyIndex, 1);
|
||||
this.expandedRowKeys.splice(keyIndex, 1)
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -214,7 +214,7 @@
|
||||
this.loadData()
|
||||
}else{
|
||||
this.expandedRowKeys=[]
|
||||
console.log("22222",arr)
|
||||
console.log('22222',arr)
|
||||
for(let i of arr){
|
||||
await this.expandTreeNode(i)
|
||||
}
|
||||
@@ -225,10 +225,10 @@
|
||||
this.getFormDataById(nodeId,this.dataSource)
|
||||
let row = this.parentFormData
|
||||
this.expandedRowKeys.push(nodeId)
|
||||
let params = this.getQueryParams();//查询条件
|
||||
let params = this.getQueryParams()//查询条件
|
||||
params[this.pidField] = nodeId
|
||||
getAction(this.url.childList,params).then((res)=>{
|
||||
console.log("11111",res)
|
||||
console.log('11111',res)
|
||||
if(res.success){
|
||||
if(res.result && res.result.length>0){
|
||||
row.children = this.getDataByResult(res.result)
|
||||
@@ -257,24 +257,24 @@
|
||||
}
|
||||
},
|
||||
handleAddSub(record){
|
||||
this.subExpandedKeys = [];
|
||||
this.subExpandedKeys = []
|
||||
this.getExpandKeysByPid(record.id,this.dataSource,this.dataSource)
|
||||
this.$refs.modalForm.subExpandedKeys = this.subExpandedKeys;
|
||||
this.$refs.modalForm.title = "添加子分类";
|
||||
this.$refs.modalForm.edit({'pid':record.id});
|
||||
this.$refs.modalForm.disableSubmit = false;
|
||||
this.$refs.modalForm.subExpandedKeys = this.subExpandedKeys
|
||||
this.$refs.modalForm.title = '添加子分类'
|
||||
this.$refs.modalForm.edit({'pid':record.id})
|
||||
this.$refs.modalForm.disableSubmit = false
|
||||
},
|
||||
handleDelete: function (record) {
|
||||
let that = this;
|
||||
let that = this
|
||||
deleteAction(that.url.delete, {id: record.id}).then((res) => {
|
||||
if (res.success) {
|
||||
//update--begin--autor:lvdandan-----date:20201204------for:JT-31 删除成功后默认展开已展开信息
|
||||
that.loadData();
|
||||
that.loadData()
|
||||
//update--end--autor:lvdandan-----date:20201204------for:JT-31 删除成功后默认展开已展开信息
|
||||
} else {
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
// 添加子分类时获取所有父级id
|
||||
getExpandKeysByPid(pid,arr,all){
|
||||
@@ -296,19 +296,19 @@
|
||||
if (res.success && res.result.records.length>0) {
|
||||
//已展开的数据批量子节点
|
||||
let records = res.result.records
|
||||
const listMap = new Map();
|
||||
const listMap = new Map()
|
||||
for (let item of records) {
|
||||
let pid = item[this.pidField];
|
||||
let pid = item[this.pidField]
|
||||
if (this.expandedRowKeys.join(',').includes(pid)) {
|
||||
let mapList = listMap.get(pid);
|
||||
let mapList = listMap.get(pid)
|
||||
if (mapList == null) {
|
||||
mapList = [];
|
||||
mapList = []
|
||||
}
|
||||
mapList.push(item);
|
||||
listMap.set(pid, mapList);
|
||||
mapList.push(item)
|
||||
listMap.set(pid, mapList)
|
||||
}
|
||||
}
|
||||
let childrenMap = listMap;
|
||||
let childrenMap = listMap
|
||||
let fn = (list) => {
|
||||
if(list) {
|
||||
list.forEach(data => {
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
|
||||
|
||||
export default {
|
||||
name: "TenantList",
|
||||
name: 'TenantList',
|
||||
mixins:[JeroListMixin, mixinDevice],
|
||||
components: {
|
||||
TenantModal
|
||||
@@ -108,41 +108,41 @@
|
||||
columns: [
|
||||
{
|
||||
title:'租户名称',
|
||||
align:"center",
|
||||
align:'center',
|
||||
dataIndex: 'name'
|
||||
},{
|
||||
title:'租户编号',
|
||||
align:"center",
|
||||
align:'center',
|
||||
dataIndex: 'id'
|
||||
},
|
||||
{
|
||||
title:'开始时间',
|
||||
align:"center",
|
||||
align:'center',
|
||||
dataIndex: 'beginDate'
|
||||
},
|
||||
{
|
||||
title:'结束时间',
|
||||
align:"center",
|
||||
align:'center',
|
||||
dataIndex: 'endDate'
|
||||
},
|
||||
{
|
||||
title:'状态',
|
||||
align:"center",
|
||||
align:'center',
|
||||
dataIndex: 'status_dictText'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align:"center",
|
||||
fixed:"right",
|
||||
align:'center',
|
||||
fixed:'right',
|
||||
width:147,
|
||||
scopedSlots: { customRender: 'action' }
|
||||
}
|
||||
],
|
||||
url: {
|
||||
list: "/sys/tenant/page",
|
||||
delete: "/sys/tenant/delete",
|
||||
deleteBatch: "/sys/tenant/deleteBatch"
|
||||
list: '/sys/tenant/page',
|
||||
delete: '/sys/tenant/delete',
|
||||
deleteBatch: '/sys/tenant/deleteBatch'
|
||||
},
|
||||
dictOptions:{},
|
||||
}
|
||||
@@ -151,7 +151,7 @@
|
||||
},
|
||||
computed: {
|
||||
importExcelUrl: function(){
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
import DynamicNotice from '../../components/tools/DynamicNotice'
|
||||
|
||||
export default {
|
||||
name: "UserAnnouncementList",
|
||||
name: 'UserAnnouncementList',
|
||||
mixins: [JeroListMixin],
|
||||
components: {
|
||||
DynamicNotice,
|
||||
@@ -70,67 +70,67 @@
|
||||
queryParam: {},
|
||||
columns: [{
|
||||
title: '标题',
|
||||
align:"center",
|
||||
align:'center',
|
||||
dataIndex: 'titile'
|
||||
},{
|
||||
title: '消息类型',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'msgCategory',
|
||||
customRender: function (text) {
|
||||
if (text == '1') {
|
||||
return "通知公告";
|
||||
} else if (text == "2") {
|
||||
return "系统消息";
|
||||
return '通知公告'
|
||||
} else if (text == '2') {
|
||||
return '系统消息'
|
||||
} else {
|
||||
return text;
|
||||
return text
|
||||
}
|
||||
}
|
||||
},{
|
||||
title: '发布人',
|
||||
align:"center",
|
||||
align:'center',
|
||||
dataIndex: 'sender'
|
||||
},{
|
||||
title: '发布时间',
|
||||
align:"center",
|
||||
align:'center',
|
||||
dataIndex: 'sendTime'
|
||||
},{
|
||||
title: '优先级',
|
||||
align:"center",
|
||||
align:'center',
|
||||
dataIndex: 'priority',
|
||||
customRender:function (text) {
|
||||
if(text=='L'){
|
||||
return "低";
|
||||
}else if(text=="M"){
|
||||
return "中";
|
||||
}else if(text=="H"){
|
||||
return "高";
|
||||
return '低'
|
||||
}else if(text=='M'){
|
||||
return '中'
|
||||
}else if(text=='H'){
|
||||
return '高'
|
||||
} else {
|
||||
return text;
|
||||
return text
|
||||
}
|
||||
}
|
||||
},{
|
||||
title: '阅读状态',
|
||||
align:"center",
|
||||
align:'center',
|
||||
dataIndex: 'readFlag',
|
||||
customRender:function (text) {
|
||||
if(text=='0'){
|
||||
return "未读";
|
||||
}else if(text=="1"){
|
||||
return "已读";
|
||||
return '未读'
|
||||
}else if(text=='1'){
|
||||
return '已读'
|
||||
} else {
|
||||
return text;
|
||||
return text
|
||||
}
|
||||
}
|
||||
},{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align:"center",
|
||||
align:'center',
|
||||
scopedSlots: { customRender: 'action' },
|
||||
}],
|
||||
url: {
|
||||
list: "/sys/sysAnnouncementSend/getMyAnnouncementSend",
|
||||
editCementSend:"sys/sysAnnouncementSend/editByAnntIdAndUserId",
|
||||
readAllMsg:"sys/sysAnnouncementSend/readAll",
|
||||
list: '/sys/sysAnnouncementSend/getMyAnnouncementSend',
|
||||
editCementSend:'sys/sysAnnouncementSend/editByAnntIdAndUserId',
|
||||
readAllMsg:'sys/sysAnnouncementSend/readAll',
|
||||
},
|
||||
loading:false,
|
||||
openPath:'',
|
||||
@@ -139,42 +139,42 @@
|
||||
},
|
||||
methods: {
|
||||
handleDetail: function(record){
|
||||
this.$refs.sysAnnouncementModal.detail(record);
|
||||
this.$refs.sysAnnouncementModal.title="查看";
|
||||
this.$refs.sysAnnouncementModal.detail(record)
|
||||
this.$refs.sysAnnouncementModal.title='查看'
|
||||
},
|
||||
showAnnouncement(record){
|
||||
putAction(this.url.editCementSend,{anntId:record.anntId}).then((res)=>{
|
||||
if(res.success){
|
||||
this.loadData();
|
||||
this.loadData()
|
||||
this.syncHeadNotic(record.anntId)
|
||||
}
|
||||
});
|
||||
})
|
||||
if(record.openType==='component'){
|
||||
this.openPath = record.openPage;
|
||||
this.formData = {id:record.busId};
|
||||
this.$refs.showDynamNotice.detail();
|
||||
this.openPath = record.openPage
|
||||
this.formData = {id:record.busId}
|
||||
this.$refs.showDynamNotice.detail()
|
||||
}else{
|
||||
this.$refs.ShowAnnouncement.detail(record);
|
||||
this.$refs.ShowAnnouncement.detail(record)
|
||||
}
|
||||
},
|
||||
syncHeadNotic(anntId){
|
||||
getAction("sys/annountCement/syncNotic",{anntId:anntId})
|
||||
getAction('sys/annountCement/syncNotic',{anntId:anntId})
|
||||
},
|
||||
readAll(){
|
||||
var that = this;
|
||||
var that = this
|
||||
that.$confirm({
|
||||
title:"确认操作",
|
||||
content:"是否全部标注已读?",
|
||||
title:'确认操作',
|
||||
content:'是否全部标注已读?',
|
||||
onOk: function(){
|
||||
putAction(that.url.readAllMsg).then((res)=>{
|
||||
if(res.success){
|
||||
that.$message.success(res.message);
|
||||
that.loadData();
|
||||
that.syncHeadNotic();
|
||||
that.$message.success(res.message)
|
||||
that.loadData()
|
||||
that.syncHeadNotic()
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,17 +99,17 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import UserModal from "./modules/UserModal";
|
||||
import {getAction, getFileAccessHttpUrl} from "@/api/manage";
|
||||
import "@/assets/less/TableExpand.less";
|
||||
import { JeroListMixin } from "@/mixins/JeroListMixin";
|
||||
import JInput from "@/components/jero/JInput";
|
||||
import JEllipsis from "@comp/jero/JEllipsis";
|
||||
import {queryDepartTreeList, resetUserPassword} from "@api/api";
|
||||
import UserModal from './modules/UserModal'
|
||||
import {getAction, getFileAccessHttpUrl} from '@/api/manage'
|
||||
import '@/assets/less/TableExpand.less'
|
||||
import { JeroListMixin } from '@/mixins/JeroListMixin'
|
||||
import JInput from '@/components/jero/JInput'
|
||||
import JEllipsis from '@comp/jero/JEllipsis'
|
||||
import {queryDepartTreeList, resetUserPassword} from '@api/api'
|
||||
|
||||
|
||||
export default {
|
||||
name: "UserList",
|
||||
name: 'UserList',
|
||||
mixins: [JeroListMixin],
|
||||
components: {
|
||||
UserModal,
|
||||
@@ -118,31 +118,31 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
description: "这是用户管理页面",
|
||||
description: '这是用户管理页面',
|
||||
columns: [
|
||||
{
|
||||
title: "序号",
|
||||
dataIndex: "",
|
||||
key: "rowIndex",
|
||||
title: '序号',
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: "center",
|
||||
align: 'center',
|
||||
customRender: function(t, r, index) {
|
||||
return parseInt(index) + 1;
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
title: "用户账号",
|
||||
align: "center",
|
||||
dataIndex: "username",
|
||||
title: '用户账号',
|
||||
align: 'center',
|
||||
dataIndex: 'username',
|
||||
width: 120,
|
||||
scopedSlots: { customRender: "text" },
|
||||
scopedSlots: { customRender: 'text' },
|
||||
},
|
||||
{
|
||||
title: "用户姓名",
|
||||
align: "center",
|
||||
title: '用户姓名',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: "realname",
|
||||
scopedSlots: { customRender: "text" },
|
||||
dataIndex: 'realname',
|
||||
scopedSlots: { customRender: 'text' },
|
||||
},
|
||||
// {
|
||||
// title: "性别",
|
||||
@@ -152,25 +152,25 @@ export default {
|
||||
// scopedSlots: { customRender: "text" },
|
||||
// },
|
||||
{
|
||||
title: "手机号",
|
||||
align: "center",
|
||||
title: '手机号',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: "phone",
|
||||
scopedSlots: { customRender: "text" },
|
||||
dataIndex: 'phone',
|
||||
scopedSlots: { customRender: 'text' },
|
||||
},
|
||||
{
|
||||
title: "角色",
|
||||
align: "center",
|
||||
title: '角色',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: "roleName",
|
||||
scopedSlots: { customRender: "text" },
|
||||
dataIndex: 'roleName',
|
||||
scopedSlots: { customRender: 'text' },
|
||||
},
|
||||
{
|
||||
title: "组织机构",
|
||||
align: "center",
|
||||
title: '组织机构',
|
||||
align: 'center',
|
||||
width: 180,
|
||||
dataIndex: "departIds_dictText",
|
||||
scopedSlots: { customRender: "text" },
|
||||
dataIndex: 'departIds_dictText',
|
||||
scopedSlots: { customRender: 'text' },
|
||||
},
|
||||
// {
|
||||
// title: '生日',
|
||||
@@ -185,16 +185,16 @@ export default {
|
||||
// dataIndex: 'departIds_dictText'
|
||||
// },
|
||||
{
|
||||
title: "创建时间",
|
||||
dataIndex: "createTime",
|
||||
align: "center",
|
||||
title: '创建时间',
|
||||
dataIndex: 'createTime',
|
||||
align: 'center',
|
||||
width: 170
|
||||
},
|
||||
{
|
||||
title: "操作",
|
||||
dataIndex: "action",
|
||||
scopedSlots: { customRender: "action" },
|
||||
align: "center",
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
scopedSlots: { customRender: 'action' },
|
||||
align: 'center',
|
||||
width: 170
|
||||
}
|
||||
],
|
||||
@@ -211,17 +211,17 @@ export default {
|
||||
sm: { span: 16 },
|
||||
},
|
||||
superQueryFieldList: [
|
||||
{ type: "input", value: "username", text: "用户账号" }
|
||||
{ type: 'input', value: 'username', text: '用户账号' }
|
||||
],
|
||||
url: {
|
||||
list: "/sys/user/pageRoleAndDepart",
|
||||
delete: "/sys/user/delete",
|
||||
deleteBatch: "/sys/user/deleteBatch",
|
||||
exportXlsUrl: "/sys/user/exportXls",
|
||||
importExcelUrl: "sys/user/importExcel",
|
||||
list: '/sys/user/pageRoleAndDepart',
|
||||
delete: '/sys/user/delete',
|
||||
deleteBatch: '/sys/user/deleteBatch',
|
||||
exportXlsUrl: '/sys/user/exportXls',
|
||||
importExcelUrl: 'sys/user/importExcel',
|
||||
downTemplateUrl:'sys/user/exportTemplate'
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.loadDepartTreeData()
|
||||
@@ -229,12 +229,12 @@ export default {
|
||||
},
|
||||
computed:{
|
||||
importExcelUrl(){
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
|
||||
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getAvatarView: function(avatar) {
|
||||
return getFileAccessHttpUrl(avatar);
|
||||
return getFileAccessHttpUrl(avatar)
|
||||
},
|
||||
passwordModalOk() {
|
||||
//TODO 密码修改完成 不需要刷新页面,可以把datasource中的数据更新一下
|
||||
@@ -246,12 +246,12 @@ export default {
|
||||
const that = this
|
||||
queryDepartTreeList().then((res) => {
|
||||
if(res.success){
|
||||
that.treeDepartData = [];
|
||||
that.treeDepartData = []
|
||||
let treeList = res.result
|
||||
for(let a=0;a<treeList.length;a++){
|
||||
let temp = treeList[a];
|
||||
temp.isLeaf = temp.leaf;
|
||||
that.treeDepartData.push(temp);
|
||||
let temp = treeList[a]
|
||||
temp.isLeaf = temp.leaf
|
||||
that.treeDepartData.push(temp)
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -278,7 +278,7 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
components: { DepartDataruleModal },
|
||||
data(){
|
||||
return {
|
||||
departId:"",
|
||||
departId:'',
|
||||
treeData: [],
|
||||
defaultCheckedKeys:[],
|
||||
checkedKeys:[],
|
||||
@@ -69,7 +69,7 @@
|
||||
allTreeKeys:[],
|
||||
autoExpandParent: true,
|
||||
checkStrictly: false,
|
||||
title:"部门权限配置",
|
||||
title:'部门权限配置',
|
||||
visible: false,
|
||||
loading: false,
|
||||
selectedKeys:[]
|
||||
@@ -89,15 +89,15 @@
|
||||
},
|
||||
show(departId){
|
||||
this.departId=departId
|
||||
this.loadData();
|
||||
this.loadData()
|
||||
},
|
||||
close () {
|
||||
this.reset()
|
||||
this.$emit('close');
|
||||
this.visible = false;
|
||||
this.$emit('close')
|
||||
this.visible = false
|
||||
},
|
||||
onExpand(expandedKeys){
|
||||
this.expandedKeysss = expandedKeys;
|
||||
this.expandedKeysss = expandedKeys
|
||||
this.autoExpandParent = false
|
||||
},
|
||||
reset () {
|
||||
@@ -122,26 +122,26 @@
|
||||
this.close()
|
||||
},
|
||||
handleSubmit() {
|
||||
let that = this;
|
||||
let that = this
|
||||
if(!that.departId){
|
||||
this.$message.warning('请点击选择一个部门!')
|
||||
}
|
||||
let checkedKeys = [...that.checkedKeys, ...that.halfCheckedKeys]
|
||||
const permissionIds = checkedKeys.join(",")
|
||||
const permissionIds = checkedKeys.join(',')
|
||||
let params = {
|
||||
departId:that.departId,
|
||||
permissionIds,
|
||||
lastpermissionIds:that.defaultCheckedKeys.join(","),
|
||||
};
|
||||
that.loading = true;
|
||||
lastpermissionIds:that.defaultCheckedKeys.join(','),
|
||||
}
|
||||
that.loading = true
|
||||
saveDepartPermission(params).then((res)=>{
|
||||
if(res.success){
|
||||
that.$message.success(res.message);
|
||||
that.loading = false;
|
||||
that.loadData();
|
||||
that.$message.success(res.message)
|
||||
that.loading = false
|
||||
that.loadData()
|
||||
}else {
|
||||
that.$message.error(res.message);
|
||||
that.loading = false;
|
||||
that.$message.error(res.message)
|
||||
that.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -152,13 +152,13 @@
|
||||
this.convertTreeListToKeyLeafPairs(children, keyLeafPair)
|
||||
}
|
||||
}
|
||||
return keyLeafPair;
|
||||
return keyLeafPair
|
||||
},
|
||||
emptyCurrForm() {
|
||||
this.form.resetFields()
|
||||
},
|
||||
loadData(){
|
||||
this.loading = true;
|
||||
this.loading = true
|
||||
queryTreeListForRole().then((res) => {
|
||||
this.treeData = res.result.treeList
|
||||
this.allTreeKeys = res.result.ids
|
||||
@@ -175,11 +175,11 @@
|
||||
const keyLeafPair = keyLeafPairs.filter(item => item.key === key)[0]
|
||||
return keyLeafPair && !keyLeafPair.isLeaf
|
||||
})
|
||||
this.checkedKeys = [...checkedKeys];
|
||||
this.checkedKeys = [...checkedKeys]
|
||||
this.halfCheckedKeys = [...halfCheckedKeys]
|
||||
this.defaultCheckedKeys = [...halfCheckedKeys, ...checkedKeys];
|
||||
this.expandedKeysss = this.allTreeKeys;
|
||||
this.loading = false;
|
||||
this.defaultCheckedKeys = [...halfCheckedKeys, ...checkedKeys]
|
||||
this.expandedKeysss = this.allTreeKeys
|
||||
this.loading = false
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
}],
|
||||
activeTabKey: '1',
|
||||
url:{
|
||||
datarule:"/sys/sysDepartPermission/datarule",
|
||||
datarule:'/sys/sysDepartPermission/datarule',
|
||||
},
|
||||
dataruleList:[],
|
||||
dataruleChecked:[]
|
||||
@@ -65,19 +65,19 @@
|
||||
this.dataruleList = res.result.datarule
|
||||
let drChecked = res.result.drChecked
|
||||
if(drChecked){
|
||||
this.dataruleChecked = drChecked.split(",")
|
||||
this.dataruleChecked = drChecked.split(',')
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
saveDataruleForRole(){
|
||||
if(!this.dataruleChecked || this.dataruleChecked.length==0){
|
||||
this.$message.warning("请注意,现未勾选任何数据权限!")
|
||||
this.$message.warning('请注意,现未勾选任何数据权限!')
|
||||
}
|
||||
let params = {
|
||||
permissionId:this.functionId,
|
||||
departId:this.departId,
|
||||
dataRuleIds:this.dataruleChecked.join(",")
|
||||
dataRuleIds:this.dataruleChecked.join(',')
|
||||
}
|
||||
postAction(this.url.datarule,params).then(res=>{
|
||||
if(res.success){
|
||||
|
||||
@@ -92,22 +92,22 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { httpAction } from "@/api/manage";
|
||||
import { queryIdTree } from "@/api/api";
|
||||
import pick from "lodash.pick";
|
||||
import ATextarea from "ant-design-vue/es/input/TextArea";
|
||||
import {checkDepartName} from "@/utils/validateOnly";
|
||||
import { httpAction } from '@/api/manage'
|
||||
import { queryIdTree } from '@/api/api'
|
||||
import pick from 'lodash.pick'
|
||||
import ATextarea from 'ant-design-vue/es/input/TextArea'
|
||||
import {checkDepartName} from '@/utils/validateOnly'
|
||||
|
||||
export default {
|
||||
name: "SysDepartModal",
|
||||
name: 'SysDepartModal',
|
||||
components: { ATextarea },
|
||||
data() {
|
||||
return {
|
||||
departTree: [],
|
||||
orgTypeData: [],
|
||||
phoneWarning: "",
|
||||
departName: "",
|
||||
title: "操作",
|
||||
phoneWarning: '',
|
||||
departName: '',
|
||||
title: '操作',
|
||||
seen: false,
|
||||
visible: false,
|
||||
condition: true,
|
||||
@@ -128,92 +128,92 @@ export default {
|
||||
form: this.$form.createForm(this),
|
||||
validatorRules: {
|
||||
departName: { rules: [{ required: true,validator:this.validateDepartName }],validateTrigger: 'blur' },
|
||||
orgCode: { rules: [{ required: true, message: "请输入机构编码!" }] ,validateTrigger: 'blur' },
|
||||
orgCode: { rules: [{ required: true, message: '请输入机构编码!' }] ,validateTrigger: 'blur' },
|
||||
mobile: { rules: [{ validator: this.validateMobile }] ,validateTrigger: 'blur'
|
||||
}
|
||||
},
|
||||
url: {
|
||||
add: "/sys/sysDepart/add"
|
||||
add: '/sys/sysDepart/add'
|
||||
},
|
||||
dictDisabled: true
|
||||
};
|
||||
}
|
||||
},
|
||||
created() {
|
||||
},
|
||||
methods: {
|
||||
loadTreeData() {
|
||||
var that = this;
|
||||
var that = this
|
||||
queryIdTree().then((res) => {
|
||||
if (res.success) {
|
||||
that.departTree = [];
|
||||
that.departTree = []
|
||||
for (let i = 0; i < res.result.length; i++) {
|
||||
let temp = res.result[i];
|
||||
that.departTree.push(temp);
|
||||
let temp = res.result[i]
|
||||
that.departTree.push(temp)
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
})
|
||||
},
|
||||
add(depart) {
|
||||
if (depart) {
|
||||
this.seen = false;
|
||||
this.dictDisabled = false;
|
||||
this.seen = false
|
||||
this.dictDisabled = false
|
||||
} else {
|
||||
this.seen = true;
|
||||
this.dictDisabled = true;
|
||||
this.seen = true
|
||||
this.dictDisabled = true
|
||||
}
|
||||
this.edit(depart);
|
||||
this.edit(depart)
|
||||
},
|
||||
edit(record) {
|
||||
this.form.resetFields();
|
||||
this.model = Object.assign({}, record);
|
||||
this.visible = true;
|
||||
this.loadTreeData();
|
||||
this.model.parentId = record != null ? record.toString() : null;
|
||||
this.form.resetFields()
|
||||
this.model = Object.assign({}, record)
|
||||
this.visible = true
|
||||
this.loadTreeData()
|
||||
this.model.parentId = record != null ? record.toString() : null
|
||||
if (this.seen) {
|
||||
this.model.orgCategory = "1";
|
||||
this.model.orgCategory = '1'
|
||||
} else {
|
||||
this.model.orgCategory = "2";
|
||||
this.model.orgCategory = '2'
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(this.model, "orgCategory", "departName", "departNameEn", "departNameAbbr", "departOrder", "description", "orgType", "orgCode", "mobile", "fax", "address", "memo", "status", "delFlag"));
|
||||
});
|
||||
this.form.setFieldsValue(pick(this.model, 'orgCategory', 'departName', 'departNameEn', 'departNameAbbr', 'departOrder', 'description', 'orgType', 'orgCode', 'mobile', 'fax', 'address', 'memo', 'status', 'delFlag'))
|
||||
})
|
||||
},
|
||||
close() {
|
||||
this.$emit("close");
|
||||
this.disableSubmit = false;
|
||||
this.visible = false;
|
||||
this.$emit('close')
|
||||
this.disableSubmit = false
|
||||
this.visible = false
|
||||
},
|
||||
handleOk() {
|
||||
const that = this;
|
||||
that.confirmLoading = true;
|
||||
const that = this
|
||||
that.confirmLoading = true
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
let formData = Object.assign(this.model, values);
|
||||
let formData = Object.assign(this.model, values)
|
||||
//时间格式化
|
||||
console.log(formData);
|
||||
httpAction(this.url.add, formData, "post").then((res) => {
|
||||
console.log(formData)
|
||||
httpAction(this.url.add, formData, 'post').then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message);
|
||||
that.loadTreeData();
|
||||
that.$emit("ok");
|
||||
that.close();
|
||||
that.$message.success(res.message)
|
||||
that.loadTreeData()
|
||||
that.$emit('ok')
|
||||
that.close()
|
||||
} else {
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false;
|
||||
that.confirmLoading = false
|
||||
|
||||
});
|
||||
})
|
||||
|
||||
}else {
|
||||
that.confirmLoading = false;
|
||||
that.confirmLoading = false
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
handleCancel() {
|
||||
this.close();
|
||||
this.close()
|
||||
},
|
||||
validateDepartName(rule, value, callback){
|
||||
checkDepartName(value,this.model.id).then(res => {
|
||||
@@ -226,14 +226,14 @@ export default {
|
||||
},
|
||||
validateMobile(rule, value, callback) {
|
||||
if (!value || new RegExp(/^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/).test(value)) {
|
||||
callback();
|
||||
callback()
|
||||
} else {
|
||||
callback("您的手机号码格式不正确!");
|
||||
callback('您的手机号码格式不正确!')
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -93,33 +93,33 @@
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.loadTreeData();
|
||||
this.loadTreeData()
|
||||
},
|
||||
methods: {
|
||||
loadTreeData() {
|
||||
queryIdTree().then((res) => {
|
||||
if (res.success) {
|
||||
for (let i = 0; i < res.result.length; i++) {
|
||||
let temp = res.result[i];
|
||||
this.treeData.push(temp);
|
||||
let temp = res.result[i]
|
||||
this.treeData.push(temp)
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
open(record) {
|
||||
this.form.resetFields();
|
||||
this.model = Object.assign({}, record);
|
||||
this.visible = true;
|
||||
console.log("record:");
|
||||
console.log(record);
|
||||
this.form.resetFields()
|
||||
this.model = Object.assign({}, record)
|
||||
this.visible = true
|
||||
console.log('record:')
|
||||
console.log(record)
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(record, 'orgCategory','departName', 'parentId', 'orgCode', 'departOrder', 'mobile', 'fax', 'address', 'memo'));
|
||||
});
|
||||
this.form.setFieldsValue(pick(record, 'orgCategory','departName', 'parentId', 'orgCode', 'departOrder', 'mobile', 'fax', 'address', 'memo'))
|
||||
})
|
||||
},
|
||||
clearForm() {
|
||||
this.form.resetFields();
|
||||
this.treeData = [];
|
||||
this.form.resetFields()
|
||||
this.treeData = []
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,15 +61,15 @@
|
||||
import DeptRoleDataruleModal from './DeptRoleDataruleModal'
|
||||
|
||||
export default {
|
||||
name: "DeptRoleAuthModal",
|
||||
name: 'DeptRoleAuthModal',
|
||||
components:{
|
||||
DeptRoleDataruleModal,
|
||||
RoleDataruleModal
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
departId:"",
|
||||
roleId:"",
|
||||
departId:'',
|
||||
roleId:'',
|
||||
treeData: [],
|
||||
defaultCheckedKeys:[],
|
||||
checkedKeys:[],
|
||||
@@ -78,7 +78,7 @@
|
||||
allTreeKeys:[],
|
||||
autoExpandParent: true,
|
||||
checkStrictly: true,
|
||||
title:"部门角色权限配置",
|
||||
title:'部门角色权限配置',
|
||||
visible: false,
|
||||
loading: false,
|
||||
selectedKeys:[]
|
||||
@@ -100,7 +100,7 @@
|
||||
},
|
||||
onCheck (o) {
|
||||
if(this.checkStrictly){
|
||||
this.checkedKeys = o.checked;
|
||||
this.checkedKeys = o.checked
|
||||
}else{
|
||||
this.checkedKeys = o
|
||||
}
|
||||
@@ -108,15 +108,15 @@
|
||||
show(roleId,departId){
|
||||
this.departId = departId
|
||||
this.roleId=roleId
|
||||
this.visible = true;
|
||||
this.visible = true
|
||||
},
|
||||
close () {
|
||||
this.reset()
|
||||
this.$emit('close');
|
||||
this.visible = false;
|
||||
this.$emit('close')
|
||||
this.visible = false
|
||||
},
|
||||
onExpand(expandedKeys){
|
||||
this.expandedKeysss = expandedKeys;
|
||||
this.expandedKeysss = expandedKeys
|
||||
this.autoExpandParent = false
|
||||
},
|
||||
reset () {
|
||||
@@ -141,29 +141,29 @@
|
||||
this.close()
|
||||
},
|
||||
handleSubmit(exit) {
|
||||
let that = this;
|
||||
let that = this
|
||||
let params = {
|
||||
roleId:that.roleId,
|
||||
permissionIds:that.checkedKeys.join(","),
|
||||
lastpermissionIds:that.defaultCheckedKeys.join(","),
|
||||
};
|
||||
that.loading = true;
|
||||
console.log("请求参数:",params);
|
||||
permissionIds:that.checkedKeys.join(','),
|
||||
lastpermissionIds:that.defaultCheckedKeys.join(','),
|
||||
}
|
||||
that.loading = true
|
||||
console.log('请求参数:',params)
|
||||
saveDeptRolePermission(params).then((res)=>{
|
||||
if(res.success){
|
||||
that.$message.success(res.message);
|
||||
that.loading = false;
|
||||
that.$message.success(res.message)
|
||||
that.loading = false
|
||||
if (exit) {
|
||||
that.close()
|
||||
}
|
||||
}else {
|
||||
that.$message.error(res.message);
|
||||
that.loading = false;
|
||||
that.$message.error(res.message)
|
||||
that.loading = false
|
||||
if (exit) {
|
||||
that.close()
|
||||
}
|
||||
}
|
||||
this.loadData();
|
||||
this.loadData()
|
||||
})
|
||||
},
|
||||
convertTreeListToKeyLeafPairs(treeList, keyLeafPair = []) {
|
||||
@@ -173,16 +173,16 @@
|
||||
this.convertTreeListToKeyLeafPairs(children, keyLeafPair)
|
||||
}
|
||||
}
|
||||
return keyLeafPair;
|
||||
return keyLeafPair
|
||||
},
|
||||
loadData(){
|
||||
queryTreeListForDeptRole({departId:this.departId}).then((res) => {
|
||||
this.treeData = res.result.treeList
|
||||
this.allTreeKeys = res.result.ids
|
||||
queryDeptRolePermission({roleId:this.roleId}).then((res)=>{
|
||||
this.checkedKeys = [...res.result];
|
||||
this.defaultCheckedKeys = [...res.result];
|
||||
this.expandedKeysss = this.allTreeKeys;
|
||||
this.checkedKeys = [...res.result]
|
||||
this.defaultCheckedKeys = [...res.result]
|
||||
this.expandedKeysss = this.allTreeKeys
|
||||
})
|
||||
})
|
||||
}
|
||||
@@ -190,7 +190,7 @@
|
||||
watch: {
|
||||
visible () {
|
||||
if (this.visible ) {
|
||||
this.loadData();
|
||||
this.loadData()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
}],
|
||||
activeTabKey: '1',
|
||||
url:{
|
||||
datarule:"/sys/sysDepartRole/datarule",
|
||||
datarule:'/sys/sysDepartRole/datarule',
|
||||
},
|
||||
dataruleList:[],
|
||||
dataruleChecked:[]
|
||||
@@ -69,21 +69,21 @@
|
||||
this.dataruleList = res.result.datarule
|
||||
let drChecked = res.result.drChecked
|
||||
if(drChecked){
|
||||
this.dataruleChecked = drChecked.split(",")
|
||||
this.dataruleChecked = drChecked.split(',')
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
saveDataruleForRole(){
|
||||
if(!this.dataruleChecked || this.dataruleChecked.length==0){
|
||||
this.$message.warning("请注意,现未勾选任何数据权限!")
|
||||
this.$message.warning('请注意,现未勾选任何数据权限!')
|
||||
}
|
||||
let params = {
|
||||
permissionId:this.functionId,
|
||||
roleId:this.roleId,
|
||||
dataRuleIds:this.dataruleChecked.join(",")
|
||||
dataRuleIds:this.dataruleChecked.join(',')
|
||||
}
|
||||
console.log("保存数据权限",params)
|
||||
console.log('保存数据权限',params)
|
||||
postAction(this.url.datarule,params).then(res=>{
|
||||
if(res.success){
|
||||
this.$message.success(res.message)
|
||||
|
||||
@@ -92,35 +92,35 @@
|
||||
// 表头
|
||||
columns: [{
|
||||
title: '部门角色名称',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'roleName'
|
||||
},
|
||||
{
|
||||
title: '部门角色编码',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'roleCode'
|
||||
},
|
||||
{
|
||||
title: '部门',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'departId_dictText'
|
||||
},
|
||||
{
|
||||
title: '备注',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'description'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
scopedSlots: {customRender: 'action'},
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 170
|
||||
}],
|
||||
url: {
|
||||
list: "/sys/sysDepartRole/page",
|
||||
delete: "/sys/sysDepartRole/delete",
|
||||
deleteBatch: "/sys/sysDepartRole/deleteBatch",
|
||||
list: '/sys/sysDepartRole/page',
|
||||
delete: '/sys/sysDepartRole/delete',
|
||||
deleteBatch: '/sys/sysDepartRole/deleteBatch',
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -129,58 +129,58 @@
|
||||
methods: {
|
||||
searchReset() {
|
||||
this.queryParam = {}
|
||||
this.loadData(1);
|
||||
this.loadData(1)
|
||||
},
|
||||
loadData(arg) {
|
||||
if (!this.url.list) {
|
||||
this.$message.error("请设置url.list属性!")
|
||||
this.$message.error('请设置url.list属性!')
|
||||
return
|
||||
}
|
||||
//加载数据 若传入参数1则加载第一页的内容
|
||||
if (arg === 1) {
|
||||
this.ipagination.current = 1;
|
||||
this.ipagination.current = 1
|
||||
}
|
||||
let params = this.getQueryParams();//查询条件
|
||||
params.deptId = this.currentDeptId;
|
||||
let params = this.getQueryParams()//查询条件
|
||||
params.deptId = this.currentDeptId
|
||||
getAction(this.url.list, params).then((res) => {
|
||||
if (res.success && res.result) {
|
||||
this.dataSource = res.result.records;
|
||||
this.ipagination.total = res.result.total;
|
||||
this.dataSource = res.result.records
|
||||
this.ipagination.total = res.result.total
|
||||
}
|
||||
})
|
||||
},
|
||||
open(record) {
|
||||
this.currentDeptId = record.id;
|
||||
this.loadData(1);
|
||||
this.currentDeptId = record.id
|
||||
this.loadData(1)
|
||||
},
|
||||
clearList() {
|
||||
this.currentDeptId = '';
|
||||
this.dataSource = [];
|
||||
this.currentDeptId = ''
|
||||
this.dataSource = []
|
||||
},
|
||||
hasSelectDept() {
|
||||
if (this.currentDeptId == '') {
|
||||
this.$message.warn("请选择一个部门!")
|
||||
return false;
|
||||
this.$message.warn('请选择一个部门!')
|
||||
return false
|
||||
}
|
||||
return true;
|
||||
return true
|
||||
},
|
||||
handleEdit: function (record) {
|
||||
this.$refs.modalForm.title = "编辑";
|
||||
this.$refs.modalForm.departDisabled = true;
|
||||
this.$refs.modalForm.disableSubmit = false;
|
||||
this.$refs.modalForm.edit(record,record.departId);
|
||||
this.$refs.modalForm.title = '编辑'
|
||||
this.$refs.modalForm.departDisabled = true
|
||||
this.$refs.modalForm.disableSubmit = false
|
||||
this.$refs.modalForm.edit(record,record.departId)
|
||||
},
|
||||
handleAdd: function () {
|
||||
if (this.currentDeptId == '') {
|
||||
this.$message.warn("请选择一个部门!")
|
||||
this.$message.warn('请选择一个部门!')
|
||||
} else {
|
||||
this.$refs.modalForm.departDisabled = true;
|
||||
this.$refs.modalForm.add(this.currentDeptId);
|
||||
this.$refs.modalForm.title = "新增";
|
||||
this.$refs.modalForm.departDisabled = true
|
||||
this.$refs.modalForm.add(this.currentDeptId)
|
||||
this.$refs.modalForm.title = '新增'
|
||||
}
|
||||
},
|
||||
handlePerssion: function(record){
|
||||
this.$refs.modalDeptRole.show(record.id,record.departId);
|
||||
this.$refs.modalDeptRole.show(record.id,record.departId)
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,8 +60,8 @@
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
currentDeptId:"",
|
||||
title: "部门角色分配",
|
||||
currentDeptId:'',
|
||||
title: '部门角色分配',
|
||||
visible: false,
|
||||
model: {},
|
||||
labelCol: {
|
||||
@@ -76,14 +76,14 @@
|
||||
form: this.$form.createForm(this),
|
||||
validatorRules: {},
|
||||
url: {
|
||||
add: "/sys/sysDepartRole/deptRoleUserAdd",
|
||||
getDeptRoleList:"/sys/sysDepartRole/getDeptRoleList",
|
||||
getDeptRoleByUserId:"/sys/sysDepartRole/getDeptRoleByUserId"
|
||||
add: '/sys/sysDepartRole/deptRoleUserAdd',
|
||||
getDeptRoleList:'/sys/sysDepartRole/getDeptRoleList',
|
||||
getDeptRoleByUserId:'/sys/sysDepartRole/getDeptRoleByUserId'
|
||||
},
|
||||
designNameOption: [],
|
||||
userId: "",
|
||||
newRoleId:"",
|
||||
oldRoleId:"",
|
||||
userId: '',
|
||||
newRoleId:'',
|
||||
oldRoleId:'',
|
||||
designNameValue:[],
|
||||
desformList: [],
|
||||
}
|
||||
@@ -93,92 +93,92 @@
|
||||
},
|
||||
methods: {
|
||||
add(record,departId) {
|
||||
this.userId = record.id;
|
||||
this.currentDeptId = departId;
|
||||
this.loadDesformList();
|
||||
this.edit({});
|
||||
this.userId = record.id
|
||||
this.currentDeptId = departId
|
||||
this.loadDesformList()
|
||||
this.edit({})
|
||||
},
|
||||
edit(record) {
|
||||
this.form.resetFields();
|
||||
this.model = Object.assign({}, record);
|
||||
this.visible = true;
|
||||
this.form.resetFields()
|
||||
this.model = Object.assign({}, record)
|
||||
this.visible = true
|
||||
getAction(this.url.getDeptRoleByUserId,{userId:this.userId,departId:this.currentDeptId}).then((res) => {
|
||||
if (res.success) {
|
||||
var designName = [];
|
||||
var designName = []
|
||||
for (let value of res.result) {
|
||||
designName.push(value.droleId)
|
||||
}
|
||||
this.oldRoleId=designName.join(",");
|
||||
this.designNameValue = designName;
|
||||
this.newRoleId = designName.join(",");
|
||||
this.oldRoleId=designName.join(',')
|
||||
this.designNameValue = designName
|
||||
this.newRoleId = designName.join(',')
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
close() {
|
||||
this.$emit('close');
|
||||
this.visible = false;
|
||||
this.$emit('close')
|
||||
this.visible = false
|
||||
},
|
||||
handleSubmit() {
|
||||
const that = this;
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
that.confirmLoading = true;
|
||||
let httpurl = this.url.add;
|
||||
let method = 'post';
|
||||
let formData = Object.assign(this.model, {});
|
||||
that.confirmLoading = true
|
||||
let httpurl = this.url.add
|
||||
let method = 'post'
|
||||
let formData = Object.assign(this.model, {})
|
||||
//时间格式化
|
||||
formData.userId = this.userId;
|
||||
formData.newRoleId=this.newRoleId;
|
||||
formData.oldRoleId=this.oldRoleId;
|
||||
formData.userId = this.userId
|
||||
formData.newRoleId=this.newRoleId
|
||||
formData.oldRoleId=this.oldRoleId
|
||||
httpAction(httpurl, formData, method).then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message);
|
||||
that.$emit('reload');
|
||||
that.$emit('ok');
|
||||
that.$message.success(res.message)
|
||||
that.$emit('reload')
|
||||
that.$emit('ok')
|
||||
} else {
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false;
|
||||
that.close();
|
||||
that.confirmLoading = false
|
||||
that.close()
|
||||
})
|
||||
},
|
||||
handleCancel() {
|
||||
this.designNameOption=[];
|
||||
this.designNameValue=[];
|
||||
this.designNameOption=[]
|
||||
this.designNameValue=[]
|
||||
this.close()
|
||||
},
|
||||
designNameChange(selectedValue) {
|
||||
this.newRoleId=selectedValue.join(",");
|
||||
this.newRoleId=selectedValue.join(',')
|
||||
},
|
||||
checkALL(){
|
||||
var designName = [];
|
||||
var designName = []
|
||||
for (let value of this.desformList) {
|
||||
designName.push(
|
||||
value.id
|
||||
)
|
||||
}
|
||||
this.designNameValue = designName;
|
||||
this.newRoleId=designName.join(",");
|
||||
this.designNameValue = designName
|
||||
this.newRoleId=designName.join(',')
|
||||
},
|
||||
cancelCheckALL(){
|
||||
this.designNameValue=[];
|
||||
this.newRoleId="";
|
||||
this.designNameValue=[]
|
||||
this.newRoleId=''
|
||||
},
|
||||
/** 加载desform */
|
||||
loadDesformList() {
|
||||
getAction(this.url.getDeptRoleList, { departId: this.currentDeptId, userId:this.userId }).then((res) => {
|
||||
if (res.success) {
|
||||
this.desformList = res.result
|
||||
var designName = [];
|
||||
var designName = []
|
||||
for (let value of this.desformList) {
|
||||
designName.push({
|
||||
value: value.id,
|
||||
text: value.roleName,
|
||||
})
|
||||
}
|
||||
this.designNameOption = designName;
|
||||
this.designNameOption = designName
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -77,11 +77,11 @@ import {getAction, postAction,} from '@/api/manage'
|
||||
import SelectUserModal from './SelectUserModal'
|
||||
import UserModal from './UserModal'
|
||||
import DeptRoleUserModal from './DeptRoleUserModal'
|
||||
import JEllipsis from "@comp/jero/JEllipsis";
|
||||
import "@/assets/less/TableExpand.less";
|
||||
import JEllipsis from '@comp/jero/JEllipsis'
|
||||
import '@/assets/less/TableExpand.less'
|
||||
|
||||
export default {
|
||||
name: "DeptUserInfo",
|
||||
name: 'DeptUserInfo',
|
||||
mixins: [JeroListMixin],
|
||||
components: {
|
||||
DeptRoleUserModal,
|
||||
@@ -98,34 +98,34 @@ export default {
|
||||
columns: [
|
||||
{
|
||||
title: '用户账号',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'username',
|
||||
scopedSlots: {customRender: 'text_title'},
|
||||
},
|
||||
{
|
||||
title: '用户名称',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'realname',
|
||||
width: 100,
|
||||
scopedSlots: {customRender: 'text_title'},
|
||||
},
|
||||
{
|
||||
title: '部门',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'orgCode',
|
||||
width: 120,
|
||||
scopedSlots: {customRender: 'text_title'},
|
||||
},
|
||||
{
|
||||
title: '性别',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'sex_dictText',
|
||||
width: 60,
|
||||
},
|
||||
{
|
||||
title: '电话',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'phone',
|
||||
width: 120,
|
||||
},
|
||||
@@ -134,13 +134,13 @@ export default {
|
||||
dataIndex: 'action',
|
||||
scopedSlots: {customRender: 'action'},
|
||||
fixed: 'right',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
}],
|
||||
url: {
|
||||
list: "/sys/user/departUserList",
|
||||
edit: "/sys/user/editSysDepartWithUser",
|
||||
delete: "/sys/user/deleteUserInDepart",
|
||||
deleteBatch: "/sys/user/deleteUserInDepartBatch",
|
||||
list: '/sys/user/departUserList',
|
||||
edit: '/sys/user/editSysDepartWithUser',
|
||||
delete: '/sys/user/deleteUserInDepart',
|
||||
deleteBatch: '/sys/user/deleteUserInDepartBatch',
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -151,94 +151,94 @@ export default {
|
||||
searchReset() {
|
||||
this.queryParam = {}
|
||||
this.lastQueryParam = {}
|
||||
this.loadData(1);
|
||||
this.loadData(1)
|
||||
},
|
||||
loadData(arg) {
|
||||
if (!this.url.list) {
|
||||
this.$message.error("请设置url.list属性!")
|
||||
this.$message.error('请设置url.list属性!')
|
||||
return
|
||||
}
|
||||
//加载数据 若传入参数1则加载第一页的内容
|
||||
if (arg === 1) {
|
||||
this.ipagination.current = 1;
|
||||
this.ipagination.current = 1
|
||||
}
|
||||
//if (this.currentDeptId === '') return;
|
||||
let params = this.getQueryParams();//查询条件
|
||||
params.depId = this.currentDeptId;
|
||||
let params = this.getQueryParams()//查询条件
|
||||
params.depId = this.currentDeptId
|
||||
getAction(this.url.list, params).then((res) => {
|
||||
if (res.success && res.result) {
|
||||
this.dataSource = res.result.records;
|
||||
this.ipagination.total = res.result.total;
|
||||
this.dataSource = res.result.records
|
||||
this.ipagination.total = res.result.total
|
||||
}
|
||||
})
|
||||
},
|
||||
batchDel: function () {
|
||||
|
||||
if (!this.url.deleteBatch) {
|
||||
this.$message.warn("请设置url.deleteBatch属性!")
|
||||
this.$message.warn('请设置url.deleteBatch属性!')
|
||||
return
|
||||
}
|
||||
if (!this.currentDeptId) {
|
||||
this.$message.warn("未选中任何部门,无法取消部门与用户的关联!")
|
||||
this.$message.warn('未选中任何部门,无法取消部门与用户的关联!')
|
||||
return
|
||||
}
|
||||
|
||||
if (this.selectedRowKeys.length <= 0) {
|
||||
this.$message.warning('请选择一条记录!');
|
||||
return;
|
||||
this.$message.warning('请选择一条记录!')
|
||||
return
|
||||
} else {
|
||||
var ids = "";
|
||||
var ids = ''
|
||||
for (var a = 0; a < this.selectedRowKeys.length; a++) {
|
||||
ids += this.selectedRowKeys[a] + ",";
|
||||
ids += this.selectedRowKeys[a] + ','
|
||||
}
|
||||
var that = this;
|
||||
console.log(this.currentDeptId);
|
||||
var that = this
|
||||
console.log(this.currentDeptId)
|
||||
this.$confirm({
|
||||
title: "确认取消",
|
||||
content: "是否取消用户与选中部门的关联?",
|
||||
title: '确认取消',
|
||||
content: '是否取消用户与选中部门的关联?',
|
||||
onOk: function () {
|
||||
getAction(that.url.deleteBatch, {depId: that.currentDeptId, userIds: ids}).then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success("删除用户与选中部门关系成功!");
|
||||
that.$message.success('删除用户与选中部门关系成功!')
|
||||
// 判断当前删除的数据是否是最后一页的全部数据,如果是的话页码减一
|
||||
if (that.ipagination.current > 1 && (that.ipagination.current === Math.ceil(that.ipagination.total / that.ipagination.pageSize)) &&
|
||||
that.selectedRowKeys.length === that.dataSource.length
|
||||
) {
|
||||
that.ipagination.current -= 1
|
||||
}
|
||||
that.loadData();
|
||||
that.onClearSelected();
|
||||
that.loadData()
|
||||
that.onClearSelected()
|
||||
} else {
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
},
|
||||
handleDelete: function (id) {
|
||||
if (!this.url.delete) {
|
||||
this.$message.error("请设置url.delete属性!")
|
||||
this.$message.error('请设置url.delete属性!')
|
||||
return
|
||||
}
|
||||
if (!this.currentDeptId) {
|
||||
this.$message.error("未选中任何部门,无法取消部门与用户的关联!")
|
||||
this.$message.error('未选中任何部门,无法取消部门与用户的关联!')
|
||||
return
|
||||
}
|
||||
|
||||
var that = this;
|
||||
var that = this
|
||||
this.$confirm({
|
||||
title: "确认取消",
|
||||
content: "是否取消用户与选中部门的关联?",
|
||||
title: '确认取消',
|
||||
content: '是否取消用户与选中部门的关联?',
|
||||
onOk: function () {
|
||||
getAction(that.url.delete, {depId: that.currentDeptId, userId: id}).then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success("删除用户与选中部门关系成功!");
|
||||
that.$message.success('删除用户与选中部门关系成功!')
|
||||
if (that.selectedRowKeys.length > 0) {
|
||||
for (let i = 0; i < that.selectedRowKeys.length; i++) {
|
||||
if (that.selectedRowKeys[i] == id) {
|
||||
that.selectedRowKeys.splice(i, 1);
|
||||
break;
|
||||
that.selectedRowKeys.splice(i, 1)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -247,89 +247,89 @@ export default {
|
||||
if (that.ipagination.current > 1 && ((that.ipagination.current - 1) * that.ipagination.pageSize) + 1 === that.ipagination.total) {
|
||||
that.ipagination.current -= 1
|
||||
}
|
||||
that.loadData();
|
||||
that.loadData()
|
||||
} else {
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
open(record) {
|
||||
this.currentDeptId = record.id;
|
||||
this.currentDept = record;
|
||||
this.currentDeptId = record.id
|
||||
this.currentDept = record
|
||||
// 获取当前选择部门的orgCode 用于筛选数据
|
||||
this.orgCode = record.orgCode
|
||||
|
||||
this.loadData(1);
|
||||
this.loadData(1)
|
||||
},
|
||||
cancelSelect(){
|
||||
this.currentDeptId = ''
|
||||
this.loadData(1)
|
||||
},
|
||||
clearList() {
|
||||
this.currentDeptId = '';
|
||||
this.dataSource = [];
|
||||
this.currentDeptId = ''
|
||||
this.dataSource = []
|
||||
},
|
||||
hasSelectDept() {
|
||||
if (this.currentDeptId == '') {
|
||||
this.$message.warn("请选择一个部门!")
|
||||
return false;
|
||||
this.$message.warn('请选择一个部门!')
|
||||
return false
|
||||
}
|
||||
return true;
|
||||
return true
|
||||
},
|
||||
handleAddUserDepart() {
|
||||
if (this.currentDeptId == '') {
|
||||
this.$message.warn("请选择一个部门!")
|
||||
this.$message.warn('请选择一个部门!')
|
||||
} else {
|
||||
this.$refs.selectUserModal.add(this.currentDept)
|
||||
}
|
||||
},
|
||||
handleEdit: function (record) {
|
||||
this.$refs.modalForm.title = "编辑";
|
||||
this.$refs.modalForm.departDisabled = true;
|
||||
this.$refs.modalForm.disableSubmit = false;
|
||||
this.$refs.modalForm.edit(record);
|
||||
this.$refs.modalForm.title = '编辑'
|
||||
this.$refs.modalForm.departDisabled = true
|
||||
this.$refs.modalForm.disableSubmit = false
|
||||
this.$refs.modalForm.edit(record)
|
||||
},
|
||||
handleAdd: function () {
|
||||
if (this.currentDeptId == '') {
|
||||
this.$message.warn("请选择一个部门!")
|
||||
this.$message.warn('请选择一个部门!')
|
||||
} else {
|
||||
this.$refs.modalForm.departDisabled = true;
|
||||
this.$refs.modalForm.departDisabled = true
|
||||
//初始化负责部门
|
||||
this.$refs.modalForm.userDepartModel.departIdList = [this.currentDeptId]; //传入一个部门id
|
||||
this.$refs.modalForm.add();
|
||||
this.$refs.modalForm.userDepartModel.departIdList = [this.currentDeptId] //传入一个部门id
|
||||
this.$refs.modalForm.add()
|
||||
//update-begin---author:liusq Date:20210223 for:https://gitee.com/jeecg/jeecg-boot/issues/I2SDU1------------
|
||||
this.$refs.modalForm.resultDepartOptions = [{key: this.currentDept.key, title: this.currentDept.title,orgCode:this.orgCode}]
|
||||
//update-end---author:liusq Date:20210223 for:https://gitee.com/jeecg/jeecg-boot/issues/I2SDU1------------
|
||||
this.$refs.modalForm.title = "新增";
|
||||
this.$refs.modalForm.title = '新增'
|
||||
}
|
||||
},
|
||||
selectOK(data) {
|
||||
if(data.length === 0) return
|
||||
let params = {};
|
||||
params.depId = this.currentDeptId;
|
||||
params.userIdList = [];
|
||||
let params = {}
|
||||
params.depId = this.currentDeptId
|
||||
params.userIdList = []
|
||||
for (var a = 0; a < data.length; a++) {
|
||||
params.userIdList.push(data[a]);
|
||||
params.userIdList.push(data[a])
|
||||
}
|
||||
console.log(params);
|
||||
console.log(params)
|
||||
postAction(this.url.edit, params).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(res.message);
|
||||
this.loadData();
|
||||
this.$message.success(res.message)
|
||||
this.loadData()
|
||||
} else {
|
||||
this.$message.warning(res.message);
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
handleDeptRole(record) {
|
||||
if (this.currentDeptId != '') {
|
||||
this.$refs.deptRoleUser.add(record, this.currentDeptId);
|
||||
this.$refs.deptRoleUser.title = "部门角色分配";
|
||||
this.$refs.deptRoleUser.add(record, this.currentDeptId)
|
||||
this.$refs.deptRoleUser.title = '部门角色分配'
|
||||
} else {
|
||||
this.$message.warning("请先选择一个部门!");
|
||||
this.$message.warning('请先选择一个部门!')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,14 +59,14 @@
|
||||
import { getAction } from '@api/manage'
|
||||
|
||||
export default {
|
||||
name: "DictItemModal",
|
||||
name: 'DictItemModal',
|
||||
data() {
|
||||
return {
|
||||
title: "操作",
|
||||
title: '操作',
|
||||
visible: false,
|
||||
visibleCheck: true,
|
||||
model: {},
|
||||
dictId: "",
|
||||
dictId: '',
|
||||
status: 1,
|
||||
labelCol: {
|
||||
xs: {span: 24},
|
||||
@@ -88,72 +88,72 @@
|
||||
},
|
||||
methods: {
|
||||
add(dictId) {
|
||||
this.dictId = dictId;
|
||||
this.edit({});
|
||||
this.dictId = dictId
|
||||
this.edit({})
|
||||
},
|
||||
edit(record) {
|
||||
if (record.id) {
|
||||
this.dictId = record.dictId;
|
||||
this.status = record.status;
|
||||
this.visibleCheck = (record.status == 1) ? true : false;
|
||||
this.dictId = record.dictId
|
||||
this.status = record.status
|
||||
this.visibleCheck = (record.status == 1) ? true : false
|
||||
}
|
||||
this.form.resetFields();
|
||||
this.model = Object.assign({}, record);
|
||||
this.model.dictId = this.dictId;
|
||||
this.model.status = this.status;
|
||||
this.visible = true;
|
||||
this.form.resetFields()
|
||||
this.model = Object.assign({}, record)
|
||||
this.model.dictId = this.dictId
|
||||
this.model.status = this.status
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(this.model, 'itemText', 'itemValue', 'description', 'sortOrder'))
|
||||
});
|
||||
})
|
||||
},
|
||||
onChose(checked) {
|
||||
if (checked) {
|
||||
this.status = 1;
|
||||
this.visibleCheck = true;
|
||||
this.status = 1
|
||||
this.visibleCheck = true
|
||||
} else {
|
||||
this.status = 0;
|
||||
this.visibleCheck = false;
|
||||
this.status = 0
|
||||
this.visibleCheck = false
|
||||
}
|
||||
},
|
||||
// 确定
|
||||
handleOk() {
|
||||
const that = this;
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
that.confirmLoading = true;
|
||||
that.confirmLoading = true
|
||||
values.itemText = (values.itemText || '').trim()
|
||||
values.itemValue = (values.itemValue || '').trim()
|
||||
values.description = (values.description || '').trim()
|
||||
let formData = Object.assign(this.model, values);
|
||||
formData.status = this.status;
|
||||
let obj;
|
||||
let formData = Object.assign(this.model, values)
|
||||
formData.status = this.status
|
||||
let obj
|
||||
if (!this.model.id) {
|
||||
obj = addDictItem(formData);
|
||||
obj = addDictItem(formData)
|
||||
} else {
|
||||
obj = editDictItem(formData);
|
||||
obj = editDictItem(formData)
|
||||
}
|
||||
obj.then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message);
|
||||
that.$emit('ok');
|
||||
that.close();
|
||||
that.$message.success(res.message)
|
||||
that.$emit('ok')
|
||||
that.close()
|
||||
} else {
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false;
|
||||
that.confirmLoading = false
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
// 关闭
|
||||
handleCancel() {
|
||||
this.close();
|
||||
this.close()
|
||||
},
|
||||
close() {
|
||||
this.$emit('close');
|
||||
this.visible = false;
|
||||
this.$emit('close')
|
||||
this.visible = false
|
||||
},
|
||||
validateItemValue(rule, value, callback){
|
||||
let param = {
|
||||
@@ -166,16 +166,16 @@
|
||||
if(value){
|
||||
let reg=new RegExp("[`_~!@#$^&*()=|{}'.<>《》/?!¥()—【】‘;:”“。,、?]")
|
||||
if(reg.test(value)){
|
||||
callback("数据值不能包含特殊字符!")
|
||||
callback('数据值不能包含特殊字符!')
|
||||
}else{
|
||||
//update--begin--autor:lvdandan-----date:20201203------for:JT-27【数据字典】字典 - 数据值可重复
|
||||
getAction("/sys/dictItem/dictItemCheck",param).then((res)=>{
|
||||
getAction('/sys/dictItem/dictItemCheck',param).then((res)=>{
|
||||
if(res.success){
|
||||
callback()
|
||||
}else{
|
||||
callback(res.message);
|
||||
callback(res.message)
|
||||
}
|
||||
});
|
||||
})
|
||||
//update--end--autor:lvdandan-----date:20201203------for:JT-27【数据字典】字典 - 数据值可重复
|
||||
}
|
||||
}else{
|
||||
|
||||
@@ -40,8 +40,8 @@
|
||||
<script>
|
||||
import pick from 'lodash.pick'
|
||||
import { addDict, editDict, duplicateCheck } from '@api/api'
|
||||
import {checkDictCode} from "@/utils/validateOnly";
|
||||
import JDate from "@comp/jero/JDate";
|
||||
import {checkDictCode} from '@/utils/validateOnly'
|
||||
import JDate from '@comp/jero/JDate'
|
||||
|
||||
export default {
|
||||
name: 'DictModal',
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="菜单路径">
|
||||
<a-input @change="event => event.target.value = event.target.value.trim()" :maxLength="60" placeholder="请输入菜单路径" v-decorator="[ 'url',validatorRules.url]" :readOnly="disableSubmit"/>
|
||||
<a-input @change="event => event.target.value = event.target.value.trim()" :maxLength="100" placeholder="请输入菜单路径" v-decorator="[ 'url',validatorRules.url]" :readOnly="disableSubmit"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item
|
||||
@@ -59,7 +59,7 @@
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="前端组件">
|
||||
<a-input placeholder="请输入前端组件" @change="event => event.target.value = event.target.value.trim()" :maxLength="60" v-decorator="[ 'component',validatorRules.component]" :readOnly="disableSubmit"/>
|
||||
<a-input placeholder="请输入前端组件" @change="event => event.target.value = event.target.value.trim()" :maxLength="120" v-decorator="[ 'component',validatorRules.component]" :readOnly="disableSubmit"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item
|
||||
@@ -180,14 +180,14 @@
|
||||
import pick from 'lodash.pick'
|
||||
|
||||
export default {
|
||||
name: "PermissionModal",
|
||||
name: 'PermissionModal',
|
||||
components: {Icons},
|
||||
data () {
|
||||
return {
|
||||
drawerWidth:700,
|
||||
treeData:[],
|
||||
treeValue: '0-0-4',
|
||||
title:"操作",
|
||||
title:'操作',
|
||||
visible: false,
|
||||
disableSubmit:false,
|
||||
model: {},
|
||||
@@ -215,7 +215,7 @@
|
||||
form: this.$form.createForm(this),
|
||||
|
||||
iconChooseVisible: false,
|
||||
validateStatus:""
|
||||
validateStatus:''
|
||||
}
|
||||
},
|
||||
computed:{
|
||||
@@ -230,118 +230,118 @@
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.initDictConfig();
|
||||
this.initDictConfig()
|
||||
},
|
||||
methods: {
|
||||
loadTree(){
|
||||
var that = this;
|
||||
var that = this
|
||||
queryTreeList().then((res)=>{
|
||||
if(res.success){
|
||||
that.treeData = [];
|
||||
that.treeData = []
|
||||
let treeList = res.result.treeList
|
||||
for(let a=0;a<treeList.length;a++){
|
||||
let temp = treeList[a];
|
||||
temp.isLeaf = temp.leaf;
|
||||
that.treeData.push(temp);
|
||||
let temp = treeList[a]
|
||||
temp.isLeaf = temp.leaf
|
||||
that.treeData.push(temp)
|
||||
}
|
||||
console.log(this.treeData)
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
add () {
|
||||
// 默认值
|
||||
this.edit({status:'1',permsType:'1',route:true});
|
||||
this.edit({status:'1',permsType:'1',route:true})
|
||||
},
|
||||
edit (record) {
|
||||
this.resetScreenSize(); // 调用此方法,根据屏幕宽度自适应调整抽屉的宽度
|
||||
this.form.resetFields();
|
||||
this.model = Object.assign({}, record);
|
||||
this.resetScreenSize() // 调用此方法,根据屏幕宽度自适应调整抽屉的宽度
|
||||
this.form.resetFields()
|
||||
this.model = Object.assign({}, record)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
//根据菜单类型,动态展示页面字段
|
||||
this.alwaysShow = !record.alwaysShow?false:true;
|
||||
this.menuHidden = !record.hidden?false:true;
|
||||
this.alwaysShow = !record.alwaysShow?false:true
|
||||
this.menuHidden = !record.hidden?false:true
|
||||
|
||||
if(record.route!=null){
|
||||
this.routeSwitch = record.route?true:false;
|
||||
this.routeSwitch = record.route?true:false
|
||||
}
|
||||
|
||||
if(record.keepAlive!=null){
|
||||
this.isKeepalive = record.keepAlive?true:false;
|
||||
this.isKeepalive = record.keepAlive?true:false
|
||||
}else{
|
||||
this.isKeepalive = false; // 升级兼容 如果没有(后台没有传过来、或者是新建)默认为false
|
||||
this.isKeepalive = false // 升级兼容 如果没有(后台没有传过来、或者是新建)默认为false
|
||||
}
|
||||
|
||||
/*update_begin author:wuxianquan date:20190908 for:编辑初始化数据*/
|
||||
if(record.internalOrExternal!=null){
|
||||
this.internalOrExternal = record.internalOrExternal?true:false;
|
||||
this.internalOrExternal = record.internalOrExternal?true:false
|
||||
}else{
|
||||
this.internalOrExternal = false;
|
||||
this.internalOrExternal = false
|
||||
}
|
||||
/*update_end author:wuxianquan date:20190908 for:编辑初始化数据*/
|
||||
|
||||
|
||||
this.show = record.menuType==2?false:true;
|
||||
this.menuLabel = record.menuType==2?'按钮/权限':'菜单名称';
|
||||
this.show = record.menuType==2?false:true
|
||||
this.menuLabel = record.menuType==2?'按钮/权限':'菜单名称'
|
||||
|
||||
if(this.model.parentId){
|
||||
this.localMenuType = 1;
|
||||
this.localMenuType = 1
|
||||
}else{
|
||||
this.localMenuType = 0;
|
||||
this.localMenuType = 0
|
||||
}
|
||||
//----------------------------------------------------------------------------------------------
|
||||
|
||||
this.visible = true;
|
||||
this.loadTree();
|
||||
let fieldsVal = pick(this.model,'name','perms','permsType','component','redirect','url','sortNo','menuType','status');
|
||||
this.visible = true
|
||||
this.loadTree()
|
||||
let fieldsVal = pick(this.model,'name','perms','permsType','component','redirect','url','sortNo','menuType','status')
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(fieldsVal)
|
||||
});
|
||||
})
|
||||
},
|
||||
close () {
|
||||
this.$emit('close');
|
||||
this.disableSubmit = false;
|
||||
this.visible = false;
|
||||
this.$emit('close')
|
||||
this.disableSubmit = false
|
||||
this.visible = false
|
||||
},
|
||||
handleOk () {
|
||||
const that = this;
|
||||
const that = this
|
||||
this.confirmLoading = true
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
this.model.alwaysShow = this.alwaysShow;
|
||||
this.model.hidden = this.menuHidden;
|
||||
this.model.route = this.routeSwitch;
|
||||
this.model.keepAlive = this.isKeepalive;
|
||||
this.model.alwaysShow = this.alwaysShow
|
||||
this.model.hidden = this.menuHidden
|
||||
this.model.route = this.routeSwitch
|
||||
this.model.keepAlive = this.isKeepalive
|
||||
/*update_begin author:wuxianquan date:20190908 for:获取值*/
|
||||
this.model.internalOrExternal = this.internalOrExternal;
|
||||
this.model.internalOrExternal = this.internalOrExternal
|
||||
/*update_end author:wuxianquan date:20190908 for:获取值*/
|
||||
|
||||
let formData = Object.assign(this.model, values);
|
||||
let formData = Object.assign(this.model, values)
|
||||
if ((formData.menuType == 1 || formData.menuType == 2) && !formData.parentId) {
|
||||
that.validateStatus = 'error';
|
||||
that.$message.warn("请检查你填的类型以及信息是否正确!");
|
||||
that.confirmLoading = false;
|
||||
return;
|
||||
that.validateStatus = 'error'
|
||||
that.$message.warn('请检查你填的类型以及信息是否正确!')
|
||||
that.confirmLoading = false
|
||||
return
|
||||
} else {
|
||||
that.validateStatus = 'success';
|
||||
that.validateStatus = 'success'
|
||||
}
|
||||
let obj;
|
||||
let obj
|
||||
if (!this.model.id) {
|
||||
obj = addPermission(formData);
|
||||
obj = addPermission(formData)
|
||||
} else {
|
||||
obj = editPermission(formData);
|
||||
obj = editPermission(formData)
|
||||
}
|
||||
obj.then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message);
|
||||
that.$emit('ok');
|
||||
that.close();
|
||||
that.$message.success(res.message)
|
||||
that.$emit('ok')
|
||||
that.close()
|
||||
} else {
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false;
|
||||
});
|
||||
that.confirmLoading = false
|
||||
})
|
||||
}else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
@@ -352,9 +352,9 @@
|
||||
},
|
||||
validateNumber(rule, value, callback){
|
||||
if(!value || new RegExp(/^[0-9]*[1-9][0-9]*$/).test(value)){
|
||||
callback();
|
||||
callback()
|
||||
}else{
|
||||
callback("请输入正整数!");
|
||||
callback('请输入正整数!')
|
||||
}
|
||||
},
|
||||
validatePerms(rule, value, callback){
|
||||
@@ -365,12 +365,12 @@
|
||||
fieldName: 'perms',
|
||||
fieldVal: value,
|
||||
dataId: this.model.id
|
||||
};
|
||||
}
|
||||
duplicateCheck(params).then((res) => {
|
||||
if (res.success) {
|
||||
callback()
|
||||
} else {
|
||||
callback("授权标识已存在!")
|
||||
callback('授权标识已存在!')
|
||||
}
|
||||
})
|
||||
}else{
|
||||
@@ -381,15 +381,15 @@
|
||||
this.form.resetFields()
|
||||
this.localMenuType=e.target.value
|
||||
if(e.target.value == 2){
|
||||
this.show = false;
|
||||
this.menuLabel = '按钮/权限';
|
||||
this.show = false
|
||||
this.menuLabel = '按钮/权限'
|
||||
}else{
|
||||
this.show = true;
|
||||
this.menuLabel = '菜单名称';
|
||||
this.show = true
|
||||
this.menuLabel = '菜单名称'
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.form.validateFields(['url','component'], { force: true });
|
||||
});
|
||||
this.form.validateFields(['url','component'], { force: true })
|
||||
})
|
||||
},
|
||||
selectIcons(){
|
||||
this.iconChooseVisible = true
|
||||
@@ -404,20 +404,20 @@
|
||||
},
|
||||
// 根据屏幕变化,设置抽屉尺寸
|
||||
resetScreenSize(){
|
||||
let screenWidth = document.body.clientWidth;
|
||||
let screenWidth = document.body.clientWidth
|
||||
if(screenWidth < 500){
|
||||
this.drawerWidth = screenWidth;
|
||||
this.drawerWidth = screenWidth
|
||||
}else{
|
||||
this.drawerWidth = 700;
|
||||
this.drawerWidth = 700
|
||||
}
|
||||
},
|
||||
initDictConfig() {
|
||||
},
|
||||
handleParentIdChange(value){
|
||||
if(!value){
|
||||
this.validateStatus="error"
|
||||
this.validateStatus='error'
|
||||
}else{
|
||||
this.validateStatus="success"
|
||||
this.validateStatus='success'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,18 +60,18 @@
|
||||
|
||||
<script>
|
||||
import { httpAction } from '@/api/manage'
|
||||
import JCron from "@/components/jero/JCron";
|
||||
import JCron from '@/components/jero/JCron'
|
||||
import pick from 'lodash.pick'
|
||||
// import moment from "moment"
|
||||
|
||||
export default {
|
||||
name: "QuartzJobModal",
|
||||
name: 'QuartzJobModal',
|
||||
components: {
|
||||
JCron
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
title:"操作",
|
||||
title:'操作',
|
||||
buttonStyle: 'solid',
|
||||
visible: false,
|
||||
model: {},
|
||||
@@ -97,8 +97,8 @@
|
||||
}
|
||||
},
|
||||
url: {
|
||||
add: "/sys/quartzJob/add",
|
||||
edit: "/sys/quartzJob/edit",
|
||||
add: '/sys/quartzJob/add',
|
||||
edit: '/sys/quartzJob/edit',
|
||||
},
|
||||
}
|
||||
},
|
||||
@@ -106,57 +106,57 @@
|
||||
},
|
||||
methods: {
|
||||
add () {
|
||||
this.edit({});
|
||||
this.edit({})
|
||||
},
|
||||
edit (record) {
|
||||
let that = this;
|
||||
that.form.resetFields();
|
||||
this.model = Object.assign({},record);
|
||||
let that = this
|
||||
that.form.resetFields()
|
||||
this.model = Object.assign({},record)
|
||||
console.log(this.model)
|
||||
this.visible = true;
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(this.model,'jobClassName','cronExpression','parameter','description','status'));
|
||||
});
|
||||
this.form.setFieldsValue(pick(this.model,'jobClassName','cronExpression','parameter','description','status'))
|
||||
})
|
||||
|
||||
},
|
||||
close () {
|
||||
this.$emit('close');
|
||||
this.visible = false;
|
||||
this.$emit('close')
|
||||
this.visible = false
|
||||
},
|
||||
handleOk () {
|
||||
const that = this;
|
||||
that.confirmLoading = true;
|
||||
const that = this
|
||||
that.confirmLoading = true
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
console.log('values',values)
|
||||
if (!err) {
|
||||
if (typeof values.cronExpression == "undefined" || Object.keys(values.cronExpression).length==0 ) {
|
||||
this.$message.warning('请输入cron表达式!');
|
||||
return false;
|
||||
if (typeof values.cronExpression == 'undefined' || Object.keys(values.cronExpression).length==0 ) {
|
||||
this.$message.warning('请输入cron表达式!')
|
||||
return false
|
||||
}
|
||||
let httpurl = '';
|
||||
let method = '';
|
||||
let httpurl = ''
|
||||
let method = ''
|
||||
if(!this.model.id){
|
||||
httpurl+=this.url.add;
|
||||
method = 'post';
|
||||
httpurl+=this.url.add
|
||||
method = 'post'
|
||||
}else{
|
||||
httpurl+=this.url.edit;
|
||||
method = 'put';
|
||||
httpurl+=this.url.edit
|
||||
method = 'put'
|
||||
}
|
||||
let formData = Object.assign(this.model, values);
|
||||
let formData = Object.assign(this.model, values)
|
||||
//时间格式化
|
||||
|
||||
console.log('提交参数',formData)
|
||||
httpAction(httpurl,formData,method).then((res)=>{
|
||||
if(res.success){
|
||||
that.$message.success(res.message);
|
||||
that.$emit('ok');
|
||||
that.close();
|
||||
that.$message.success(res.message)
|
||||
that.$emit('ok')
|
||||
that.close()
|
||||
}else{
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false;
|
||||
that.confirmLoading = false
|
||||
})
|
||||
|
||||
}else {
|
||||
@@ -168,21 +168,21 @@
|
||||
this.close()
|
||||
},
|
||||
setCorn(data){
|
||||
console.log('data)',data);
|
||||
console.log('data)',data)
|
||||
this.$nextTick(() => {
|
||||
this.model.cronExpression = data;
|
||||
this.model.cronExpression = data
|
||||
})
|
||||
|
||||
// console.log(Object.keys(data).length==0);
|
||||
if (Object.keys(data).length==0) {
|
||||
this.$message.warning('请输入cron表达式!');
|
||||
this.$message.warning('请输入cron表达式!')
|
||||
}
|
||||
},
|
||||
validateCron(rule, value, callback){
|
||||
if(!value){
|
||||
callback()
|
||||
}else if (Object.keys(value).length==0) {
|
||||
callback("请输入cron表达式!");
|
||||
callback('请输入cron表达式!')
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
}],
|
||||
activeTabKey: '1',
|
||||
url:{
|
||||
datarule:"/sys/role/datarule",
|
||||
datarule:'/sys/role/datarule',
|
||||
},
|
||||
dataruleList:[],
|
||||
dataruleChecked:[]
|
||||
@@ -68,21 +68,21 @@
|
||||
this.dataruleList = res.result.datarule
|
||||
let drChecked = res.result.drChecked
|
||||
if(drChecked){
|
||||
this.dataruleChecked = drChecked.split(",")
|
||||
this.dataruleChecked = drChecked.split(',')
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
saveDataruleForRole(){
|
||||
if(!this.dataruleChecked || this.dataruleChecked.length==0){
|
||||
this.$message.warning("请注意,现未勾选任何数据权限!")
|
||||
this.$message.warning('请注意,现未勾选任何数据权限!')
|
||||
}
|
||||
let params = {
|
||||
permissionId:this.functionId,
|
||||
roleId:this.roleId,
|
||||
dataRuleIds:this.dataruleChecked.join(",")
|
||||
dataRuleIds:this.dataruleChecked.join(',')
|
||||
}
|
||||
console.log("保存数据权限",params)
|
||||
console.log('保存数据权限',params)
|
||||
postAction(this.url.datarule,params).then(res=>{
|
||||
if(res.success){
|
||||
this.$message.success(res.message)
|
||||
|
||||
@@ -63,14 +63,14 @@
|
||||
<script>
|
||||
import pick from 'lodash.pick'
|
||||
import {addRole, editRole, duplicateCheck} from '@/api/api'
|
||||
import {checkRoleCode} from "@/utils/validateOnly";
|
||||
import {getAction} from "@api/manage";
|
||||
import {checkRoleCode} from '@/utils/validateOnly'
|
||||
import {getAction} from '@api/manage'
|
||||
|
||||
export default {
|
||||
name: "RoleModal",
|
||||
name: 'RoleModal',
|
||||
data() {
|
||||
return {
|
||||
title: "操作",
|
||||
title: '操作',
|
||||
visible: false,
|
||||
roleDisabled: false,
|
||||
// 是否添加下级
|
||||
@@ -115,23 +115,23 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
add() {
|
||||
this.edit({});
|
||||
this.edit({})
|
||||
},
|
||||
edit(record) {
|
||||
this.form.resetFields();
|
||||
this.form.resetFields()
|
||||
this.initAllRole()
|
||||
this.model = Object.assign({}, record);
|
||||
this.visible = true;
|
||||
this.model = Object.assign({}, record)
|
||||
this.visible = true
|
||||
|
||||
//编辑页面禁止修改角色编码
|
||||
if (this.model.id) {
|
||||
this.roleDisabled = true;
|
||||
this.roleDisabled = true
|
||||
} else {
|
||||
this.roleDisabled = false;
|
||||
this.roleDisabled = false
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(this.model, 'roleName', 'description', 'roleCode', 'parentId'))
|
||||
});
|
||||
})
|
||||
|
||||
},
|
||||
/*
|
||||
@@ -139,10 +139,10 @@ export default {
|
||||
* */
|
||||
addLowerRole(parentId) {
|
||||
// 添加下级
|
||||
this.isAddLower = true;
|
||||
this.form.resetFields();
|
||||
this.isAddLower = true
|
||||
this.form.resetFields()
|
||||
this.initAllRole()
|
||||
this.visible = true;
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue({parentId: parentId})
|
||||
})
|
||||
@@ -156,37 +156,37 @@ export default {
|
||||
})
|
||||
},
|
||||
close() {
|
||||
this.$emit('close');
|
||||
this.$emit('close')
|
||||
this.isAddLower = false
|
||||
this.visible = false;
|
||||
this.visible = false
|
||||
},
|
||||
handleOk() {
|
||||
this.confirmLoading = true
|
||||
const that = this;
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
values.roleName = (values.roleName || '').trim()
|
||||
values.roleCode = (values.roleCode || '').trim()
|
||||
let formData = Object.assign(this.model, values);
|
||||
let obj;
|
||||
let formData = Object.assign(this.model, values)
|
||||
let obj
|
||||
console.log(formData)
|
||||
if (!this.model.id) {
|
||||
obj = addRole(formData);
|
||||
obj = addRole(formData)
|
||||
} else {
|
||||
obj = editRole(formData);
|
||||
obj = editRole(formData)
|
||||
}
|
||||
obj.then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message);
|
||||
that.$emit('ok');
|
||||
that.$message.success(res.message)
|
||||
that.$emit('ok')
|
||||
this.$emit('clearSelect')
|
||||
that.close();
|
||||
that.close()
|
||||
} else {
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false;
|
||||
that.confirmLoading = false
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
|
||||
@@ -63,15 +63,15 @@
|
||||
<script>
|
||||
import {filterObj} from '@/utils/util'
|
||||
import {getAction} from '@/api/manage'
|
||||
import JEllipsise from "@comp/jero/JEllipsis";
|
||||
import "@/assets/less/TableExpand.less";
|
||||
import JEllipsise from '@comp/jero/JEllipsis'
|
||||
import '@/assets/less/TableExpand.less'
|
||||
|
||||
export default {
|
||||
name: "SelectUserModal",
|
||||
name: 'SelectUserModal',
|
||||
components:{JEllipsise},
|
||||
data() {
|
||||
return {
|
||||
title: "添加已有用户",
|
||||
title: '添加已有用户',
|
||||
names: [],
|
||||
visible: false,
|
||||
placement: 'right',
|
||||
@@ -90,42 +90,42 @@
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 50,
|
||||
align: "center",
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1;
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '用户账号',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 120,
|
||||
dataIndex: 'username',
|
||||
scopedSlots:{customRender:'text'}
|
||||
},
|
||||
{
|
||||
title: '用户名称',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 120,
|
||||
dataIndex: 'realname',
|
||||
scopedSlots:{customRender:'text'}
|
||||
},
|
||||
{
|
||||
title: '性别',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'sex_dictText',
|
||||
scopedSlots:{customRender:'text'}
|
||||
},
|
||||
{
|
||||
title: '电话',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'phone',
|
||||
scopedSlots:{customRender:'text'}
|
||||
},
|
||||
{
|
||||
title: '部门',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 150,
|
||||
dataIndex: 'orgCode',
|
||||
scopedSlots:{customRender:'text'}
|
||||
@@ -140,7 +140,7 @@
|
||||
pageSize: 10,
|
||||
pageSizeOptions: ['2','10', '20', '30'],
|
||||
showTotal: (total, range) => {
|
||||
return range[0] + "-" + range[1] + " 共" + total + "条"
|
||||
return range[0] + '-' + range[1] + ' 共' + total + '条'
|
||||
},
|
||||
showQuickJumper: true,
|
||||
showSizeChanger: true,
|
||||
@@ -154,7 +154,7 @@
|
||||
selectedRowKeys: [],
|
||||
selectedRows: [],
|
||||
url: {
|
||||
list: "/sys/user/pageRoleAndDepart",
|
||||
list: '/sys/user/pageRoleAndDepart',
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -163,26 +163,26 @@
|
||||
methods: {
|
||||
searchQuery() {
|
||||
this.lastQueryParam = { ...this.queryParam }
|
||||
this.loadData(1);
|
||||
this.loadData(1)
|
||||
},
|
||||
searchReset() {
|
||||
this.queryParam = {};
|
||||
this.queryParam = {}
|
||||
this.lastQueryParam = {}
|
||||
this.loadData(1);
|
||||
this.loadData(1)
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false;
|
||||
this.visible = false
|
||||
},
|
||||
handleOk() {
|
||||
this.disabledStatus =true
|
||||
this.dataSource2 = this.selectedRowKeys;
|
||||
console.log("data:" + this.dataSource2);
|
||||
this.$emit("selectFinished", this.dataSource2);
|
||||
this.dataSource2 = this.selectedRowKeys
|
||||
console.log('data:' + this.dataSource2)
|
||||
this.$emit('selectFinished', this.dataSource2)
|
||||
this.disabledStatus =false
|
||||
this.visible = false;
|
||||
this.visible = false
|
||||
},
|
||||
add(record) {
|
||||
this.visible = true;
|
||||
this.visible = true
|
||||
// 保存当前的机构编码
|
||||
this.currentOrgCode = record.orgCode
|
||||
this.loadData(1)
|
||||
@@ -192,23 +192,23 @@
|
||||
loadData(arg) {
|
||||
//加载数据 若传入参数1则加载第一页的内容
|
||||
if (arg === 1) {
|
||||
this.ipagination.current = 1;
|
||||
this.ipagination.current = 1
|
||||
}
|
||||
var params = this.getQueryParams();//查询条件
|
||||
var params = this.getQueryParams()//查询条件
|
||||
params.orgCode = this.currentOrgCode
|
||||
getAction(this.url.list, params).then((res) => {
|
||||
if (res.success) {
|
||||
this.dataSource1 = res.result.records;
|
||||
this.ipagination.total = res.result.total;
|
||||
this.dataSource1 = res.result.records
|
||||
this.ipagination.total = res.result.total
|
||||
}
|
||||
})
|
||||
},
|
||||
getQueryParams() {
|
||||
var param = Object.assign({}, this.lastQueryParam, this.isorter);
|
||||
param.field = this.getQueryField();
|
||||
param.pageNo = this.ipagination.current;
|
||||
param.pageSize = this.ipagination.pageSize;
|
||||
return filterObj(param);
|
||||
var param = Object.assign({}, this.lastQueryParam, this.isorter)
|
||||
param.field = this.getQueryField()
|
||||
param.pageNo = this.ipagination.current
|
||||
param.pageSize = this.ipagination.pageSize
|
||||
return filterObj(param)
|
||||
},
|
||||
getQueryField() {
|
||||
//TODO 字段权限控制
|
||||
@@ -216,48 +216,48 @@
|
||||
onSelectAll(selected, selectedRows, changeRows) {
|
||||
if (selected === true) {
|
||||
for (var a = 0; a < changeRows.length; a++) {
|
||||
this.dataSource2.push(changeRows[a]);
|
||||
this.dataSource2.push(changeRows[a])
|
||||
}
|
||||
} else {
|
||||
for (var b = 0; b < changeRows.length; b++) {
|
||||
this.dataSource2.splice(this.dataSource2.indexOf(changeRows[b]), 1);
|
||||
this.dataSource2.splice(this.dataSource2.indexOf(changeRows[b]), 1)
|
||||
}
|
||||
}
|
||||
// console.log(selected, selectedRows, changeRows);
|
||||
},
|
||||
onSelect(record, selected) {
|
||||
if (selected === true) {
|
||||
this.dataSource2.push(record);
|
||||
this.dataSource2.push(record)
|
||||
} else {
|
||||
var index = this.dataSource2.indexOf(record);
|
||||
var index = this.dataSource2.indexOf(record)
|
||||
//console.log();
|
||||
if (index >= 0) {
|
||||
this.dataSource2.splice(this.dataSource2.indexOf(record), 1);
|
||||
this.dataSource2.splice(this.dataSource2.indexOf(record), 1)
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
onSelectChange(selectedRowKeys, selectedRows) {
|
||||
this.selectedRowKeys = selectedRowKeys;
|
||||
this.selectionRows = selectedRows;
|
||||
this.selectedRowKeys = selectedRowKeys
|
||||
this.selectionRows = selectedRows
|
||||
},
|
||||
onClearSelected() {
|
||||
this.selectedRowKeys = [];
|
||||
this.selectionRows = [];
|
||||
this.selectedRowKeys = []
|
||||
this.selectionRows = []
|
||||
},
|
||||
handleDelete: function (record) {
|
||||
this.dataSource2.splice(this.dataSource2.indexOf(record), 1);
|
||||
this.dataSource2.splice(this.dataSource2.indexOf(record), 1)
|
||||
},
|
||||
handleTableChange(pagination, filters, sorter) {
|
||||
//分页、排序、筛选变化时触发
|
||||
console.log(sorter);
|
||||
console.log(sorter)
|
||||
//TODO 筛选
|
||||
if (Object.keys(sorter).length > 0) {
|
||||
this.isorter.column = sorter.field;
|
||||
this.isorter.order = "ascend" == sorter.order ? "asc" : "desc"
|
||||
this.isorter.column = sorter.field
|
||||
this.isorter.order = 'ascend' == sorter.order ? 'asc' : 'desc'
|
||||
}
|
||||
this.ipagination = pagination;
|
||||
this.loadData();
|
||||
this.ipagination = pagination
|
||||
this.loadData()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,14 +38,14 @@
|
||||
import JTreeSelect from '@/components/jero/JTreeSelect'
|
||||
|
||||
export default {
|
||||
name: "SysCategoryModal",
|
||||
name: 'SysCategoryModal',
|
||||
components: {
|
||||
JTreeSelect
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
form: this.$form.createForm(this),
|
||||
title:"操作",
|
||||
title:'操作',
|
||||
width:800,
|
||||
visible: false,
|
||||
model: {},
|
||||
@@ -71,12 +71,12 @@
|
||||
name:{rules: [{ required: true, message: '请输入类型名称!' }]}
|
||||
},
|
||||
url: {
|
||||
add: "/sys/category/add",
|
||||
edit: "/sys/category/edit",
|
||||
checkCode:"/sys/category/checkCode",
|
||||
add: '/sys/category/add',
|
||||
edit: '/sys/category/edit',
|
||||
checkCode:'/sys/category/checkCode',
|
||||
},
|
||||
expandedRowKeys:[],
|
||||
pidField:"pid",
|
||||
pidField:'pid',
|
||||
subExpandedKeys:[]
|
||||
|
||||
}
|
||||
@@ -85,47 +85,47 @@
|
||||
},
|
||||
methods: {
|
||||
add () {
|
||||
this.edit({});
|
||||
this.edit({})
|
||||
},
|
||||
edit (record) {
|
||||
this.form.resetFields();
|
||||
this.model = Object.assign({}, record);
|
||||
this.visible = true;
|
||||
this.form.resetFields()
|
||||
this.model = Object.assign({}, record)
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(this.model,'pid','name','code'))
|
||||
})
|
||||
},
|
||||
close () {
|
||||
this.$emit('close');
|
||||
this.visible = false;
|
||||
this.$emit('close')
|
||||
this.visible = false
|
||||
},
|
||||
handleOk () {
|
||||
const that = this;
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
that.confirmLoading = true;
|
||||
let httpurl = '';
|
||||
let method = '';
|
||||
that.confirmLoading = true
|
||||
let httpurl = ''
|
||||
let method = ''
|
||||
if(!this.model.id){
|
||||
httpurl+=this.url.add;
|
||||
method = 'post';
|
||||
httpurl+=this.url.add
|
||||
method = 'post'
|
||||
}else{
|
||||
httpurl+=this.url.edit;
|
||||
method = 'put';
|
||||
httpurl+=this.url.edit
|
||||
method = 'put'
|
||||
}
|
||||
let formData = Object.assign(this.model, values);
|
||||
console.log("表单提交数据",formData)
|
||||
let formData = Object.assign(this.model, values)
|
||||
console.log('表单提交数据',formData)
|
||||
httpAction(httpurl,formData,method).then((res)=>{
|
||||
if(res.success){
|
||||
that.$message.success(res.message);
|
||||
that.$message.success(res.message)
|
||||
that.submitSuccess(formData)
|
||||
}else{
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false;
|
||||
that.close();
|
||||
that.confirmLoading = false
|
||||
that.close()
|
||||
})
|
||||
}
|
||||
|
||||
@@ -143,11 +143,11 @@
|
||||
this.expandedRowKeys=[]
|
||||
this.getExpandKeysByPid(formData[this.pidField],treeData,treeData)
|
||||
if(formData.pid && this.expandedRowKeys.length==0){
|
||||
this.expandedRowKeys = this.subExpandedKeys;
|
||||
this.expandedRowKeys = this.subExpandedKeys
|
||||
}
|
||||
this.$emit('ok',formData,this.expandedRowKeys.reverse());
|
||||
this.$emit('ok',formData,this.expandedRowKeys.reverse())
|
||||
}else{
|
||||
this.$emit('ok',formData);
|
||||
this.$emit('ok',formData)
|
||||
}
|
||||
},
|
||||
getExpandKeysByPid(pid,arr,all){
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
import {httpAction, getAction} from '@/api/manage'
|
||||
import pick from 'lodash.pick'
|
||||
import {validateDuplicateValue} from '@/utils/util'
|
||||
import JFormContainer from "@comp/jero/JFormContainer";
|
||||
import JFormContainer from '@comp/jero/JFormContainer'
|
||||
|
||||
export default {
|
||||
name: 'SysConfusionForm',
|
||||
@@ -112,9 +112,9 @@ export default {
|
||||
// sex:{initialValue:((!this.model.sex)?"": (this.model.sex+""))}
|
||||
},
|
||||
url: {
|
||||
add: "/sys/confusion/add",
|
||||
edit: "/sys/confusion/edit",
|
||||
queryById: "/sys/confusion/queryById"
|
||||
add: '/sys/confusion/add',
|
||||
edit: '/sys/confusion/edit',
|
||||
queryById: '/sys/confusion/queryById'
|
||||
},
|
||||
|
||||
}
|
||||
@@ -140,16 +140,16 @@ export default {
|
||||
},
|
||||
created() {
|
||||
//如果是流程中表单,则需要加载流程表单data
|
||||
this.showFlowData();
|
||||
this.showFlowData()
|
||||
},
|
||||
methods: {
|
||||
add() {
|
||||
this.edit({});
|
||||
this.edit({})
|
||||
},
|
||||
edit(record) {
|
||||
this.form.resetFields();
|
||||
this.model = Object.assign({}, record);
|
||||
this.visible = true;
|
||||
this.form.resetFields()
|
||||
this.model = Object.assign({}, record)
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(this.model, 'confusionCode', 'tableName', 'fieldName'))
|
||||
})
|
||||
@@ -157,41 +157,41 @@ export default {
|
||||
//渲染流程表单数据
|
||||
showFlowData() {
|
||||
if (this.formBpm === true) {
|
||||
let params = {id: this.formData.dataId};
|
||||
let params = {id: this.formData.dataId}
|
||||
getAction(this.url.queryById, params).then((res) => {
|
||||
if (res.success) {
|
||||
this.edit(res.result);
|
||||
this.edit(res.result)
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
},
|
||||
submitForm() {
|
||||
const that = this;
|
||||
const that = this
|
||||
this.confirmLoading = true
|
||||
this.$emit('disableFalse',true)
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
let httpurl = '';
|
||||
let method = '';
|
||||
let httpurl = ''
|
||||
let method = ''
|
||||
if (!this.model.id) {
|
||||
httpurl += this.url.add;
|
||||
method = 'post';
|
||||
httpurl += this.url.add
|
||||
method = 'post'
|
||||
} else {
|
||||
httpurl += this.url.edit;
|
||||
method = 'post';
|
||||
httpurl += this.url.edit
|
||||
method = 'post'
|
||||
}
|
||||
let formData = Object.assign(this.model, values);
|
||||
console.log("表单提交数据", formData)
|
||||
let formData = Object.assign(this.model, values)
|
||||
console.log('表单提交数据', formData)
|
||||
httpAction(httpurl, formData, method).then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message);
|
||||
that.$emit('ok');
|
||||
that.$message.success(res.message)
|
||||
that.$emit('ok')
|
||||
} else {
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false;
|
||||
that.confirmLoading = false
|
||||
this.$emit('disableFalse',false)
|
||||
})
|
||||
}else {
|
||||
|
||||
@@ -38,25 +38,25 @@ export default {
|
||||
add() {
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.realForm.add();
|
||||
this.$refs.realForm.add()
|
||||
})
|
||||
},
|
||||
edit(record) {
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.realForm.edit(record);
|
||||
this.$refs.realForm.edit(record)
|
||||
})
|
||||
},
|
||||
close() {
|
||||
this.$emit('close');
|
||||
this.visible = false;
|
||||
this.$emit('close')
|
||||
this.visible = false
|
||||
},
|
||||
handleOk() {
|
||||
this.$refs.realForm.submitForm();
|
||||
this.$refs.realForm.submitForm()
|
||||
},
|
||||
submitCallback() {
|
||||
this.$emit('ok');
|
||||
this.visible = false;
|
||||
this.$emit('ok')
|
||||
this.visible = false
|
||||
},
|
||||
handleCancel() {
|
||||
this.close()
|
||||
|
||||
@@ -41,10 +41,10 @@
|
||||
import {duplicateCheck } from '@/api/api'
|
||||
|
||||
export default {
|
||||
name: "SysDepartRoleModal",
|
||||
name: 'SysDepartRoleModal',
|
||||
data () {
|
||||
return {
|
||||
title:"操作",
|
||||
title:'操作',
|
||||
visible: false,
|
||||
model: {},
|
||||
labelCol: {
|
||||
@@ -76,8 +76,8 @@
|
||||
]}
|
||||
},
|
||||
url: {
|
||||
add: "/sys/sysDepartRole/add",
|
||||
edit: "/sys/sysDepartRole/edit",
|
||||
add: '/sys/sysDepartRole/add',
|
||||
edit: '/sys/sysDepartRole/edit',
|
||||
},
|
||||
}
|
||||
},
|
||||
@@ -85,48 +85,48 @@
|
||||
},
|
||||
methods: {
|
||||
add (departId) {
|
||||
this.edit({},departId);
|
||||
this.edit({},departId)
|
||||
},
|
||||
edit (record,departId) {
|
||||
this.departId = departId;
|
||||
this.form.resetFields();
|
||||
this.model = Object.assign({}, record);
|
||||
this.visible = true;
|
||||
this.departId = departId
|
||||
this.form.resetFields()
|
||||
this.model = Object.assign({}, record)
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(this.model,'roleName','roleCode','description'))
|
||||
});
|
||||
})
|
||||
},
|
||||
close () {
|
||||
this.$emit('close');
|
||||
this.visible = false;
|
||||
this.$emit('close')
|
||||
this.visible = false
|
||||
},
|
||||
handleOk () {
|
||||
const that = this;
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
that.confirmLoading = true;
|
||||
let httpurl = '';
|
||||
let method = '';
|
||||
that.confirmLoading = true
|
||||
let httpurl = ''
|
||||
let method = ''
|
||||
if(!this.model.id){
|
||||
httpurl+=this.url.add;
|
||||
method = 'post';
|
||||
httpurl+=this.url.add
|
||||
method = 'post'
|
||||
}else{
|
||||
httpurl+=this.url.edit;
|
||||
method = 'put';
|
||||
httpurl+=this.url.edit
|
||||
method = 'put'
|
||||
}
|
||||
let formData = Object.assign(this.model, values);
|
||||
formData.departId = this.departId;
|
||||
let formData = Object.assign(this.model, values)
|
||||
formData.departId = this.departId
|
||||
httpAction(httpurl,formData,method).then((res)=>{
|
||||
if(res.success){
|
||||
that.$message.success(res.message);
|
||||
that.$emit('ok');
|
||||
that.$message.success(res.message)
|
||||
that.$emit('ok')
|
||||
}else{
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false;
|
||||
that.close();
|
||||
that.confirmLoading = false
|
||||
that.close()
|
||||
})
|
||||
}
|
||||
})
|
||||
@@ -136,21 +136,21 @@
|
||||
},
|
||||
validateRoleCode(rule, value, callback){
|
||||
if(/[\u4E00-\u9FA5]/g.test(value)){
|
||||
callback("部门角色编码不可输入汉字!");
|
||||
callback('部门角色编码不可输入汉字!')
|
||||
}else{
|
||||
var params = {
|
||||
tableName: "sys_depart_role",
|
||||
fieldName: "role_code",
|
||||
tableName: 'sys_depart_role',
|
||||
fieldName: 'role_code',
|
||||
fieldVal: value,
|
||||
dataId: this.model.id,
|
||||
};
|
||||
}
|
||||
duplicateCheck(params).then((res)=>{
|
||||
if(res.success){
|
||||
callback();
|
||||
callback()
|
||||
}else{
|
||||
callback(res.message);
|
||||
callback(res.message)
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,10 +49,10 @@
|
||||
import { validateDuplicateValue } from '@/utils/util'
|
||||
import JFormContainer from '@/components/jero/JFormContainer'
|
||||
import JDate from '@/components/jero/JDate'
|
||||
import JDictSelectTag from "@/components/dict/JDictSelectTag"
|
||||
import JDictSelectTag from '@/components/dict/JDictSelectTag'
|
||||
|
||||
export default {
|
||||
name: "TenantForm",
|
||||
name: 'TenantForm',
|
||||
components: {
|
||||
JFormContainer,
|
||||
JDate,
|
||||
@@ -91,9 +91,9 @@
|
||||
validatorRules: {
|
||||
},
|
||||
url: {
|
||||
add: "/sys/tenant/add",
|
||||
edit: "/sys/tenant/edit",
|
||||
queryById: "/sys/tenant/queryById"
|
||||
add: '/sys/tenant/add',
|
||||
edit: '/sys/tenant/edit',
|
||||
queryById: '/sys/tenant/queryById'
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -121,59 +121,59 @@
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.showFlowData();
|
||||
this.showFlowData()
|
||||
},
|
||||
methods: {
|
||||
add () {
|
||||
this.edit({});
|
||||
this.edit({})
|
||||
},
|
||||
edit (record) {
|
||||
this.form.resetFields();
|
||||
this.model = Object.assign({}, record);
|
||||
this.visible = true;
|
||||
this.form.resetFields()
|
||||
this.model = Object.assign({}, record)
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(this.model,'id','name','beginDate','endDate','status'))
|
||||
})
|
||||
},
|
||||
showFlowData(){
|
||||
if(this.normal === false){
|
||||
let params = {id:this.formData.dataId};
|
||||
let params = {id:this.formData.dataId}
|
||||
getAction(this.url.queryById,params).then((res)=>{
|
||||
if(res.success){
|
||||
this.edit (res.result);
|
||||
this.edit (res.result)
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
},
|
||||
submitForm () {
|
||||
const that = this;
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
that.confirmLoading = true;
|
||||
let httpurl = '';
|
||||
let method = '';
|
||||
that.confirmLoading = true
|
||||
let httpurl = ''
|
||||
let method = ''
|
||||
if(!this.model.id){
|
||||
httpurl+=this.url.add;
|
||||
method = 'post';
|
||||
httpurl+=this.url.add
|
||||
method = 'post'
|
||||
}else{
|
||||
httpurl+=this.url.edit;
|
||||
method = 'put';
|
||||
httpurl+=this.url.edit
|
||||
method = 'put'
|
||||
}
|
||||
let formData = Object.assign(this.model, values);
|
||||
console.log("表单提交数据",formData)
|
||||
let formData = Object.assign(this.model, values)
|
||||
console.log('表单提交数据',formData)
|
||||
httpAction(httpurl,formData,method).then((res)=>{
|
||||
if(res.success){
|
||||
that.$message.success(res.message);
|
||||
that.$emit('ok');
|
||||
that.$message.success(res.message)
|
||||
that.$emit('ok')
|
||||
}else{
|
||||
if("该编号已存在!" == res.message){
|
||||
this.model.id=""
|
||||
if('该编号已存在!' == res.message){
|
||||
this.model.id=''
|
||||
}
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false;
|
||||
that.confirmLoading = false
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
import TenantForm from './TenantForm'
|
||||
export default {
|
||||
name: "TenantModal",
|
||||
name: 'TenantModal',
|
||||
components: {
|
||||
TenantForm
|
||||
},
|
||||
@@ -32,25 +32,25 @@
|
||||
add () {
|
||||
this.visible=true
|
||||
this.$nextTick(()=>{
|
||||
this.$refs.realForm.add();
|
||||
this.$refs.realForm.add()
|
||||
})
|
||||
},
|
||||
edit (record) {
|
||||
this.visible=true
|
||||
this.$nextTick(()=>{
|
||||
this.$refs.realForm.edit(record);
|
||||
this.$refs.realForm.edit(record)
|
||||
})
|
||||
},
|
||||
close () {
|
||||
this.$emit('close');
|
||||
this.visible = false;
|
||||
this.$emit('close')
|
||||
this.visible = false
|
||||
},
|
||||
handleOk () {
|
||||
this.$refs.realForm.submitForm();
|
||||
this.$refs.realForm.submitForm()
|
||||
},
|
||||
submitCallback(){
|
||||
this.$emit('ok');
|
||||
this.visible = false;
|
||||
this.$emit('ok')
|
||||
this.visible = false
|
||||
},
|
||||
handleCancel () {
|
||||
this.close()
|
||||
|
||||
@@ -165,19 +165,19 @@
|
||||
import pick from 'lodash.pick'
|
||||
import moment from 'moment'
|
||||
import Vue from 'vue'
|
||||
import {ACCESS_TOKEN} from "@/store/mutation-types"
|
||||
import {ACCESS_TOKEN} from '@/store/mutation-types'
|
||||
import {getAction} from '@/api/manage'
|
||||
import {addUser, editUser, queryUserRole, queryall,queryallRoles, queryDepartTreeList} from '@/api/api'
|
||||
import {disabledAuthFilter} from "@/utils/authFilter"
|
||||
import {disabledAuthFilter} from '@/utils/authFilter'
|
||||
import {duplicateCheck} from '@/api/api'
|
||||
import { isEmail, passwordReg} from "@/utils/validate";
|
||||
import {checkPhone,checkEmail,checkUserName} from "@/utils/validateOnly";
|
||||
import { getRSAPublicKey } from "@/api/login.js";
|
||||
import {encrypt} from "@/utils/util";
|
||||
import { isEmail, passwordReg} from '@/utils/validate'
|
||||
import {checkPhone,checkEmail,checkUserName} from '@/utils/validateOnly'
|
||||
import { getRSAPublicKey } from '@/api/login.js'
|
||||
import {encrypt} from '@/utils/util'
|
||||
|
||||
|
||||
export default {
|
||||
name: "UserModal",
|
||||
name: 'UserModal',
|
||||
data() {
|
||||
return {
|
||||
departDisabled: false, //是否是我的部门调用该页面
|
||||
@@ -193,12 +193,12 @@ export default {
|
||||
selectedDepartKeys: [], //保存用户选择部门id
|
||||
checkedDepartKeys: [],
|
||||
checkedDepartNames: [], // 保存部门的名称 =>title
|
||||
checkedDepartNameString: "", // 保存部门的名称 =>title
|
||||
checkedDepartNameString: '', // 保存部门的名称 =>title
|
||||
resultDepartOptions: [],
|
||||
userId: "", //保存用户id
|
||||
userId: '', //保存用户id
|
||||
disableSubmit: false,
|
||||
userDepartModel: {userId: '', departIdList: []}, // 保存SysUserDepart的用户部门中间表数据需要的对象
|
||||
dateFormat: "YYYY-MM-DD",
|
||||
dateFormat: 'YYYY-MM-DD',
|
||||
validatorRules: {
|
||||
username: {
|
||||
rules: [{
|
||||
@@ -232,13 +232,13 @@ export default {
|
||||
},],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
selectedroles:{rules: [{required: true, message:"请选择角色类型"}], validateTrigger: ['blur','change']},
|
||||
selecteddeparts:{rules: [{required: true, message:"请选择组织机构"}], validateTrigger: ['blur','change']}
|
||||
selectedroles:{rules: [{required: true, message:'请选择角色类型'}], validateTrigger: ['blur','change']},
|
||||
selecteddeparts:{rules: [{required: true, message:'请选择组织机构'}], validateTrigger: ['blur','change']}
|
||||
// sex:{initialValue:((!this.model.sex)?"": (this.model.sex+""))}
|
||||
},
|
||||
departIdShow: false,
|
||||
departIds: [], //负责部门id
|
||||
title: "操作",
|
||||
title: '操作',
|
||||
visible: false,
|
||||
model: {},
|
||||
roleList: [],
|
||||
@@ -255,36 +255,36 @@ export default {
|
||||
confirmLoading: false,
|
||||
headers: {},
|
||||
form: this.$form.createForm(this),
|
||||
picUrl: "",
|
||||
picUrl: '',
|
||||
url: {
|
||||
fileUpload: window._CONFIG['domianURL'] + "/sys/common/upload",
|
||||
userWithDepart: "/sys/user/userDepartList", // 引入为指定用户查看部门信息需要的url
|
||||
userId: "/sys/user/generateUserId", // 引入生成添加用户情况下的url
|
||||
syncUserByUserName: "/act/process/extActProcess/doSyncUserByUserName",//同步用户到工作流
|
||||
fileUpload: window._CONFIG['domianURL'] + '/sys/common/upload',
|
||||
userWithDepart: '/sys/user/userDepartList', // 引入为指定用户查看部门信息需要的url
|
||||
userId: '/sys/user/generateUserId', // 引入生成添加用户情况下的url
|
||||
syncUserByUserName: '/act/process/extActProcess/doSyncUserByUserName',//同步用户到工作流
|
||||
// queryTenantList: '/sys/tenant/queryList'
|
||||
},
|
||||
identity: "1",
|
||||
identity: '1',
|
||||
fileList: [],
|
||||
tenantList: [],
|
||||
currentTenant: [],
|
||||
// 公钥
|
||||
rsaPublicKey:""
|
||||
rsaPublicKey:''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
const token = Vue.ls.get(ACCESS_TOKEN);
|
||||
this.headers = {"X-Access-Token": token}
|
||||
const token = Vue.ls.get(ACCESS_TOKEN)
|
||||
this.headers = {'X-Access-Token': token}
|
||||
// this.initTenantList()
|
||||
|
||||
},
|
||||
computed: {
|
||||
uploadAction: function () {
|
||||
return this.url.fileUpload;
|
||||
return this.url.fileUpload
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
isDisabledAuth(code) {
|
||||
return disabledAuthFilter(code);
|
||||
return disabledAuthFilter(code)
|
||||
},
|
||||
// initTenantList() {
|
||||
// getAction(this.url.queryTenantList).then(res => {
|
||||
@@ -296,20 +296,20 @@ export default {
|
||||
//窗口最大化切换
|
||||
toggleScreen() {
|
||||
if (this.modaltoggleFlag) {
|
||||
this.modalWidth = window.innerWidth;
|
||||
this.modalWidth = window.innerWidth
|
||||
} else {
|
||||
this.modalWidth = 800;
|
||||
this.modalWidth = 800
|
||||
}
|
||||
this.modaltoggleFlag = !this.modaltoggleFlag;
|
||||
this.modaltoggleFlag = !this.modaltoggleFlag
|
||||
},
|
||||
initialRoleList() {
|
||||
queryall().then((res) => {
|
||||
if (res.success) {
|
||||
this.roleList = res.result;
|
||||
this.roleList = res.result
|
||||
} else {
|
||||
console.log(res.message);
|
||||
console.log(res.message)
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
loadUserRoles(userid) {
|
||||
return new Promise(resolve => {
|
||||
@@ -317,74 +317,74 @@ export default {
|
||||
if (res.success) {
|
||||
resolve(res.result)
|
||||
} else {
|
||||
console.log(res.message);
|
||||
console.log(res.message)
|
||||
}
|
||||
});
|
||||
})
|
||||
})
|
||||
},
|
||||
refresh() {
|
||||
this.selectedDepartKeys = [];
|
||||
this.checkedDepartKeys = [];
|
||||
this.checkedDepartNames = [];
|
||||
this.checkedDepartNameString = "";
|
||||
this.userId = ""
|
||||
this.resultDepartOptions = [];
|
||||
this.departId = [];
|
||||
this.departIdShow = false;
|
||||
this.selectedDepartKeys = []
|
||||
this.checkedDepartKeys = []
|
||||
this.checkedDepartNames = []
|
||||
this.checkedDepartNameString = ''
|
||||
this.userId = ''
|
||||
this.resultDepartOptions = []
|
||||
this.departId = []
|
||||
this.departIdShow = false
|
||||
this.currentTenant = []
|
||||
},
|
||||
add() {
|
||||
this.picUrl = "";
|
||||
this.refresh();
|
||||
this.edit({activitiSync: '1'});
|
||||
this.picUrl = ''
|
||||
this.refresh()
|
||||
this.edit({activitiSync: '1'})
|
||||
},
|
||||
edit(record) {
|
||||
|
||||
this.resetScreenSize(); // 调用此方法,根据屏幕宽度自适应调整抽屉的宽度
|
||||
this.resetScreenSize() // 调用此方法,根据屏幕宽度自适应调整抽屉的宽度
|
||||
// 加载组织机构数据
|
||||
this.loadDepartTreeData()
|
||||
// 加载角色数据
|
||||
this.loadRolesTreeData()
|
||||
// 获取公钥
|
||||
this.getPublicKey()
|
||||
let that = this;
|
||||
that.initialRoleList();
|
||||
that.checkedDepartNameString = "";
|
||||
that.form.resetFields();
|
||||
if (record.hasOwnProperty("id")) {
|
||||
let that = this
|
||||
that.initialRoleList()
|
||||
that.checkedDepartNameString = ''
|
||||
that.form.resetFields()
|
||||
if (record.hasOwnProperty('id')) {
|
||||
that.loadUserRoles(record.id).then(res => {
|
||||
that.form.setFieldsValue({selectedroles:res})
|
||||
});
|
||||
})
|
||||
setTimeout(() => {
|
||||
this.fileList = record.avatar;
|
||||
this.fileList = record.avatar
|
||||
}, 5)
|
||||
}
|
||||
that.userId = record.id;
|
||||
that.visible = true;
|
||||
that.model = Object.assign({}, record);
|
||||
that.userId = record.id
|
||||
that.visible = true
|
||||
that.model = Object.assign({}, record)
|
||||
if(record.departIds !== '' && record.id){
|
||||
that.model.selecteddeparts = record.departIds.split(',')
|
||||
}
|
||||
that.$nextTick(() => {
|
||||
that.form.setFieldsValue(pick(this.model, 'username', 'realname', 'email', 'phone', 'post','selecteddeparts'))
|
||||
});
|
||||
})
|
||||
//身份为上级显示负责部门,否则不显示
|
||||
if (this.model.userIdentity == "2") {
|
||||
this.identity = "2";
|
||||
this.departIdShow = true;
|
||||
if (this.model.userIdentity == '2') {
|
||||
this.identity = '2'
|
||||
this.departIdShow = true
|
||||
} else {
|
||||
this.identity = "1";
|
||||
this.departIdShow = false;
|
||||
this.identity = '1'
|
||||
this.departIdShow = false
|
||||
}
|
||||
// 调用查询用户对应的部门信息的方法
|
||||
that.checkedDepartKeys = [];
|
||||
that.loadCheckedDeparts();
|
||||
that.checkedDepartKeys = []
|
||||
that.loadCheckedDeparts()
|
||||
|
||||
//update-begin-author:taoyan date:2020710 for:多租户配置
|
||||
if (!record.relTenantIds || record.relTenantIds.length == 0) {
|
||||
this.currentTenant = []
|
||||
} else {
|
||||
this.currentTenant = record.relTenantIds.split(',').map(Number);
|
||||
this.currentTenant = record.relTenantIds.split(',').map(Number)
|
||||
}
|
||||
//update-end-author:taoyan date:2020710 for:多租户配置
|
||||
},
|
||||
@@ -393,12 +393,12 @@ export default {
|
||||
const that = this
|
||||
queryDepartTreeList().then((res) => {
|
||||
if(res.success){
|
||||
that.treeDepartData = [];
|
||||
that.treeDepartData = []
|
||||
let treeList = res.result
|
||||
for(let a=0;a<treeList.length;a++){
|
||||
let temp = treeList[a];
|
||||
temp.isLeaf = temp.leaf;
|
||||
that.treeDepartData.push(temp);
|
||||
let temp = treeList[a]
|
||||
temp.isLeaf = temp.leaf
|
||||
that.treeDepartData.push(temp)
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -408,12 +408,12 @@ export default {
|
||||
const that = this
|
||||
queryallRoles().then((res) => {
|
||||
if(res.success){
|
||||
that.treeRoleData = [];
|
||||
that.treeRoleData = []
|
||||
let treeList = res.result
|
||||
for(let a=0;a<treeList.length;a++){
|
||||
let temp = treeList[a];
|
||||
temp.isLeaf = temp.leaf;
|
||||
that.treeRoleData.push(temp);
|
||||
let temp = treeList[a]
|
||||
temp.isLeaf = temp.leaf
|
||||
that.treeRoleData.push(temp)
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -421,23 +421,23 @@ export default {
|
||||
getPublicKey() {
|
||||
// 获取公钥
|
||||
getRSAPublicKey().then(res => {
|
||||
this.rsaPublicKey = res.result;
|
||||
});
|
||||
this.rsaPublicKey = res.result
|
||||
})
|
||||
},
|
||||
loadCheckedDeparts() {
|
||||
let that = this;
|
||||
let that = this
|
||||
if (!that.userId) {
|
||||
return
|
||||
}
|
||||
getAction(that.url.userWithDepart, {userId: that.userId}).then((res) => {
|
||||
that.checkedDepartNames = [];
|
||||
that.checkedDepartNames = []
|
||||
if (res.success) {
|
||||
var depart = [];
|
||||
var departId = [];
|
||||
var depart = []
|
||||
var departId = []
|
||||
for (let i = 0; i < res.result.length; i++) {
|
||||
that.checkedDepartNames.push(res.result[i].title);
|
||||
this.checkedDepartNameString = this.checkedDepartNames.join(",");
|
||||
that.checkedDepartKeys.push(res.result[i].key);
|
||||
that.checkedDepartNames.push(res.result[i].title)
|
||||
this.checkedDepartNameString = this.checkedDepartNames.join(',')
|
||||
that.checkedDepartKeys.push(res.result[i].key)
|
||||
//新增负责部门选择下拉框
|
||||
depart.push({
|
||||
key: res.result[i].key,
|
||||
@@ -445,48 +445,48 @@ export default {
|
||||
})
|
||||
departId.push(res.result[i].key)
|
||||
}
|
||||
that.resultDepartOptions = depart;
|
||||
that.resultDepartOptions = depart
|
||||
//判断部门id是否存在,不存在择直接默认当前所在部门
|
||||
if (this.model.departIds) {
|
||||
this.departIds = this.model.departIds.split(",");
|
||||
this.departIds = this.model.departIds.split(',')
|
||||
} else {
|
||||
this.departIds = departId;
|
||||
this.departIds = departId
|
||||
}
|
||||
that.userDepartModel.departIdList = that.checkedDepartKeys
|
||||
} else {
|
||||
console.log(res.message);
|
||||
console.log(res.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
close() {
|
||||
this.$emit('close');
|
||||
this.visible = false;
|
||||
this.disableSubmit = false;
|
||||
this.selectedRole = [];
|
||||
this.userDepartModel = {userId: '', departIdList: []};
|
||||
this.checkedDepartNames = [];
|
||||
this.checkedDepartNameString = '';
|
||||
this.checkedDepartKeys = [];
|
||||
this.selectedDepartKeys = [];
|
||||
this.resultDepartOptions = [];
|
||||
this.departIds = [];
|
||||
this.departIdShow = false;
|
||||
this.identity = "1";
|
||||
this.fileList = [];
|
||||
this.$emit('close')
|
||||
this.visible = false
|
||||
this.disableSubmit = false
|
||||
this.selectedRole = []
|
||||
this.userDepartModel = {userId: '', departIdList: []}
|
||||
this.checkedDepartNames = []
|
||||
this.checkedDepartNameString = ''
|
||||
this.checkedDepartKeys = []
|
||||
this.selectedDepartKeys = []
|
||||
this.resultDepartOptions = []
|
||||
this.departIds = []
|
||||
this.departIdShow = false
|
||||
this.identity = '1'
|
||||
this.fileList = []
|
||||
},
|
||||
moment,
|
||||
handleSubmit() {
|
||||
console.log("username",this.form.getFieldValue('username'))
|
||||
const that = this;
|
||||
that.confirmLoading = true;
|
||||
console.log('username',this.form.getFieldValue('username'))
|
||||
const that = this
|
||||
that.confirmLoading = true
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
let formData = Object.assign(this.model, values);
|
||||
let formData = Object.assign(this.model, values)
|
||||
if (that.fileList != '') {
|
||||
formData.avatar = that.fileList;
|
||||
formData.avatar = that.fileList
|
||||
} else {
|
||||
formData.avatar = null;
|
||||
formData.avatar = null
|
||||
}
|
||||
// 公钥参数
|
||||
formData.rsaPublicKey = that.rsaPublicKey
|
||||
@@ -498,39 +498,39 @@ export default {
|
||||
//update-begin-author:taoyan date:2020710 for:多租户配置
|
||||
formData.relTenantIds = this.currentTenant.length > 0 ? this.currentTenant.join(',') : ''
|
||||
//update-end-author:taoyan date:2020710 for:多租户配置
|
||||
formData.selectedroles = values.selectedroles.length > 0 ? values.selectedroles.join(",") : '';
|
||||
formData.selecteddeparts = values.selecteddeparts.length > 0 ? values.selecteddeparts.join(",") : '';
|
||||
formData.userIdentity = this.identity;
|
||||
formData.selectedroles = values.selectedroles.length > 0 ? values.selectedroles.join(',') : ''
|
||||
formData.selecteddeparts = values.selecteddeparts.length > 0 ? values.selecteddeparts.join(',') : ''
|
||||
formData.userIdentity = this.identity
|
||||
//如果是上级择传入departIds,否则为空
|
||||
if (this.identity === "2") {
|
||||
formData.departIds = this.departIds.join(",");
|
||||
if (this.identity === '2') {
|
||||
formData.departIds = this.departIds.join(',')
|
||||
} else {
|
||||
formData.departIds = "";
|
||||
formData.departIds = ''
|
||||
}
|
||||
// that.addDepartsToUser(that,formData); // 调用根据当前用户添加部门信息的方法
|
||||
let obj;
|
||||
let obj
|
||||
if (!this.model.id) {
|
||||
formData.id = this.userId;
|
||||
obj = addUser(formData);
|
||||
formData.id = this.userId
|
||||
obj = addUser(formData)
|
||||
} else {
|
||||
obj = editUser(formData);
|
||||
obj = editUser(formData)
|
||||
}
|
||||
obj.then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message);
|
||||
that.$emit('ok');
|
||||
that.close();
|
||||
that.$message.success(res.message)
|
||||
that.$emit('ok')
|
||||
that.close()
|
||||
} else {
|
||||
that.$message.warning(res.message);
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false;
|
||||
that.checkedDepartNames = [];
|
||||
that.userDepartModel.departIdList = {userId: '', departIdList: []};
|
||||
that.confirmLoading = false
|
||||
that.checkedDepartNames = []
|
||||
that.userDepartModel.departIdList = {userId: '', departIdList: []}
|
||||
})
|
||||
|
||||
}else {
|
||||
that.confirmLoading = false;
|
||||
that.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -538,7 +538,7 @@ export default {
|
||||
this.close()
|
||||
},
|
||||
validateToNextPassword(rule, value, callback) {
|
||||
const form = this.form;
|
||||
const form = this.form
|
||||
if (!value) {
|
||||
callback()
|
||||
}
|
||||
@@ -548,12 +548,12 @@ export default {
|
||||
if (value && this.confirmDirty) {
|
||||
form.validateFields(['confirm'], {force: true})
|
||||
}
|
||||
callback();
|
||||
callback()
|
||||
},
|
||||
compareToFirstPassword(rule, value, callback) {
|
||||
const form = this.form;
|
||||
const form = this.form
|
||||
if (value && value !== form.getFieldValue('password')) {
|
||||
callback('两次输入的密码不一样!');
|
||||
callback('两次输入的密码不一样!')
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
@@ -586,62 +586,62 @@ export default {
|
||||
})
|
||||
},
|
||||
handleConfirmBlur(e) {
|
||||
const value = e.target.value;
|
||||
const value = e.target.value
|
||||
this.confirmDirty = this.confirmDirty || !!value
|
||||
},
|
||||
|
||||
normFile(e) {
|
||||
console.log('Upload event:', e);
|
||||
console.log('Upload event:', e)
|
||||
if (Array.isArray(e)) {
|
||||
return e
|
||||
}
|
||||
return e && e.fileList
|
||||
},
|
||||
beforeUpload: function (file) {
|
||||
var fileType = file.type;
|
||||
var fileType = file.type
|
||||
if (fileType.indexOf('image') < 0) {
|
||||
this.$message.warning('请上传图片');
|
||||
return false;
|
||||
this.$message.warning('请上传图片')
|
||||
return false
|
||||
}
|
||||
//TODO 验证文件大小
|
||||
},
|
||||
handleChange(info) {
|
||||
this.picUrl = "";
|
||||
this.picUrl = ''
|
||||
if (info.file.status === 'uploading') {
|
||||
this.uploadLoading = true;
|
||||
this.uploadLoading = true
|
||||
return
|
||||
}
|
||||
if (info.file.status === 'done') {
|
||||
var response = info.file.response;
|
||||
this.uploadLoading = false;
|
||||
console.log(response);
|
||||
var response = info.file.response
|
||||
this.uploadLoading = false
|
||||
console.log(response)
|
||||
if (response.success) {
|
||||
this.model.avatar = response.message;
|
||||
this.picUrl = "Has no pic url yet";
|
||||
this.model.avatar = response.message
|
||||
this.picUrl = 'Has no pic url yet'
|
||||
} else {
|
||||
this.$message.warning(response.message);
|
||||
this.$message.warning(response.message)
|
||||
}
|
||||
}
|
||||
},
|
||||
// 搜索用户对应的部门API
|
||||
onSearch() {
|
||||
this.$refs.departWindow.add(this.checkedDepartKeys, this.userId);
|
||||
this.$refs.departWindow.add(this.checkedDepartKeys, this.userId)
|
||||
},
|
||||
|
||||
// 获取用户对应部门弹出框提交给返回的数据
|
||||
modalFormOk(formData) {
|
||||
this.checkedDepartNames = [];
|
||||
this.selectedDepartKeys = [];
|
||||
this.checkedDepartNameString = '';
|
||||
this.userId = formData.userId;
|
||||
this.userDepartModel.userId = formData.userId;
|
||||
this.departIds = [];
|
||||
this.resultDepartOptions = [];
|
||||
var depart = [];
|
||||
this.checkedDepartNames = []
|
||||
this.selectedDepartKeys = []
|
||||
this.checkedDepartNameString = ''
|
||||
this.userId = formData.userId
|
||||
this.userDepartModel.userId = formData.userId
|
||||
this.departIds = []
|
||||
this.resultDepartOptions = []
|
||||
var depart = []
|
||||
for (let i = 0; i < formData.departIdList.length; i++) {
|
||||
this.selectedDepartKeys.push(formData.departIdList[i].key);
|
||||
this.checkedDepartNames.push(formData.departIdList[i].title);
|
||||
this.checkedDepartNameString = this.checkedDepartNames.join(",");
|
||||
this.selectedDepartKeys.push(formData.departIdList[i].key)
|
||||
this.checkedDepartNames.push(formData.departIdList[i].title)
|
||||
this.checkedDepartNameString = this.checkedDepartNames.join(',')
|
||||
//新增部门选择,如果上面部门选择后不为空直接付给负责部门
|
||||
depart.push({
|
||||
key: formData.departIdList[i].key,
|
||||
@@ -649,24 +649,24 @@ export default {
|
||||
})
|
||||
this.departIds.push(formData.departIdList[i].key)
|
||||
}
|
||||
this.resultDepartOptions = depart;
|
||||
this.userDepartModel.departIdList = this.selectedDepartKeys;
|
||||
this.resultDepartOptions = depart
|
||||
this.userDepartModel.departIdList = this.selectedDepartKeys
|
||||
this.checkedDepartKeys = this.selectedDepartKeys //更新当前的选择keys
|
||||
},
|
||||
// 根据屏幕变化,设置抽屉尺寸
|
||||
resetScreenSize() {
|
||||
let screenWidth = document.body.clientWidth;
|
||||
let screenWidth = document.body.clientWidth
|
||||
if (screenWidth < 500) {
|
||||
this.drawerWidth = screenWidth;
|
||||
this.drawerWidth = screenWidth
|
||||
} else {
|
||||
this.drawerWidth = 700;
|
||||
this.drawerWidth = 700
|
||||
}
|
||||
},
|
||||
identityChange(e) {
|
||||
if (e.target.value === "1") {
|
||||
this.departIdShow = false;
|
||||
if (e.target.value === '1') {
|
||||
this.departIdShow = false
|
||||
} else {
|
||||
this.departIdShow = true;
|
||||
this.departIdShow = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,13 +60,13 @@
|
||||
import RoleDataruleModal from './RoleDataruleModal.vue'
|
||||
|
||||
export default {
|
||||
name: "RoleModal",
|
||||
name: 'RoleModal',
|
||||
components:{
|
||||
RoleDataruleModal
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
roleId:"",
|
||||
roleId:'',
|
||||
treeData: [],
|
||||
defaultCheckedKeys:[],
|
||||
checkedKeys:[],
|
||||
@@ -74,7 +74,7 @@
|
||||
allTreeKeys:[],
|
||||
autoExpandParent: true,
|
||||
checkStrictly: true,
|
||||
title:"角色权限配置",
|
||||
title:'角色权限配置',
|
||||
visible: false,
|
||||
loading: false,
|
||||
selectedKeys:[]
|
||||
@@ -89,22 +89,22 @@
|
||||
},
|
||||
onCheck (o) {
|
||||
if(this.checkStrictly){
|
||||
this.checkedKeys = o.checked;
|
||||
this.checkedKeys = o.checked
|
||||
}else{
|
||||
this.checkedKeys = o
|
||||
}
|
||||
},
|
||||
show(roleId){
|
||||
this.roleId=roleId
|
||||
this.visible = true;
|
||||
this.visible = true
|
||||
},
|
||||
close () {
|
||||
this.reset()
|
||||
this.$emit('close');
|
||||
this.visible = false;
|
||||
this.$emit('close')
|
||||
this.visible = false
|
||||
},
|
||||
onExpand(expandedKeys){
|
||||
this.expandedKeysss = expandedKeys;
|
||||
this.expandedKeysss = expandedKeys
|
||||
this.autoExpandParent = false
|
||||
},
|
||||
reset () {
|
||||
@@ -137,29 +137,29 @@
|
||||
this.close()
|
||||
},
|
||||
handleSubmit(exit) {
|
||||
let that = this;
|
||||
let that = this
|
||||
let params = {
|
||||
roleId:that.roleId,
|
||||
permissionIds:that.checkedKeys.join(","),
|
||||
lastpermissionIds:that.defaultCheckedKeys.join(","),
|
||||
};
|
||||
that.loading = true;
|
||||
console.log("请求参数:",params);
|
||||
permissionIds:that.checkedKeys.join(','),
|
||||
lastpermissionIds:that.defaultCheckedKeys.join(','),
|
||||
}
|
||||
that.loading = true
|
||||
console.log('请求参数:',params)
|
||||
saveRolePermission(params).then((res)=>{
|
||||
if(res.success){
|
||||
that.$message.success(res.message);
|
||||
that.loading = false;
|
||||
that.$message.success(res.message)
|
||||
that.loading = false
|
||||
if (exit) {
|
||||
that.close()
|
||||
}
|
||||
}else {
|
||||
that.$message.error(res.message);
|
||||
that.loading = false;
|
||||
that.$message.error(res.message)
|
||||
that.loading = false
|
||||
if (exit) {
|
||||
that.close()
|
||||
}
|
||||
}
|
||||
this.loadData();
|
||||
this.loadData()
|
||||
})
|
||||
},
|
||||
loadData(){
|
||||
@@ -167,9 +167,9 @@
|
||||
this.treeData = res.result.treeList
|
||||
this.allTreeKeys = res.result.ids
|
||||
queryRolePermission({roleId:this.roleId}).then((res)=>{
|
||||
this.checkedKeys = [...res.result];
|
||||
this.defaultCheckedKeys = [...res.result];
|
||||
this.expandedKeysss = this.allTreeKeys;
|
||||
this.checkedKeys = [...res.result]
|
||||
this.defaultCheckedKeys = [...res.result]
|
||||
this.expandedKeysss = this.allTreeKeys
|
||||
console.log(this.defaultCheckedKeys)
|
||||
})
|
||||
})
|
||||
@@ -178,7 +178,7 @@
|
||||
watch: {
|
||||
visible () {
|
||||
if (this.visible) {
|
||||
this.loadData();
|
||||
this.loadData()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "TestPage"
|
||||
};
|
||||
name: 'TestPage'
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
+113
-113
@@ -180,16 +180,16 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Vue from "vue";
|
||||
import { mapActions } from "vuex";
|
||||
import { timeFix } from "@/utils/util";
|
||||
import { ACCESS_TOKEN } from "@/store/mutation-types";
|
||||
import { postAction, getAction } from "@/api/manage";
|
||||
import { getRSAPublicKey } from "@/api/login.js";
|
||||
import { JSEncrypt } from "jsencrypt";
|
||||
import Vue from 'vue'
|
||||
import { mapActions } from 'vuex'
|
||||
import { timeFix } from '@/utils/util'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import { postAction, getAction } from '@/api/manage'
|
||||
import { getRSAPublicKey } from '@/api/login.js'
|
||||
import { JSEncrypt } from 'jsencrypt'
|
||||
|
||||
export default {
|
||||
name: "Login",
|
||||
name: 'Login',
|
||||
data() {
|
||||
return {
|
||||
loginBtn: false,
|
||||
@@ -203,213 +203,213 @@ export default {
|
||||
smsSendBtn: false
|
||||
},
|
||||
validatorRules: {
|
||||
username: { rules: [{ required: true, message: "请输入用户名!" }, { validator: this.handleUsernameOrEmail }] },
|
||||
password: { rules: [{ required: true, message: "请输入密码!", validator: "click" }] },
|
||||
username: { rules: [{ required: true, message: '请输入用户名!' }, { validator: this.handleUsernameOrEmail }] },
|
||||
password: { rules: [{ required: true, message: '请输入密码!', validator: 'click' }] },
|
||||
mobile: { rules: [{ validator: this.validateMobile }] },
|
||||
captcha: { rule: [{ required: true, message: "请输入验证码!" }] },
|
||||
inputCode: { rules: [{ required: true, message: "请输入验证码!" }] }
|
||||
captcha: { rule: [{ required: true, message: '请输入验证码!' }] },
|
||||
inputCode: { rules: [{ required: true, message: '请输入验证码!' }] }
|
||||
},
|
||||
velorifiedCode: "",
|
||||
inputCodeContent: "",
|
||||
velorifiedCode: '',
|
||||
inputCodeContent: '',
|
||||
inputCodeNull: true,
|
||||
currentUsername: "",
|
||||
currdatetime: "",
|
||||
randCodeImage: "",
|
||||
currentUsername: '',
|
||||
currdatetime: '',
|
||||
randCodeImage: '',
|
||||
requestCodeSuccess: false,
|
||||
rsaPublicKey: ""
|
||||
};
|
||||
rsaPublicKey: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.currdatetime = new Date().getTime();
|
||||
Vue.ls.remove(ACCESS_TOKEN);
|
||||
this.getRouterData();
|
||||
this.handleChangeCheckCode();
|
||||
this.currdatetime = new Date().getTime()
|
||||
Vue.ls.remove(ACCESS_TOKEN)
|
||||
this.getRouterData()
|
||||
this.handleChangeCheckCode()
|
||||
|
||||
},
|
||||
methods: {
|
||||
...mapActions(["Login", "Logout", "PhoneLogin"]),
|
||||
...mapActions(['Login', 'Logout', 'PhoneLogin']),
|
||||
handleUsernameOrEmail(rule, value, callback) {
|
||||
const regex = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
|
||||
const regex = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/
|
||||
if (regex.test(value)) {
|
||||
this.loginType = 0;
|
||||
this.loginType = 0
|
||||
} else {
|
||||
this.loginType = 1;
|
||||
this.loginType = 1
|
||||
}
|
||||
callback();
|
||||
callback()
|
||||
},
|
||||
handleSubmit() {
|
||||
let that = this;
|
||||
let loginParams = {};
|
||||
that.loginBtn = true;
|
||||
that.form.validateFields(["username", "password", "inputCode", "rememberMe"], { force: true }, (err, values) => {
|
||||
let that = this
|
||||
let loginParams = {}
|
||||
that.loginBtn = true
|
||||
that.form.validateFields(['username', 'password', 'inputCode', 'rememberMe'], { force: true }, (err, values) => {
|
||||
if (!err) {
|
||||
|
||||
loginParams.remember_me = values.rememberMe;
|
||||
loginParams.captcha = that.inputCodeContent;
|
||||
loginParams.checkKey = that.currdatetime;
|
||||
loginParams.rsaPublicKey = that.rsaPublicKey;
|
||||
loginParams.remember_me = values.rememberMe
|
||||
loginParams.captcha = that.inputCodeContent
|
||||
loginParams.checkKey = that.currdatetime
|
||||
loginParams.rsaPublicKey = that.rsaPublicKey
|
||||
// 新建JSEncrypt对象
|
||||
let encrypt = new JSEncrypt();
|
||||
encrypt.setPublicKey(loginParams.rsaPublicKey);
|
||||
let encrypt = new JSEncrypt()
|
||||
encrypt.setPublicKey(loginParams.rsaPublicKey)
|
||||
// 公钥加密
|
||||
loginParams.username = encrypt.encrypt(values.username);
|
||||
loginParams.password = encrypt.encrypt(values.password);
|
||||
loginParams.username = encrypt.encrypt(values.username)
|
||||
loginParams.password = encrypt.encrypt(values.password)
|
||||
//登录
|
||||
that.Login(loginParams).then((res) => {
|
||||
console.log(res);
|
||||
this.loginSuccess();
|
||||
console.log(res)
|
||||
this.loginSuccess()
|
||||
}).catch((err) => {
|
||||
if (err.code === 500) {
|
||||
// 刷新验证码
|
||||
this.handleChangeCheckCode();
|
||||
this.handleChangeCheckCode()
|
||||
}
|
||||
that.requestFailed(err);
|
||||
});
|
||||
that.requestFailed(err)
|
||||
})
|
||||
} else {
|
||||
that.loginBtn = false;
|
||||
that.loginBtn = false
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
getCaptcha(e) {
|
||||
e.preventDefault();
|
||||
let that = this;
|
||||
this.form.validateFields(["mobile"], { force: true }, (err, values) => {
|
||||
e.preventDefault()
|
||||
let that = this
|
||||
this.form.validateFields(['mobile'], { force: true }, (err, values) => {
|
||||
if (!values.mobile) {
|
||||
that.cmsFailed("请输入手机号");
|
||||
that.cmsFailed('请输入手机号')
|
||||
} else if (!err) {
|
||||
this.state.smsSendBtn = true;
|
||||
this.state.smsSendBtn = true
|
||||
let interval = window.setInterval(() => {
|
||||
if (that.state.time-- <= 0) {
|
||||
that.state.time = 60;
|
||||
that.state.smsSendBtn = false;
|
||||
window.clearInterval(interval);
|
||||
that.state.time = 60
|
||||
that.state.smsSendBtn = false
|
||||
window.clearInterval(interval)
|
||||
}
|
||||
}, 1000);
|
||||
}, 1000)
|
||||
|
||||
const hide = this.$message.loading("验证码发送中..", 0);
|
||||
let smsParams = {};
|
||||
smsParams.mobile = values.mobile;
|
||||
smsParams.smsmode = "0";
|
||||
postAction("/sys/sms", smsParams)
|
||||
const hide = this.$message.loading('验证码发送中..', 0)
|
||||
let smsParams = {}
|
||||
smsParams.mobile = values.mobile
|
||||
smsParams.smsmode = '0'
|
||||
postAction('/sys/sms', smsParams)
|
||||
.then(res => {
|
||||
if (!res.success) {
|
||||
setTimeout(hide, 0);
|
||||
this.cmsFailed(res.message);
|
||||
setTimeout(hide, 0)
|
||||
this.cmsFailed(res.message)
|
||||
}
|
||||
setTimeout(hide, 500);
|
||||
setTimeout(hide, 500)
|
||||
})
|
||||
.catch(err => {
|
||||
setTimeout(hide, 1);
|
||||
clearInterval(interval);
|
||||
that.state.time = 60;
|
||||
that.state.smsSendBtn = false;
|
||||
this.requestFailed(err);
|
||||
});
|
||||
setTimeout(hide, 1)
|
||||
clearInterval(interval)
|
||||
that.state.time = 60
|
||||
that.state.smsSendBtn = false
|
||||
this.requestFailed(err)
|
||||
})
|
||||
}
|
||||
}
|
||||
);
|
||||
)
|
||||
},
|
||||
handleChangeCheckCode() {
|
||||
this.currdatetime = new Date().getTime();
|
||||
this.currdatetime = new Date().getTime()
|
||||
getAction(`/sys/randomImage/${this.currdatetime}`).then(res => {
|
||||
if (res.success) {
|
||||
this.randCodeImage = res.result;
|
||||
this.requestCodeSuccess = true;
|
||||
this.randCodeImage = res.result
|
||||
this.requestCodeSuccess = true
|
||||
} else {
|
||||
this.$message.error(res.message);
|
||||
this.requestCodeSuccess = false;
|
||||
this.$message.error(res.message)
|
||||
this.requestCodeSuccess = false
|
||||
}
|
||||
}).catch(() => {
|
||||
this.requestCodeSuccess = false;
|
||||
});
|
||||
this.getPublicKey();
|
||||
this.requestCodeSuccess = false
|
||||
})
|
||||
this.getPublicKey()
|
||||
},
|
||||
//获取RSA公钥
|
||||
getPublicKey() {
|
||||
// 获取公钥
|
||||
getRSAPublicKey().then(res => {
|
||||
this.rsaPublicKey = res.result;
|
||||
});
|
||||
this.rsaPublicKey = res.result
|
||||
})
|
||||
},
|
||||
loginSuccess() {
|
||||
this.$router.push({ path: "/dashboard/analysis" }).catch((res) => {
|
||||
console.log(res);
|
||||
});
|
||||
this.$router.push({ path: '/dashboard/analysis' }).catch((res) => {
|
||||
console.log(res)
|
||||
})
|
||||
this.$notification.success({
|
||||
message: "欢迎",
|
||||
message: '欢迎',
|
||||
description: `${timeFix()},欢迎回来`
|
||||
});
|
||||
})
|
||||
},
|
||||
cmsFailed(err) {
|
||||
this.$notification["error"]({
|
||||
message: "登录失败",
|
||||
this.$notification['error']({
|
||||
message: '登录失败',
|
||||
description: err,
|
||||
duration: 4
|
||||
});
|
||||
})
|
||||
},
|
||||
requestFailed(err) {
|
||||
this.$notification["error"]({
|
||||
message: "登录失败",
|
||||
description: ((err.response || {}).data || {}).message || err.message || "请求出现错误,请稍后再试",
|
||||
this.$notification['error']({
|
||||
message: '登录失败',
|
||||
description: ((err.response || {}).data || {}).message || err.message || '请求出现错误,请稍后再试',
|
||||
duration: 4
|
||||
});
|
||||
this.loginBtn = false;
|
||||
})
|
||||
this.loginBtn = false
|
||||
},
|
||||
validateMobile(rule, value, callback) {
|
||||
if (!value || new RegExp(/^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/).test(value)) {
|
||||
callback();
|
||||
callback()
|
||||
} else {
|
||||
callback("您的手机号码格式不正确!");
|
||||
callback('您的手机号码格式不正确!')
|
||||
}
|
||||
},
|
||||
validateInputCode(rule, value, callback) {
|
||||
if (!value || this.verifiedCode == this.inputCodeContent) {
|
||||
callback();
|
||||
callback()
|
||||
} else {
|
||||
callback("您输入的验证码不正确!");
|
||||
callback('您输入的验证码不正确!')
|
||||
}
|
||||
},
|
||||
generateCode(value) {
|
||||
this.verifiedCode = value.toLowerCase();
|
||||
this.verifiedCode = value.toLowerCase()
|
||||
},
|
||||
inputCodeChange(e) {
|
||||
this.inputCodeContent = e.target.value;
|
||||
this.inputCodeContent = e.target.value
|
||||
},
|
||||
getRouterData() {
|
||||
this.$nextTick(() => {
|
||||
if (this.$route.params.username) {
|
||||
this.form.setFieldsValue({
|
||||
"username": this.$route.params.username
|
||||
});
|
||||
'username': this.$route.params.username
|
||||
})
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// 判断当前设备
|
||||
function isMobile() {
|
||||
var userAgentInfo = navigator.userAgent;
|
||||
var userAgentInfo = navigator.userAgent
|
||||
|
||||
var mobileAgents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
|
||||
var mobileAgents = ['Android', 'iPhone', 'SymbianOS', 'Windows Phone', 'iPad', 'iPod']
|
||||
|
||||
var mobile_flag = false;
|
||||
var mobile_flag = false
|
||||
|
||||
//根据userAgent判断是否是手机
|
||||
for (var v = 0; v < mobileAgents.length; v++) {
|
||||
if (userAgentInfo.indexOf(mobileAgents[v]) > 0) {
|
||||
mobile_flag = true;
|
||||
break;
|
||||
mobile_flag = true
|
||||
break
|
||||
}
|
||||
}
|
||||
var screen_width = window.screen.width;
|
||||
var screen_height = window.screen.height;
|
||||
var screen_width = window.screen.width
|
||||
var screen_height = window.screen.height
|
||||
|
||||
//根据屏幕分辨率判断是否是手机
|
||||
if (screen_width < 500 && screen_height < 800) {
|
||||
mobile_flag = true;
|
||||
mobile_flag = true
|
||||
}
|
||||
return mobile_flag;
|
||||
return mobile_flag
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
import Step4 from './Step4'
|
||||
|
||||
export default {
|
||||
name: "Alteration",
|
||||
name: 'Alteration',
|
||||
components: {
|
||||
Step1,
|
||||
Step2,
|
||||
@@ -40,13 +40,13 @@
|
||||
|
||||
// handler
|
||||
nextStep(data) {
|
||||
this.userList = data;
|
||||
this.userList = data
|
||||
if (this.currentTab < 4) {
|
||||
this.currentTab += 1
|
||||
}
|
||||
},
|
||||
prevStep(data) {
|
||||
this.userList = data;
|
||||
this.userList = data
|
||||
if (this.currentTab > 0) {
|
||||
this.currentTab -= 1
|
||||
}
|
||||
|
||||
@@ -45,13 +45,13 @@
|
||||
import { checkOnlyUser } from '@/api/api'
|
||||
|
||||
export default {
|
||||
name: "Step1",
|
||||
name: 'Step1',
|
||||
data() {
|
||||
return {
|
||||
form: this.$form.createForm(this),
|
||||
inputCodeContent: "",
|
||||
inputCodeContent: '',
|
||||
inputCodeNull: true,
|
||||
verifiedCode: "",
|
||||
verifiedCode: '',
|
||||
validatorRules: {
|
||||
username: {rules: [{required: false}, {validator: this.validateInputUsername}]},
|
||||
inputCode: {rules: [{required: true, message: '请输入验证码!'}]},
|
||||
@@ -63,11 +63,11 @@
|
||||
}
|
||||
},
|
||||
created(){
|
||||
this.handleChangeCheckCode();
|
||||
this.handleChangeCheckCode()
|
||||
},
|
||||
methods: {
|
||||
handleChangeCheckCode(){
|
||||
this.currdatetime = new Date().getTime();
|
||||
this.currdatetime = new Date().getTime()
|
||||
getAction(`/sys/randomImage/${this.currdatetime}`).then(res=>{
|
||||
if(res.success){
|
||||
this.randCodeImage = res.result
|
||||
@@ -84,29 +84,29 @@
|
||||
let that = this
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
let isPhone = false;
|
||||
let isPhone = false
|
||||
var params = {}
|
||||
var reg = /^[1-9]\d*$|^0$/;
|
||||
var username = values.username;
|
||||
var reg = /^[1-9]\d*$|^0$/
|
||||
var username = values.username
|
||||
if (reg.test(username) == true) {
|
||||
params.phone = username;
|
||||
params.phone = username
|
||||
isPhone = true
|
||||
} else {
|
||||
params.username = username;
|
||||
params.username = username
|
||||
}
|
||||
that.validateInputCode().then(()=>{
|
||||
getAction("/sys/user/querySysUser", params).then((res) => {
|
||||
getAction('/sys/user/querySysUser', params).then((res) => {
|
||||
if (res.success) {
|
||||
var userList = {
|
||||
username: res.result.username,
|
||||
phone: res.result.phone,
|
||||
isPhone: isPhone
|
||||
};
|
||||
}
|
||||
setTimeout(function () {
|
||||
that.$emit('nextStep', userList)
|
||||
})
|
||||
}
|
||||
});
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
@@ -114,21 +114,21 @@
|
||||
},
|
||||
validateInputCode() {
|
||||
return new Promise((resolve,reject)=>{
|
||||
postAction("/sys/checkCaptcha",{
|
||||
postAction('/sys/checkCaptcha',{
|
||||
captcha:this.inputCodeContent,
|
||||
checkKey:this.currdatetime
|
||||
}).then(res=>{
|
||||
if(res.success){
|
||||
resolve();
|
||||
resolve()
|
||||
}else{
|
||||
this.$message.error(res.message)
|
||||
reject();
|
||||
reject()
|
||||
}
|
||||
});
|
||||
})
|
||||
})
|
||||
},
|
||||
inputCodeChange(e) {
|
||||
this.inputCodeContent = e.target.value;
|
||||
this.inputCodeContent = e.target.value
|
||||
console.log(this.inputCodeContent)
|
||||
if (!e.target.value || 0 == e.target.value) {
|
||||
this.inputCodeNull = true
|
||||
@@ -138,24 +138,24 @@
|
||||
}
|
||||
},
|
||||
generateCode(value) {
|
||||
this.verifiedCode = value.toLowerCase();
|
||||
console.log(this.verifiedCode);
|
||||
this.verifiedCode = value.toLowerCase()
|
||||
console.log(this.verifiedCode)
|
||||
},
|
||||
validateInputUsername(rule, value, callback) {
|
||||
console.log(value);
|
||||
var reg = /^[0-9]+.?[0-9]*/;
|
||||
console.log(value)
|
||||
var reg = /^[0-9]+.?[0-9]*/
|
||||
if (!value) {
|
||||
callback("请输入用户名和手机号!");
|
||||
callback('请输入用户名和手机号!')
|
||||
}
|
||||
|
||||
//判断用户输入账号还是手机号码
|
||||
if (reg.test(value)) {
|
||||
var params = {
|
||||
phone: value,
|
||||
};
|
||||
}
|
||||
checkOnlyUser(params).then((res) => {
|
||||
if (res.success) {
|
||||
callback("用户名不存在!")
|
||||
callback('用户名不存在!')
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
@@ -163,10 +163,10 @@
|
||||
} else {
|
||||
var params = {
|
||||
username: value,
|
||||
};
|
||||
}
|
||||
checkOnlyUser(params).then((res) => {
|
||||
if (res.success) {
|
||||
callback("用户名不存在!")
|
||||
callback('用户名不存在!')
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
|
||||
@@ -51,23 +51,23 @@
|
||||
import {postAction} from '@/api/manage'
|
||||
|
||||
export default {
|
||||
name: "Step2",
|
||||
name: 'Step2',
|
||||
props: ['userList'],
|
||||
data() {
|
||||
return {
|
||||
form: this.$form.createForm(this),
|
||||
loading: false,
|
||||
// accountName: this.userList.username,
|
||||
dropList: "0",
|
||||
captcha: "",
|
||||
dropList: '0',
|
||||
captcha: '',
|
||||
show: true,
|
||||
state: {
|
||||
time: 60,
|
||||
smsSendBtn: false,
|
||||
},
|
||||
formLogin: {
|
||||
captcha: "",
|
||||
mobile: "",
|
||||
captcha: '',
|
||||
mobile: '',
|
||||
},
|
||||
validatorRules: {
|
||||
captcha: {rule: [{required: true, message: '请输入短信验证码!'}, {validator: this.validateCaptcha}]},
|
||||
@@ -82,28 +82,28 @@
|
||||
let that = this
|
||||
that.loading = true
|
||||
this.form.validateFields((err, values) => {
|
||||
console.log(values);
|
||||
console.log(values)
|
||||
if (!err) {
|
||||
if (that.dropList == "0") {
|
||||
if (that.dropList == '0') {
|
||||
if (values.captcha == undefined) {
|
||||
this.cmsFailed("请输入短信验证码!");
|
||||
this.cmsFailed('请输入短信验证码!')
|
||||
} else {
|
||||
var params = {}
|
||||
params.phone = values.phone;
|
||||
params.smscode = values.captcha;
|
||||
postAction("/sys/user/phoneVerification", params).then((res) => {
|
||||
params.phone = values.phone
|
||||
params.smscode = values.captcha
|
||||
postAction('/sys/user/phoneVerification', params).then((res) => {
|
||||
if (res.success) {
|
||||
console.log(res);
|
||||
console.log(res)
|
||||
var userList = {
|
||||
username: res.result.username,
|
||||
phone: values.phone,
|
||||
smscode: res.result.smscode
|
||||
};
|
||||
}
|
||||
setTimeout(function () {
|
||||
that.$emit('nextStep', userList)
|
||||
}, 0)
|
||||
} else {
|
||||
this.cmsFailed(res.message);
|
||||
this.cmsFailed(res.message)
|
||||
}
|
||||
})
|
||||
|
||||
@@ -115,60 +115,60 @@
|
||||
})
|
||||
},
|
||||
getCaptcha(e) {
|
||||
e.preventDefault();
|
||||
let that = this;
|
||||
let phone=that.form.getFieldValue("phone")
|
||||
e.preventDefault()
|
||||
let that = this
|
||||
let phone=that.form.getFieldValue('phone')
|
||||
if(!phone){
|
||||
this.cmsFailed("手机号不能为空!");
|
||||
return;
|
||||
this.cmsFailed('手机号不能为空!')
|
||||
return
|
||||
}
|
||||
this.state.smsSendBtn = true;
|
||||
this.state.smsSendBtn = true
|
||||
let interval = window.setInterval(() => {
|
||||
if (that.state.time-- <= 0) {
|
||||
that.state.time = 60;
|
||||
that.state.smsSendBtn = false;
|
||||
window.clearInterval(interval);
|
||||
that.state.time = 60
|
||||
that.state.smsSendBtn = false
|
||||
window.clearInterval(interval)
|
||||
}
|
||||
}, 1000);
|
||||
}, 1000)
|
||||
|
||||
const hide = this.$message.loading('验证码发送中..', 0);
|
||||
const hide = this.$message.loading('验证码发送中..', 0)
|
||||
let smsParams = {
|
||||
mobile: phone,
|
||||
smsmode: "2"
|
||||
};
|
||||
postAction("/sys/sms", smsParams).then(res => {
|
||||
smsmode: '2'
|
||||
}
|
||||
postAction('/sys/sms', smsParams).then(res => {
|
||||
if (!res.success) {
|
||||
setTimeout(hide, 1);
|
||||
this.cmsFailed(res.message);
|
||||
setTimeout(hide, 1)
|
||||
this.cmsFailed(res.message)
|
||||
}
|
||||
setTimeout(hide, 500);
|
||||
setTimeout(hide, 500)
|
||||
})
|
||||
},
|
||||
cmsFailed(err) {
|
||||
this.$notification['error']({
|
||||
message: "验证错误",
|
||||
message: '验证错误',
|
||||
description: err,
|
||||
duration: 4,
|
||||
});
|
||||
})
|
||||
},
|
||||
handleChangeSelect(value) {
|
||||
var that = this;
|
||||
console.log(value);
|
||||
var that = this
|
||||
console.log(value)
|
||||
if (value == 0) {
|
||||
that.dropList = "0";
|
||||
that.show = true;
|
||||
that.dropList = '0'
|
||||
that.show = true
|
||||
} else {
|
||||
that.dropList = "1";
|
||||
that.show = false;
|
||||
that.dropList = '1'
|
||||
that.show = false
|
||||
}
|
||||
},
|
||||
validatePhone(rule,value,callback){
|
||||
if(value){
|
||||
var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;
|
||||
var myreg=/^[1][3,4,5,7,8][0-9]{9}$/
|
||||
if(!myreg.test(value)){
|
||||
callback("请输入正确的手机号")
|
||||
callback('请输入正确的手机号')
|
||||
}else{
|
||||
callback();
|
||||
callback()
|
||||
}
|
||||
}else{
|
||||
callback()
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
<script>
|
||||
import { putAction,getAction } from '@/api/manage'
|
||||
export default {
|
||||
name: "Step3",
|
||||
name: 'Step3',
|
||||
// components: {
|
||||
// Result
|
||||
// },
|
||||
@@ -74,21 +74,21 @@
|
||||
this.form.validateFields((err, values) => {
|
||||
if ( !err ){
|
||||
var params={}
|
||||
params.username=this.userList.username;
|
||||
params.password=values.password;
|
||||
params.smscode=this.userList.smscode;
|
||||
params.phone= this.userList.phone;
|
||||
getAction("/sys/user/passwordChange", params).then((res) => {
|
||||
params.username=this.userList.username
|
||||
params.password=values.password
|
||||
params.smscode=this.userList.smscode
|
||||
params.phone= this.userList.phone
|
||||
getAction('/sys/user/passwordChange', params).then((res) => {
|
||||
if(res.success){
|
||||
var userList = {
|
||||
username: this.userList.username
|
||||
}
|
||||
console.log(userList);
|
||||
console.log(userList)
|
||||
setTimeout(function () {
|
||||
that.$emit('nextStep', userList)
|
||||
}, 1500)
|
||||
}else{
|
||||
this.passwordFailed(res.message);
|
||||
this.passwordFailed(res.message)
|
||||
that.loading = false
|
||||
}
|
||||
})
|
||||
@@ -111,10 +111,10 @@
|
||||
},
|
||||
passwordFailed(err){
|
||||
this.$notification[ 'error' ]({
|
||||
message: "更改密码失败",
|
||||
message: '更改密码失败',
|
||||
description:err,
|
||||
duration: 4,
|
||||
});
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<script>
|
||||
import Result from '@/views/result/Result'
|
||||
export default {
|
||||
name: "Step4",
|
||||
name: 'Step4',
|
||||
props:['userList'],
|
||||
components: {
|
||||
Result
|
||||
@@ -27,21 +27,21 @@
|
||||
},
|
||||
methods: {
|
||||
countDown(){
|
||||
let that = this;
|
||||
that.time--;
|
||||
let that = this
|
||||
that.time--
|
||||
}
|
||||
},
|
||||
mounted(){
|
||||
let that = this;
|
||||
that.time = 5;
|
||||
setInterval(that.countDown, 1000);
|
||||
let that = this
|
||||
that.time = 5
|
||||
setInterval(that.countDown, 1000)
|
||||
},
|
||||
watch: {
|
||||
time: function (newVal,oldVal) {
|
||||
if (newVal == 0) {
|
||||
var params = {
|
||||
username: this.userList.username
|
||||
};
|
||||
}
|
||||
this.$router.push({name: 'login', params})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
3: '#52c41a',
|
||||
}
|
||||
export default {
|
||||
name: "Register",
|
||||
name: 'Register',
|
||||
components: {},
|
||||
mixins: [mixinDevice],
|
||||
data() {
|
||||
@@ -147,16 +147,16 @@
|
||||
methods: {
|
||||
checkUsername(rule, value, callback) {
|
||||
if(!value){
|
||||
callback(new Error("请输入用户名"))
|
||||
callback(new Error('请输入用户名'))
|
||||
}else{
|
||||
var params = {
|
||||
username: value,
|
||||
};
|
||||
}
|
||||
checkOnlyUser(params).then((res) => {
|
||||
if (res.success) {
|
||||
callback()
|
||||
} else {
|
||||
callback("用户名已存在!")
|
||||
callback('用户名已存在!')
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -164,19 +164,19 @@
|
||||
handleEmailCheck(rule, value, callback) {
|
||||
var params = {
|
||||
email: value,
|
||||
};
|
||||
}
|
||||
checkOnlyUser(params).then((res) => {
|
||||
if (res.success) {
|
||||
callback()
|
||||
} else {
|
||||
callback("邮箱已存在!")
|
||||
callback('邮箱已存在!')
|
||||
}
|
||||
})
|
||||
},
|
||||
handlePasswordLevel(rule, value, callback) {
|
||||
|
||||
let level = 0
|
||||
let reg = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/;
|
||||
let reg = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/
|
||||
if (!reg.test(value)) {
|
||||
callback(new Error('密码由8位数字、大小写字母和特殊符号组成!'))
|
||||
}
|
||||
@@ -220,24 +220,24 @@
|
||||
},
|
||||
handleCaptchaCheck(rule, value, callback){
|
||||
if(!value){
|
||||
callback(new Error("请输入验证码"))
|
||||
callback(new Error('请输入验证码'))
|
||||
}else{
|
||||
callback();
|
||||
callback()
|
||||
}
|
||||
},
|
||||
handlePhoneCheck(rule, value, callback) {
|
||||
var reg=/^1[3456789]\d{9}$/
|
||||
if(!reg.test(value)){
|
||||
callback(new Error("请输入正确手机号"))
|
||||
callback(new Error('请输入正确手机号'))
|
||||
}else{
|
||||
var params = {
|
||||
phone: value,
|
||||
};
|
||||
}
|
||||
checkOnlyUser(params).then((res) => {
|
||||
if (res.success) {
|
||||
callback()
|
||||
} else {
|
||||
callback("手机号已存在!")
|
||||
callback('手机号已存在!')
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -246,7 +246,7 @@
|
||||
handlePasswordInputClick() {
|
||||
if (!this.isMobile()) {
|
||||
this.state.passwordLevelChecked = true
|
||||
return;
|
||||
return
|
||||
}
|
||||
this.state.passwordLevelChecked = false
|
||||
},
|
||||
@@ -259,8 +259,8 @@
|
||||
password: values.password,
|
||||
phone: values.mobile,
|
||||
smscode: values.captcha
|
||||
};
|
||||
postAction("/sys/user/register", register).then((res) => {
|
||||
}
|
||||
postAction('/sys/user/register', register).then((res) => {
|
||||
if (!res.success) {
|
||||
this.registerFailed(res.message)
|
||||
} else {
|
||||
@@ -276,51 +276,51 @@
|
||||
let that = this
|
||||
this.form.validateFields(['mobile'], {force: true}, (err, values) => {
|
||||
if (!err) {
|
||||
this.state.smsSendBtn = true;
|
||||
this.state.smsSendBtn = true
|
||||
let interval = window.setInterval(() => {
|
||||
if (that.state.time-- <= 0) {
|
||||
that.state.time = 60;
|
||||
that.state.smsSendBtn = false;
|
||||
window.clearInterval(interval);
|
||||
that.state.time = 60
|
||||
that.state.smsSendBtn = false
|
||||
window.clearInterval(interval)
|
||||
}
|
||||
}, 1000);
|
||||
const hide = this.$message.loading('验证码发送中..', 0);
|
||||
}, 1000)
|
||||
const hide = this.$message.loading('验证码发送中..', 0)
|
||||
const params = {
|
||||
mobile: values.mobile,
|
||||
smsmode: "1"
|
||||
};
|
||||
postAction("/sys/sms", params).then((res) => {
|
||||
smsmode: '1'
|
||||
}
|
||||
postAction('/sys/sms', params).then((res) => {
|
||||
if (!res.success) {
|
||||
this.registerFailed(res.message);
|
||||
setTimeout(hide, 0);
|
||||
this.registerFailed(res.message)
|
||||
setTimeout(hide, 0)
|
||||
}
|
||||
setTimeout(hide, 500);
|
||||
setTimeout(hide, 500)
|
||||
}).catch(err => {
|
||||
setTimeout(hide, 1);
|
||||
clearInterval(interval);
|
||||
that.state.time = 60;
|
||||
that.state.smsSendBtn = false;
|
||||
this.requestFailed(err);
|
||||
});
|
||||
setTimeout(hide, 1)
|
||||
clearInterval(interval)
|
||||
that.state.time = 60
|
||||
that.state.smsSendBtn = false
|
||||
this.requestFailed(err)
|
||||
})
|
||||
}
|
||||
}
|
||||
);
|
||||
)
|
||||
},
|
||||
registerFailed(message) {
|
||||
this.$notification['error']({
|
||||
message: "注册失败",
|
||||
message: '注册失败',
|
||||
description: message,
|
||||
duration: 2,
|
||||
});
|
||||
})
|
||||
|
||||
},
|
||||
requestFailed(err) {
|
||||
this.$notification['error']({
|
||||
message: '错误',
|
||||
description: ((err.response || {}).data || {}).message || "请求出现错误,请稍后再试",
|
||||
description: ((err.response || {}).data || {}).message || '请求出现错误,请稍后再试',
|
||||
duration: 4,
|
||||
});
|
||||
this.registerBtn = false;
|
||||
})
|
||||
this.registerBtn = false
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
import Result from '@/views/result/Result'
|
||||
|
||||
export default {
|
||||
name: "RegisterResult",
|
||||
name: 'RegisterResult',
|
||||
components: {
|
||||
Result
|
||||
},
|
||||
@@ -28,7 +28,7 @@
|
||||
email () {
|
||||
let v = this.form ? this.form.username || this.form.mobile : ' XXX '
|
||||
let title = `你的账户:${v} 注册成功`
|
||||
this.username = v;
|
||||
this.username = v
|
||||
return title
|
||||
}
|
||||
},
|
||||
@@ -37,10 +37,10 @@
|
||||
},
|
||||
methods: {
|
||||
goHomeHandle () {
|
||||
let params={};
|
||||
params.username=this.form.username;
|
||||
params.password=this.form.password;
|
||||
console.log(params);
|
||||
let params={}
|
||||
params.username=this.form.username
|
||||
params.password=this.form.password
|
||||
console.log(params)
|
||||
this.$router.push({name:'login',params})
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user