eslint; 收入合同

This commit is contained in:
zhaoxiao
2021-09-03 19:27:41 +08:00
parent c53de39b40
commit 303c1026f8
164 changed files with 5964 additions and 4788 deletions
+3 -3
View File
@@ -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: '打包年份'
}
],
// 接口获取后处理加入titlefieldName字段
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>
+3 -3
View File
@@ -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)
}
});
})
}
});
})
},
}
}
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -27,7 +27,7 @@
import Result from './Result'
export default {
name: "Error",
name: 'Error',
components: {
Result
},
+1 -1
View File
@@ -16,7 +16,7 @@
<script>
export default {
name: "Result",
name: 'Result',
// 'isSuccess', 'title', 'description'
props: {
isSuccess: {
+1 -1
View File
@@ -69,7 +69,7 @@
}
export default {
name: "Success",
name: 'Success',
components: {
Result
},
+16 -16
View File
@@ -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
+13 -13
View File
@@ -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()
}
+23 -23
View File
@@ -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() {
+18 -18
View File
@@ -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)
}
});
})
},
})
}
+41 -41
View File
@@ -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------
+27 -27
View File
@@ -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)
})
}
},
+36 -36
View File
@@ -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)
},
}
}
+6 -6
View File
@@ -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'
}
}
}
+4 -4
View File
@@ -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
+51 -51
View File
@@ -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)
}
});
})
}
});
})
}
}
}
+61 -61
View File
@@ -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';
+35 -35
View File
@@ -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------forJT-31 删除成功后默认展开已展开信息
that.loadData();
that.loadData()
//update--end--autor:lvdandan-----date:20201204------forJT-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 => {
+12 -12
View File
@@ -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: {
+42 -42
View File
@@ -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()
}
});
})
}
});
})
},
}
}
+55 -55
View File
@@ -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';
+22 -22
View File
@@ -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){
+52 -52
View File
@@ -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>
+12 -12
View File
@@ -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 = []
},
}
}
+25 -25
View File
@@ -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)
+31 -31
View File
@@ -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)
},
}
}
+47 -47
View File
@@ -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
}
});
})
},
}
+76 -76
View File
@@ -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 forhttps://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 forhttps://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('请先选择一个部门!')
}
}
}
+37 -37
View File
@@ -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------forJT-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------forJT-27【数据字典】字典 - 数据值可重复
}
}else{
+2 -2
View File
@@ -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',
+70 -70
View File
@@ -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'
}
}
}
+35 -35
View File
@@ -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)
+26 -26
View File
@@ -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
+46 -46
View File
@@ -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()
}
}
}
+29 -29
View File
@@ -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){
+25 -25
View File
@@ -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()
+34 -34
View File
@@ -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)
}
});
})
}
}
}
+29 -29
View File
@@ -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
})
}
+8 -8
View File
@@ -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()
+159 -159
View File
@@ -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
}
}
}
+23 -23
View File
@@ -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()
}
}
}
+2 -2
View File
@@ -4,8 +4,8 @@
<script>
export default {
name: "TestPage"
};
name: 'TestPage'
}
</script>
<style scoped>
+113 -113
View File
@@ -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>
+3 -3
View File
@@ -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
}
+27 -27
View File
@@ -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()
}
+42 -42
View File
@@ -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()
+10 -10
View File
@@ -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,
});
})
},
}
}
+7 -7
View File
@@ -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})
}
}
+39 -39
View File
@@ -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: {
+6 -6
View File
@@ -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})
},
}