Merge branch 'branch20211008'
This commit is contained in:
+1
-1
@@ -147,7 +147,7 @@
|
|||||||
top: 0;
|
top: 0;
|
||||||
width: 51%;
|
width: 51%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background: #49a9ee;
|
background: #069F99;
|
||||||
/* Old browsers */
|
/* Old browsers */
|
||||||
z-index: 1000;
|
z-index: 1000;
|
||||||
-webkit-transform: translateX(0);
|
-webkit-transform: translateX(0);
|
||||||
|
|||||||
@@ -52,6 +52,8 @@ const removePackProject = (param) => postAction('/pack/payPackCompanyProject/rem
|
|||||||
const batchRemovePackProject = (param) => postAction('/pack/payPackCompanyProject/removeBatch', param)
|
const batchRemovePackProject = (param) => postAction('/pack/payPackCompanyProject/removeBatch', param)
|
||||||
// 企业管理审核
|
// 企业管理审核
|
||||||
const aduitCompany = (param) => getAction('/company/payCompanyManagement/audit', param)
|
const aduitCompany = (param) => getAction('/company/payCompanyManagement/audit', param)
|
||||||
|
// 企业管理删除确认是否有联系人
|
||||||
|
const checkContactByCompany = (param) => getAction('/company/payCompanyManagement/queryCompanyByIdFindContacts', param)
|
||||||
// 资料分发
|
// 资料分发
|
||||||
const distribute = (param) => postAction('/project/payWorkingGroupDistributionRecord/add', param)
|
const distribute = (param) => postAction('/project/payWorkingGroupDistributionRecord/add', param)
|
||||||
// 资料批量分发
|
// 资料批量分发
|
||||||
@@ -100,6 +102,7 @@ export {
|
|||||||
removePackProject,
|
removePackProject,
|
||||||
batchRemovePackProject,
|
batchRemovePackProject,
|
||||||
aduitCompany,
|
aduitCompany,
|
||||||
|
checkContactByCompany,
|
||||||
distribute,
|
distribute,
|
||||||
batchDistribute,
|
batchDistribute,
|
||||||
distributeMemberList,
|
distributeMemberList,
|
||||||
|
|||||||
@@ -171,7 +171,7 @@
|
|||||||
|
|
||||||
// update-begin-author:sunjianlei date:20200120 for: 动态更改页面标题
|
// update-begin-author:sunjianlei date:20200120 for: 动态更改页面标题
|
||||||
changeTitle(title) {
|
changeTitle(title) {
|
||||||
let projectTitle = 'Jero-Boot 企业级快速开发平台'
|
let projectTitle = '标准所协同工作平台'
|
||||||
// 首页特殊处理
|
// 首页特殊处理
|
||||||
if (this.$route.path === indexKey) {
|
if (this.$route.path === indexKey) {
|
||||||
document.title = projectTitle
|
document.title = projectTitle
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
:type="collapsed ? 'menu-unfold' : 'menu-fold'"
|
:type="collapsed ? 'menu-unfold' : 'menu-fold'"
|
||||||
@click="toggle"/>
|
@click="toggle"/>
|
||||||
|
|
||||||
<span v-if="device === 'desktop'">欢迎进入来款系统管理平台</span>
|
<span v-if="device === 'desktop'">欢迎进入标准所协同工作平台</span>
|
||||||
<span v-else>Jero-Boot</span>
|
<span v-else>Jero-Boot</span>
|
||||||
|
|
||||||
<user-menu :theme="theme"/>
|
<user-menu :theme="theme"/>
|
||||||
|
|||||||
@@ -7,8 +7,7 @@
|
|||||||
:title="currentTitle"
|
:title="currentTitle"
|
||||||
arrow-point-at-center
|
arrow-point-at-center
|
||||||
:mouse-enter-delay="0.1"
|
:mouse-enter-delay="0.1"
|
||||||
@visibleChange="visibleChange"
|
@visibleChange="visibleChange">
|
||||||
>
|
|
||||||
<img :src="status" @click="s"/>
|
<img :src="status" @click="s"/>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
@@ -32,7 +31,7 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
currentTitle: ' ', // 气泡中显示的文字,必须有内容,否则dom选择时不会解析
|
currentTitle: ' ', // 气泡中显示的文字,必须有内容,否则dom选择时不会解析
|
||||||
hasInfo: false, // 是否有详情信息可以显示,即是否通过接口请求过数据
|
hasInfo: false // 是否有详情信息可以显示,即是否通过接口请求过数据
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@@ -50,7 +49,7 @@ export default {
|
|||||||
statusType: {
|
statusType: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
required: false,
|
required: false,
|
||||||
default:false
|
default: false
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
* 具体的状态值
|
* 具体的状态值
|
||||||
@@ -60,8 +59,8 @@ export default {
|
|||||||
required: false
|
required: false
|
||||||
},
|
},
|
||||||
// 当前需要转换key的属性, 悬浮显示实际具体内容信息时需要
|
// 当前需要转换key的属性, 悬浮显示实际具体内容信息时需要
|
||||||
// paymentRecord 来款 mail -- 邮寄 bill--邮寄
|
// paymentRecord 来款 mail -- 邮寄 bill--开票
|
||||||
statusKey:{
|
statusKey: {
|
||||||
type: String,
|
type: String,
|
||||||
required: false,
|
required: false,
|
||||||
default: 'paymentRecord'
|
default: 'paymentRecord'
|
||||||
@@ -76,32 +75,37 @@ export default {
|
|||||||
computed: {
|
computed: {
|
||||||
// eslint-disable-next-line vue/return-in-computed-property
|
// eslint-disable-next-line vue/return-in-computed-property
|
||||||
status() {
|
status() {
|
||||||
if (this.statuObj.amountReceivable === '0.00' || this.statuObj.receivableAmount === '0.00' ) {
|
if (this.statuObj.amountReceivable === '0.00' || this.statuObj.receivableAmount === '0.00') {
|
||||||
if(this.statusType){
|
if (this.statusType) {
|
||||||
// 应收金额为0 未到账 未邮寄 未开票的状态
|
// 应收金额为0 未到账 未邮寄 未开票的状态
|
||||||
return zero
|
return zero
|
||||||
}else {
|
} else {
|
||||||
// 应收金额为0 打包 与需要开票的状态
|
// 应收金额为0 打包 与需要开票的状态
|
||||||
if(this.statusNo === 0 ){
|
if (this.statusNo === 0) {
|
||||||
return error
|
return error
|
||||||
}else if(this.statusNo === 1){
|
} else if (this.statusNo === 1) {
|
||||||
return finished
|
return finished
|
||||||
}else if(this.statusNo === 2){
|
} else if (this.statusNo === 2) {
|
||||||
return half
|
return half
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}else {
|
} else {
|
||||||
// 应收金额不为0 都正常判断
|
// 应收金额不为0 都正常判断
|
||||||
if(this.statusNo === 0 ){
|
if (this.statusNo === 0) {
|
||||||
return error
|
// 开票或邮寄时,不需要发票
|
||||||
}else if(this.statusNo === 1){
|
if ((this.statusKey === 'bill' || this.statusKey === 'mail') && this.statuObj.needInvoice === 0) {
|
||||||
|
return zero
|
||||||
|
} else {
|
||||||
|
return error
|
||||||
|
}
|
||||||
|
} else if (this.statusNo === 1) {
|
||||||
return finished
|
return finished
|
||||||
}else if(this.statusNo === 2){
|
} else if (this.statusNo === 2) {
|
||||||
// 如果不是打包和需要发票
|
// 如果不是打包和需要发票
|
||||||
if(this.statusType){
|
if (this.statusType) {
|
||||||
return half
|
return half
|
||||||
}else {
|
} else {
|
||||||
return finished
|
return finished
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -110,11 +114,14 @@ export default {
|
|||||||
// 操作返回数据的key值,此处是根据业务逻辑处理的
|
// 操作返回数据的key值,此处是根据业务逻辑处理的
|
||||||
opeStatusKey() {
|
opeStatusKey() {
|
||||||
let result = this.statusKey
|
let result = this.statusKey
|
||||||
if(this.statusKey === 'mail' || this.statusKey === 'bill') {
|
if (this.statusKey === 'mail' || this.statusKey === 'bill') {
|
||||||
result = 'mailBill'
|
result = 'mailBill'
|
||||||
}
|
}
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
s() {
|
s() {
|
||||||
@@ -123,9 +130,9 @@ export default {
|
|||||||
visibleChange(visible) {
|
visibleChange(visible) {
|
||||||
// 到账、开票、邮寄 的时候,请求接口获得相应的数据
|
// 到账、开票、邮寄 的时候,请求接口获得相应的数据
|
||||||
// 判断条件 tooltip显示、 有不同的统计状态,统计状态值不为0 没有请求过详情数据
|
// 判断条件 tooltip显示、 有不同的统计状态,统计状态值不为0 没有请求过详情数据
|
||||||
if(visible && this.statusType && this.statusNo && !this.hasInfo) {
|
if (visible && this.statusType && this.statusNo && !this.hasInfo) {
|
||||||
this.getInfoFunc({id: this.statuObj.id}).then(res =>{
|
this.getInfoFunc({ id: this.statuObj.id }).then(res => {
|
||||||
if(res.success) {
|
if (res.success) {
|
||||||
let arr = res.result[this.opeStatusKey] || []
|
let arr = res.result[this.opeStatusKey] || []
|
||||||
let result = []
|
let result = []
|
||||||
arr.map(tt => {
|
arr.map(tt => {
|
||||||
@@ -147,12 +154,12 @@ export default {
|
|||||||
let result = ''
|
let result = ''
|
||||||
console.log(item)
|
console.log(item)
|
||||||
// 来款
|
// 来款
|
||||||
if(this.statusKey === 'paymentRecord') {
|
if (this.statusKey === 'paymentRecord') {
|
||||||
result = `${item.paymentDate}到账${item.amountReceived}`
|
result = `${ item.paymentDate }到账${ item.amountReceived }`
|
||||||
} else if(this.statusKey === 'bill') {
|
} else if (this.statusKey === 'bill') {
|
||||||
result = `${item.billDate}新增发票,发票单号:${item.billNo}`
|
result = `${ item.billDate }新增发票,发票单号:${ item.billNo }`
|
||||||
} else if(this.statusKey === 'mail') {
|
} else if (this.statusKey === 'mail') {
|
||||||
result = `${item.sendDate}新增邮寄信息,邮寄单号:${item.postNo}`
|
result = `${ item.sendDate }新增邮寄信息,邮寄单号:${ item.postNo }`
|
||||||
}
|
}
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
@@ -165,7 +172,7 @@ export default {
|
|||||||
</style>
|
</style>
|
||||||
<style>
|
<style>
|
||||||
/* 自定义tooltip下样式问题*/
|
/* 自定义tooltip下样式问题*/
|
||||||
.status-tooltip .ant-tooltip-inner{
|
.status-tooltip .ant-tooltip-inner {
|
||||||
white-space: pre-wrap!important;
|
white-space: pre-wrap !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -14,22 +14,35 @@
|
|||||||
<a-form-item
|
<a-form-item
|
||||||
:labelCol="labelCol"
|
:labelCol="labelCol"
|
||||||
:wrapperCol="wrapperCol"
|
:wrapperCol="wrapperCol"
|
||||||
|
@paste.native.capture.prevent="handleOperate"
|
||||||
|
autocomplete="new-password"
|
||||||
label="旧密码">
|
label="旧密码">
|
||||||
<a-input type="password" placeholder="请输入旧密码" v-decorator="[ 'oldpassword', validatorRules.oldpassword]" />
|
<a-input type="password" placeholder="请输入旧密码" v-decorator="[ 'oldpassword', validatorRules.oldpassword]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item
|
<a-form-item
|
||||||
:labelCol="labelCol"
|
:labelCol="labelCol"
|
||||||
:wrapperCol="wrapperCol"
|
:wrapperCol="wrapperCol"
|
||||||
label="新密码">
|
label="新密码">
|
||||||
<a-input type="password" placeholder="请输入新密码" v-decorator="[ 'password', validatorRules.password]" />
|
<a-input
|
||||||
|
type="password"
|
||||||
|
placeholder="请输入新密码"
|
||||||
|
@paste.native.capture.prevent="handleOperate"
|
||||||
|
autocomplete="new-password"
|
||||||
|
v-decorator="[ 'password', validatorRules.password]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item
|
<a-form-item
|
||||||
:labelCol="labelCol"
|
:labelCol="labelCol"
|
||||||
:wrapperCol="wrapperCol"
|
:wrapperCol="wrapperCol"
|
||||||
label="确认新密码">
|
label="确认新密码">
|
||||||
<a-input type="password" @blur="handleConfirmBlur" placeholder="请确认新密码" v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]"/>
|
<a-input
|
||||||
|
type="password"
|
||||||
|
@blur="handleConfirmBlur"
|
||||||
|
placeholder="请确认新密码"
|
||||||
|
@paste.native.capture.prevent="handleOperate"
|
||||||
|
autocomplete="new-password"
|
||||||
|
v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
</a-form>
|
</a-form>
|
||||||
@@ -39,116 +52,125 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import { putAction } from '@/api/manage'
|
import { putAction } from '@/api/manage'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'UserPassword',
|
name: 'UserPassword',
|
||||||
data () {
|
data() {
|
||||||
return {
|
return {
|
||||||
title:'修改密码',
|
title: '修改密码',
|
||||||
modalWidth:800,
|
modalWidth: 800,
|
||||||
visible: false,
|
visible: false,
|
||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
validatorRules:{
|
validatorRules: {
|
||||||
oldpassword:{
|
oldpassword: {
|
||||||
rules: [{
|
rules: [{
|
||||||
required: true, message: '请输入旧密码!',
|
required: true, message: '请输入旧密码!'
|
||||||
}],
|
}]
|
||||||
},
|
|
||||||
password:{
|
|
||||||
rules: [
|
|
||||||
{ required: true, message: '请输入新密码!' },
|
|
||||||
{ pattern:/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8位数字、大小写字母和特殊符号组成!'},
|
|
||||||
{ validator: this.validateToNextPassword }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
confirmpassword:{
|
|
||||||
rules: [
|
|
||||||
{ required: true, message: '请确认新密码!' },
|
|
||||||
{ pattern:/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8位数字、大小写字母和特殊符号组成!'},
|
|
||||||
{ validator: this.validateToNextPassword }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
confirmDirty:false,
|
password: {
|
||||||
labelCol: {
|
rules: [
|
||||||
xs: { span: 24 },
|
{ required: true, message: '请输入新密码!' },
|
||||||
sm: { span: 5 },
|
{
|
||||||
},
|
pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,
|
||||||
wrapperCol: {
|
message: '密码由8位数字、大小写字母和特殊符号组成!'
|
||||||
xs: { span: 24 },
|
},
|
||||||
sm: { span: 16 },
|
{ validator: this.validateToNextPassword }
|
||||||
|
]
|
||||||
},
|
},
|
||||||
|
confirmpassword: {
|
||||||
|
rules: [
|
||||||
|
{ required: true, message: '请确认新密码!' },
|
||||||
|
{
|
||||||
|
pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,
|
||||||
|
message: '密码由8位数字、大小写字母和特殊符号组成!'
|
||||||
|
},
|
||||||
|
{ validator: this.validateToNextPassword }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
confirmDirty: false,
|
||||||
|
labelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 5 }
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 16 }
|
||||||
|
},
|
||||||
|
|
||||||
form:this.$form.createForm(this),
|
form: this.$form.createForm(this),
|
||||||
url: 'sys/user/updatePassword',
|
url: 'sys/user/updatePassword',
|
||||||
username:'',
|
username: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
show(uname) {
|
||||||
|
if (!uname) {
|
||||||
|
this.$message.warning('当前系统无登录用户!')
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
this.username = uname
|
||||||
|
this.form.resetFields()
|
||||||
|
this.visible = true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
handleCancel() {
|
||||||
show(uname){
|
this.close()
|
||||||
if(!uname){
|
},
|
||||||
this.$message.warning('当前系统无登录用户!')
|
close() {
|
||||||
return
|
this.$emit('close')
|
||||||
}else{
|
this.visible = false
|
||||||
this.username = uname
|
this.disableSubmit = false
|
||||||
this.form.resetFields()
|
this.selectedRole = []
|
||||||
this.visible = true
|
},
|
||||||
|
handleOk() {
|
||||||
|
const that = this
|
||||||
|
// 触发表单验证
|
||||||
|
this.form.validateFields((err, values) => {
|
||||||
|
if (!err) {
|
||||||
|
that.confirmLoading = true
|
||||||
|
let params = Object.assign({ username: this.username }, values)
|
||||||
|
console.log('修改密码提交数据', params)
|
||||||
|
putAction(this.url, params).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
console.log(res)
|
||||||
|
that.$message.success(res.message)
|
||||||
|
that.close()
|
||||||
|
} else {
|
||||||
|
that.$message.warning(res.message)
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
that.confirmLoading = false
|
||||||
|
})
|
||||||
}
|
}
|
||||||
},
|
})
|
||||||
handleCancel () {
|
},
|
||||||
this.close()
|
validateToNextPassword(rule, value, callback) {
|
||||||
},
|
const form = this.form
|
||||||
close () {
|
if (value && this.confirmDirty) {
|
||||||
this.$emit('close')
|
form.validateFields(['confirm'], { force: true })
|
||||||
this.visible = false
|
|
||||||
this.disableSubmit = false
|
|
||||||
this.selectedRole = []
|
|
||||||
},
|
|
||||||
handleOk () {
|
|
||||||
const that = this
|
|
||||||
// 触发表单验证
|
|
||||||
this.form.validateFields((err, values) => {
|
|
||||||
if (!err) {
|
|
||||||
that.confirmLoading = true
|
|
||||||
let params = Object.assign({username:this.username},values)
|
|
||||||
console.log('修改密码提交数据',params)
|
|
||||||
putAction(this.url,params).then((res)=>{
|
|
||||||
if(res.success){
|
|
||||||
console.log(res)
|
|
||||||
that.$message.success(res.message)
|
|
||||||
that.close()
|
|
||||||
}else{
|
|
||||||
that.$message.warning(res.message)
|
|
||||||
}
|
|
||||||
}).finally(() => {
|
|
||||||
that.confirmLoading = false
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
validateToNextPassword (rule, value, callback) {
|
|
||||||
const form = this.form
|
|
||||||
if (value && this.confirmDirty) {
|
|
||||||
form.validateFields(['confirm'], { force: true })
|
|
||||||
}
|
|
||||||
callback()
|
|
||||||
},
|
|
||||||
compareToFirstPassword (rule, value, callback) {
|
|
||||||
const form = this.form
|
|
||||||
if (value && value !== form.getFieldValue('password')) {
|
|
||||||
callback('两次输入的密码不一样!')
|
|
||||||
} else {
|
|
||||||
callback()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
handleConfirmBlur (e) {
|
|
||||||
const value = e.target.value
|
|
||||||
this.confirmDirty = this.confirmDirty || !!value
|
|
||||||
}
|
}
|
||||||
|
callback()
|
||||||
|
},
|
||||||
|
compareToFirstPassword(rule, value, callback) {
|
||||||
|
const form = this.form
|
||||||
|
if (value && value !== form.getFieldValue('password')) {
|
||||||
|
callback('两次输入的密码不一样!')
|
||||||
|
} else {
|
||||||
|
callback()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleConfirmBlur(e) {
|
||||||
|
const value = e.target.value
|
||||||
|
this.confirmDirty = this.confirmDirty || !!value
|
||||||
|
},
|
||||||
|
// 密码禁止粘贴
|
||||||
|
handleOperate() {
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|||||||
@@ -34,8 +34,11 @@
|
|||||||
@change="handleImportExcel" v-has="'company:import'">
|
@change="handleImportExcel" v-has="'company:import'">
|
||||||
<a-button type="primary" icon="import">导入</a-button>
|
<a-button type="primary" icon="import">导入</a-button>
|
||||||
</a-upload>
|
</a-upload>
|
||||||
<a-button type="primary" icon="export" @click="handleExportXls('单位/开票信息')" v-has="'company:export'">导出</a-button>
|
<a-button type="primary" icon="export" @click="handleExportXls('单位/开票信息')" v-has="'company:export'">导出
|
||||||
<a-button type="primary" icon="download" @click="downTemplate('单位/开票信息导入模板')" v-has="'company:downTemplate'">下载模板</a-button>
|
</a-button>
|
||||||
|
<a-button type="primary" icon="download" @click="downTemplate('单位/开票信息导入模板')" v-has="'company:downTemplate'">
|
||||||
|
下载模板
|
||||||
|
</a-button>
|
||||||
<a-button type="danger" icon="delete" @click="batchDel" v-has="'company:batchDel'">批量删除</a-button>
|
<a-button type="danger" icon="delete" @click="batchDel" v-has="'company:batchDel'">批量删除</a-button>
|
||||||
</div>
|
</div>
|
||||||
<!-- 操作按钮区域-end-->
|
<!-- 操作按钮区域-end-->
|
||||||
@@ -61,9 +64,10 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
||||||
<a @click="handleAudit(record.id)" v-if="record.dataSource===2 && record.status===2" v-has="'company:confirm'">确认</a>
|
<a @click="handleAudit(record.id)" v-if="record.dataSource===2 && record.status===2"
|
||||||
|
v-has="'company:confirm'">确认</a>
|
||||||
<a @click="handleEdit(record)" v-has="'company:edit'">编辑</a>
|
<a @click="handleEdit(record)" v-has="'company:edit'">编辑</a>
|
||||||
<a @click="handleDelete(record.id)" v-has="'company:delete'">删除</a>
|
<a @click="confirmDelete(record)" v-has="'company:delete'">删除</a>
|
||||||
</span>
|
</span>
|
||||||
</a-table>
|
</a-table>
|
||||||
</div>
|
</div>
|
||||||
@@ -78,7 +82,8 @@ import JEllipsis from '@comp/jero/JEllipsis'
|
|||||||
import BusinessManagementModule from './modules/BusinessManagementModule'
|
import BusinessManagementModule from './modules/BusinessManagementModule'
|
||||||
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
||||||
import IconImg from '@/assets/imgs/icon/icon_company_management.png'
|
import IconImg from '@/assets/imgs/icon/icon_company_management.png'
|
||||||
import { aduitCompany } from '../../api/incomePaymentsApi'
|
import { aduitCompany, checkContactByCompany } from '../../api/incomePaymentsApi'
|
||||||
|
import { getAction } from '../../api/manage'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'BusinessManagement',
|
name: 'BusinessManagement',
|
||||||
@@ -159,7 +164,7 @@ export default {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
url: {
|
url: {
|
||||||
list: '/company/payCompanyManagement/list',
|
list: '/company/payCompanyManagement/queryCompanyPageList',
|
||||||
delete: '/company/payCompanyManagement/delete',
|
delete: '/company/payCompanyManagement/delete',
|
||||||
deleteBatch: '/company/payCompanyManagement/deleteBatch',
|
deleteBatch: '/company/payCompanyManagement/deleteBatch',
|
||||||
exportXlsUrl: '/company/payCompanyManagement/exportXls',
|
exportXlsUrl: '/company/payCompanyManagement/exportXls',
|
||||||
@@ -177,9 +182,9 @@ export default {
|
|||||||
const that = this
|
const that = this
|
||||||
this.$confirm({
|
this.$confirm({
|
||||||
title: '确认',
|
title: '确认',
|
||||||
content: '确认该单位信息吗?',
|
content: '确认该单位/开票信息吗?',
|
||||||
onOk: function () {
|
onOk: function () {
|
||||||
aduitCompany({id: id}).then((res) => {
|
aduitCompany({ id: id }).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
that.$message.success(res.result)
|
that.$message.success(res.result)
|
||||||
that.loadData()
|
that.loadData()
|
||||||
@@ -189,6 +194,91 @@ export default {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 单个删除的确认
|
||||||
|
* @param record
|
||||||
|
*/
|
||||||
|
confirmDelete(record) {
|
||||||
|
const that = this
|
||||||
|
checkContactByCompany({ id: record.id }).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
let confirmContent = '确定要删除该企业吗?'
|
||||||
|
if (res.result && res.result.length > 0) {
|
||||||
|
confirmContent = `${ res.result.join(',').toString() }下有联系人,确定要删除该企业吗?`
|
||||||
|
}
|
||||||
|
this.$confirm({
|
||||||
|
title: '确认删除',
|
||||||
|
content: confirmContent,
|
||||||
|
onOk: function () {
|
||||||
|
getAction(that.url.delete, { id: record.id }).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
that.$message.success(res.message)
|
||||||
|
// 判断当前删除的数据是否是最后一页的最后一条数据,如果是的话页码减一
|
||||||
|
if (that.ipagination.current > 1 && ((that.ipagination.current - 1) * that.ipagination.pageSize) + 1 === that.ipagination.total) {
|
||||||
|
that.ipagination.current -= 1
|
||||||
|
}
|
||||||
|
that.loadData()
|
||||||
|
} else {
|
||||||
|
that.$message.warning(res.message)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
that.$message.warning(res.message)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
batchDel() {
|
||||||
|
if (!this.url.deleteBatch) {
|
||||||
|
this.$message.error('请设置url.deleteBatch属性!')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (this.selectedRowKeys.length <= 0) {
|
||||||
|
this.$message.warning('请选择一条记录!')
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
let ids = ''
|
||||||
|
for (let a = 0; a < this.selectedRowKeys.length; a++) {
|
||||||
|
ids += this.selectedRowKeys[a] + ','
|
||||||
|
}
|
||||||
|
checkContactByCompany({ id: ids }).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
let confirmContent = '是否删除选中数据?'
|
||||||
|
if (res.result && res.result.length > 0) {
|
||||||
|
confirmContent = `${res.result.join(',').toString()}下有联系人,确定要删除选中企业吗?`
|
||||||
|
}
|
||||||
|
const that = this
|
||||||
|
this.$confirm({
|
||||||
|
title: '确认删除',
|
||||||
|
content: confirmContent,
|
||||||
|
onOk: function () {
|
||||||
|
that.loading = true
|
||||||
|
getAction(that.url.deleteBatch, { ids: ids }).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
that.$message.success(res.message)
|
||||||
|
// 判断当前删除的数据是否是最后一页的全部数据,如果是的话页码减一
|
||||||
|
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()
|
||||||
|
} else {
|
||||||
|
that.$message.warning(res.message)
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
that.loading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
<a-row>
|
<a-row>
|
||||||
<a-col :xl="12" :sm="24">
|
<a-col :xl="12" :sm="24">
|
||||||
<a-form-item label="企业名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="企业名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入公司名称"
|
<a-input placeholder="请输入企业名称"
|
||||||
v-decorator="['companyName',validatorRules.companyName]"
|
v-decorator="['companyName',validatorRules.companyName]"
|
||||||
:maxLength='50'
|
:maxLength='50'
|
||||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
<a-form-item label="信用代码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="信用代码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入信用代码"
|
<a-input placeholder="请输入信用代码"
|
||||||
v-decorator="['dutyCode', validatorRules.dutyCode]"
|
v-decorator="['dutyCode', validatorRules.dutyCode]"
|
||||||
:maxLength='50'
|
:maxLength='18'
|
||||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -97,11 +97,6 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
|
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -214,11 +209,14 @@ export default {
|
|||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
const that = this
|
const that = this
|
||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
that.confirmLoading = true
|
|
||||||
// values.dataSource = this.dataForm
|
// values.dataSource = this.dataForm
|
||||||
// values.signingUp = this.applyAdd
|
// values.signingUp = this.applyAdd
|
||||||
let httpurl = ''
|
let httpurl = ''
|
||||||
@@ -239,8 +237,12 @@ export default {
|
|||||||
that.$message.warning(res.message)
|
that.$message.warning(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
that.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -258,7 +260,7 @@ export default {
|
|||||||
if (phoneReg(value) || isPhone(value)) {
|
if (phoneReg(value) || isPhone(value)) {
|
||||||
callback()
|
callback()
|
||||||
} else {
|
} else {
|
||||||
callback('请填写正确的电话号码')
|
callback('请输入正确的电话号码')
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -97,10 +97,6 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -237,11 +233,14 @@ export default {
|
|||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
const that = this
|
const that = this
|
||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
that.confirmLoading = true
|
|
||||||
// 处理企业名称和id等信息
|
// 处理企业名称和id等信息
|
||||||
values.companyName = values.company.companyName
|
values.companyName = values.company.companyName
|
||||||
values.companyId = values.company.id
|
values.companyId = values.company.id
|
||||||
@@ -266,8 +265,12 @@ export default {
|
|||||||
that.$message.warning(res.message)
|
that.$message.warning(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
that.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
+12
-5
@@ -349,7 +349,7 @@ export default {
|
|||||||
this.$refs.installmentForm.initInstallmentList([])
|
this.$refs.installmentForm.initInstallmentList([])
|
||||||
// 税率默认为6
|
// 税率默认为6
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.form.setFieldsValue({rate: 6})
|
this.form.setFieldsValue({ rate: 6 })
|
||||||
})
|
})
|
||||||
this.rateNum = 6 / 100
|
this.rateNum = 6 / 100
|
||||||
},
|
},
|
||||||
@@ -397,9 +397,12 @@ export default {
|
|||||||
handleSave() {
|
handleSave() {
|
||||||
// 验证分期信息
|
// 验证分期信息
|
||||||
this.$refs.installmentForm.handleSave()
|
this.$refs.installmentForm.handleSave()
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
this.confirmLoading = true
|
|
||||||
if (this.installmentList && this.installmentList.length > 0) {
|
if (this.installmentList && this.installmentList.length > 0) {
|
||||||
let formData = {}
|
let formData = {}
|
||||||
formData.installment = this.installmentList
|
formData.installment = this.installmentList
|
||||||
@@ -423,11 +426,15 @@ export default {
|
|||||||
this.$message.warning(res.message)
|
this.$message.warning(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
this.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
this.confirmLoading = false
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -546,7 +553,7 @@ export default {
|
|||||||
* @param e
|
* @param e
|
||||||
*/
|
*/
|
||||||
noTaxChange(e) {
|
noTaxChange(e) {
|
||||||
e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()
|
e.target.value = (e.target.value.replace(/[^0-9.]/g, '')).trim()
|
||||||
this.inputNoTaxAmount = Number(e.target.value)
|
this.inputNoTaxAmount = Number(e.target.value)
|
||||||
this.calculateContractAmount()
|
this.calculateContractAmount()
|
||||||
},
|
},
|
||||||
@@ -573,7 +580,7 @@ export default {
|
|||||||
}
|
}
|
||||||
let contractNum = this.inputNoTaxAmount * (1 + this.rateNum)
|
let contractNum = this.inputNoTaxAmount * (1 + this.rateNum)
|
||||||
contractNum = contractNum.toFixed(2)
|
contractNum = contractNum.toFixed(2)
|
||||||
this.form.setFieldsValue({contractAmount: contractNum})
|
this.form.setFieldsValue({ contractAmount: contractNum })
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 应收金额输入
|
* 应收金额输入
|
||||||
|
|||||||
@@ -74,13 +74,6 @@ export default {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
|
||||||
isPack(value) {
|
|
||||||
if (value) {
|
|
||||||
this.projectType.splice(2, 1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
open() {
|
open() {
|
||||||
this.visible = true
|
this.visible = true
|
||||||
|
|||||||
@@ -32,10 +32,6 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick :loading="confirmLoading">确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -84,9 +80,12 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
handleOk() {
|
handleOk() {
|
||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
this.confirmLoading = true
|
|
||||||
values.contractId = this.contractId
|
values.contractId = this.contractId
|
||||||
const formData = Object.assign(this.model, values)
|
const formData = Object.assign(this.model, values)
|
||||||
console.log('表单提交数据', formData)
|
console.log('表单提交数据', formData)
|
||||||
@@ -99,8 +98,12 @@ export default {
|
|||||||
this.$message.warning(res.message)
|
this.$message.warning(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
this.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -232,7 +232,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- /分期信息-->
|
<!-- /分期信息-->
|
||||||
<a-form-item class="table-operator">
|
<a-form-item class="table-operator">
|
||||||
<a-button type="primary" @click="handleSave" v-preventclick>保存</a-button>
|
<a-button type="primary" @click="handleSave" :loading="confirmLoading">保存</a-button>
|
||||||
<a-button @click="handleCancle">取消</a-button>
|
<a-button @click="handleCancle">取消</a-button>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
@@ -487,6 +487,10 @@ export default {
|
|||||||
* 表单提交
|
* 表单提交
|
||||||
*/
|
*/
|
||||||
handleSave() {
|
handleSave() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
// 验证分期信息
|
// 验证分期信息
|
||||||
this.$refs.installmentForm.handleSave()
|
this.$refs.installmentForm.handleSave()
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
@@ -518,11 +522,15 @@ export default {
|
|||||||
this.$message.warning(res.message)
|
this.$message.warning(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
this.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
this.confirmLoading = false
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -799,13 +807,13 @@ export default {
|
|||||||
break
|
break
|
||||||
// 会议项目
|
// 会议项目
|
||||||
case 3:
|
case 3:
|
||||||
|
// 传入合同信息
|
||||||
|
this.$refs.selectMeetingProjectModule.open(this.newFormData)
|
||||||
// 打包为是不能选择关联会议项目
|
// 打包为是不能选择关联会议项目
|
||||||
if (this.newFormData.pack === 1) {
|
// if (this.newFormData.pack === 1) {
|
||||||
this.$message.warn('打包不可选择会议项目')
|
// this.$message.warn('打包不可选择会议项目')
|
||||||
} else {
|
// } else {
|
||||||
// 传入合同信息
|
// }
|
||||||
this.$refs.selectMeetingProjectModule.open(this.newFormData)
|
|
||||||
}
|
|
||||||
break
|
break
|
||||||
// 会员项目
|
// 会员项目
|
||||||
case 4:
|
case 4:
|
||||||
|
|||||||
@@ -97,11 +97,6 @@
|
|||||||
:is-contract-num-disabled="true"
|
:is-contract-num-disabled="true"
|
||||||
:flag="1"
|
:flag="1"
|
||||||
@ok="selectProjectOk"></general-project-module>
|
@ok="selectProjectOk"></general-project-module>
|
||||||
|
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -288,11 +283,15 @@ export default {
|
|||||||
this.$emit('ok')
|
this.$emit('ok')
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
if (this.selectedRowKeys.length <= 0) {
|
if (this.confirmLoading) {
|
||||||
this.$message.warn('请选择项目后再提交关联')
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.confirmLoading = true
|
this.confirmLoading = true
|
||||||
|
if (this.selectedRowKeys.length <= 0) {
|
||||||
|
this.$message.warn('请选择项目后再提交关联')
|
||||||
|
this.confirmLoading = false
|
||||||
|
return
|
||||||
|
}
|
||||||
let submitData = []
|
let submitData = []
|
||||||
let projectItem
|
let projectItem
|
||||||
this.selectedRowKeys.forEach(item => {
|
this.selectedRowKeys.forEach(item => {
|
||||||
@@ -311,7 +310,9 @@ export default {
|
|||||||
this.$message.warn(res.message)
|
this.$message.warn(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
this.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleCancel() {
|
handleCancel() {
|
||||||
|
|||||||
+9
-8
@@ -80,11 +80,6 @@
|
|||||||
:is-contract-num-disabled="true"
|
:is-contract-num-disabled="true"
|
||||||
:flag="1"
|
:flag="1"
|
||||||
:default-charge-way="2"></working-group-member-unit-module>
|
:default-charge-way="2"></working-group-member-unit-module>
|
||||||
|
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -179,11 +174,15 @@ export default {
|
|||||||
this.$emit('ok')
|
this.$emit('ok')
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
if (this.selectedRowKeys.length <= 0) {
|
if (this.confirmLoading) {
|
||||||
this.$message.warn('请选择项目后再提交关联')
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.confirmLoading = true
|
this.confirmLoading = true
|
||||||
|
if (this.selectedRowKeys.length <= 0) {
|
||||||
|
this.$message.warn('请选择项目后再提交关联')
|
||||||
|
this.confirmLoading = false
|
||||||
|
return
|
||||||
|
}
|
||||||
let submitData = []
|
let submitData = []
|
||||||
let projectItem
|
let projectItem
|
||||||
this.selectedRowKeys.forEach(item => {
|
this.selectedRowKeys.forEach(item => {
|
||||||
@@ -203,7 +202,9 @@ export default {
|
|||||||
this.$message.warn(res.message)
|
this.$message.warn(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
this.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleCancel() {
|
handleCancel() {
|
||||||
|
|||||||
@@ -76,11 +76,6 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
|
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -148,6 +143,10 @@ export default {
|
|||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
const that = this
|
const that = this
|
||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
@@ -175,8 +174,12 @@ export default {
|
|||||||
that.$message.warning(res.message)
|
that.$message.warning(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
that.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -34,11 +34,6 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
|
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -93,6 +88,10 @@ export default {
|
|||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
const that = this
|
const that = this
|
||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
@@ -116,8 +115,12 @@ export default {
|
|||||||
that.$message.warning(res.message)
|
that.$message.warning(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
that.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -36,10 +36,6 @@
|
|||||||
:maxLength='200'
|
:maxLength='200'
|
||||||
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="table-operator">
|
|
||||||
<a-button type="primary" @click="handleOk" v-preventclick>保存</a-button>
|
|
||||||
<a-button @click="handleCancle">取消</a-button>
|
|
||||||
</a-form-item>
|
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
</div>
|
</div>
|
||||||
@@ -113,6 +109,10 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
@@ -136,9 +136,13 @@ export default {
|
|||||||
this.$message.warning(res.message)
|
this.$message.warning(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
this.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
this.initDirectoryList()
|
this.initDirectoryList()
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -339,7 +339,10 @@ export default {
|
|||||||
})
|
})
|
||||||
// 选中项目非同一企业
|
// 选中项目非同一企业
|
||||||
if (!isAllEqual(companyArr)) {
|
if (!isAllEqual(companyArr)) {
|
||||||
reject('请选择来款单位为同一企业的项目合并开票')
|
reject('请选择来款单位为同一企业的项目合并开票!')
|
||||||
|
}
|
||||||
|
if (arr.some(item => item.invoiceAmount && Number(item.invoiceAmount) === Number(item.receivableAmount))) {
|
||||||
|
reject('存在已完成开票的项目!')
|
||||||
}
|
}
|
||||||
this.selectedCompany = {
|
this.selectedCompany = {
|
||||||
id: arr[0].chargeCompanyId,
|
id: arr[0].chargeCompanyId,
|
||||||
|
|||||||
@@ -35,11 +35,6 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
|
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -109,6 +104,10 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
values.projectId = this.projectId
|
values.projectId = this.projectId
|
||||||
@@ -130,7 +129,13 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.$message.warn(res.message)
|
this.$message.warn(res.message)
|
||||||
}
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -41,11 +41,6 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
|
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -137,6 +132,10 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
// values.chargeCompanyName = this.chargeCompanyName
|
// values.chargeCompanyName = this.chargeCompanyName
|
||||||
@@ -170,7 +169,13 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.$message.warn(res.message)
|
this.$message.warn(res.message)
|
||||||
}
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -574,7 +574,7 @@ export default {
|
|||||||
// 生成会议报名二维码
|
// 生成会议报名二维码
|
||||||
this.signUpQRCode = await this.generateQRCode(this.signUpHerfUrl)
|
this.signUpQRCode = await this.generateQRCode(this.signUpHerfUrl)
|
||||||
// 生成签到二维码
|
// 生成签到二维码
|
||||||
this.signInQRCode = await this.generateQRCode('https://www.baidu.com')
|
this.signInQRCode = await this.generateQRCode(this.signInUrl)
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
// 标协会议类型
|
// 标协会议类型
|
||||||
@@ -601,6 +601,10 @@ export default {
|
|||||||
// 报名链接
|
// 报名链接
|
||||||
signUpHerfUrl() {
|
signUpHerfUrl() {
|
||||||
return `${window._CONFIG['singUpQRCodeURL']}?id=${this.$route.query.id}`
|
return `${window._CONFIG['singUpQRCodeURL']}?id=${this.$route.query.id}`
|
||||||
|
},
|
||||||
|
// 签到地址
|
||||||
|
signInUrl() {
|
||||||
|
return `${window._CONFIG['signInUrl']}?id=${this.$route.query.id}`
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ export default {
|
|||||||
// 列表选择的key值
|
// 列表选择的key值
|
||||||
meetingSituationIds:[],
|
meetingSituationIds:[],
|
||||||
url: {
|
url: {
|
||||||
add: '/meeting/payMeetingSituation/addDock',
|
add: '/meeting/internalMeetingSituation/addDock',
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -99,6 +99,16 @@
|
|||||||
<status-slot :statu-obj="record" :status-no="text" :status-type="true"></status-slot>
|
<status-slot :statu-obj="record" :status-no="text" :status-type="true"></status-slot>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<!-- 开票-->
|
||||||
|
<template slot="status-bill" slot-scope="text,record">
|
||||||
|
<status-slot :statu-obj="record" :status-no="text" :status-type="true" status-key="bill"></status-slot>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<!-- 邮寄-->
|
||||||
|
<template slot="status-mail" slot-scope="text,record">
|
||||||
|
<status-slot :statu-obj="record" :status-no="text" :status-type="true" status-key="mail"></status-slot>
|
||||||
|
</template>
|
||||||
|
|
||||||
<template slot="status-pack" slot-scope="text,record">
|
<template slot="status-pack" slot-scope="text,record">
|
||||||
<status-slot :statu-obj="record" :status-no="text"></status-slot>
|
<status-slot :statu-obj="record" :status-no="text"></status-slot>
|
||||||
</template>
|
</template>
|
||||||
@@ -199,13 +209,13 @@ export default {
|
|||||||
title: '开票',
|
title: '开票',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'makeInvoice',
|
dataIndex: 'makeInvoice',
|
||||||
scopedSlots: {customRender: 'status'}
|
scopedSlots: {customRender: 'status-bill'}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '邮寄',
|
title: '邮寄',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'mail',
|
dataIndex: 'mail',
|
||||||
scopedSlots: {customRender: 'status'}
|
scopedSlots: {customRender: 'status-mail'}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
|
|||||||
@@ -134,6 +134,10 @@ export default {
|
|||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
const that = this
|
const that = this
|
||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
@@ -151,8 +155,12 @@ export default {
|
|||||||
that.$message.warning(res.message)
|
that.$message.warning(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
that.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -140,6 +140,10 @@ export default {
|
|||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
const that = this
|
const that = this
|
||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
@@ -166,8 +170,12 @@ export default {
|
|||||||
that.$message.warning(res.message)
|
that.$message.warning(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
that.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -59,11 +59,6 @@
|
|||||||
</a-table>
|
</a-table>
|
||||||
</div>
|
</div>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
|
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -197,6 +192,10 @@ export default {
|
|||||||
this.$forceUpdate()
|
this.$forceUpdate()
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
let formData = []
|
let formData = []
|
||||||
@@ -221,7 +220,13 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.$message.warn(res.message)
|
this.$message.warn(res.message)
|
||||||
}
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -94,11 +94,6 @@
|
|||||||
|
|
||||||
</a-table>
|
</a-table>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
|
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -341,6 +336,10 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
let bmpList = []
|
let bmpList = []
|
||||||
@@ -367,7 +366,13 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.$message.warn(res.message)
|
this.$message.warn(res.message)
|
||||||
}
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -93,11 +93,6 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
|
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -205,6 +200,10 @@ export default {
|
|||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
const that = this
|
const that = this
|
||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
@@ -228,8 +227,12 @@ export default {
|
|||||||
that.$message.warning(res.message)
|
that.$message.warning(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
that.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -71,11 +71,6 @@
|
|||||||
</a-table>
|
</a-table>
|
||||||
</div>
|
</div>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
|
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -197,8 +192,13 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
if (this.selectedRowKeys.length === 0) {
|
if (this.selectedRowKeys.length === 0) {
|
||||||
this.$message.warn('请至少选择一个项目')
|
this.$message.warn('请至少选择一个项目')
|
||||||
|
this.confirmLoading = false
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
let projectIds = this.selectedRowKeys.join(',')
|
let projectIds = this.selectedRowKeys.join(',')
|
||||||
@@ -214,6 +214,10 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.$message.warn(res.message)
|
this.$message.warn(res.message)
|
||||||
}
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleCancel() {
|
handleCancel() {
|
||||||
|
|||||||
@@ -316,12 +316,12 @@ export default {
|
|||||||
chargeNoticeList: [], // 收费通知号选项
|
chargeNoticeList: [], // 收费通知号选项
|
||||||
importParam: {},
|
importParam: {},
|
||||||
// 给定当年作为来款年份默认查询条件
|
// 给定当年作为来款年份默认查询条件
|
||||||
queryParam: {
|
// queryParam: {
|
||||||
paymentDate: new Date().getFullYear().toString()
|
// paymentDate: new Date().getFullYear().toString()
|
||||||
},
|
// },
|
||||||
lastQueryParam: {
|
// lastQueryParam: {
|
||||||
paymentDate: new Date().getFullYear().toString()
|
// paymentDate: new Date().getFullYear().toString()
|
||||||
},
|
// },
|
||||||
canOperate: true, // 是否可操作(负责人B不可操作)
|
canOperate: true, // 是否可操作(负责人B不可操作)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -468,15 +468,16 @@ export default {
|
|||||||
window.open(url)
|
window.open(url)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
searchReset() {
|
// 2021 10 11 沟通后去掉了这个功能
|
||||||
this.lastQueryParam = {
|
// searchReset() {
|
||||||
paymentDate: new Date().getFullYear().toString()
|
// this.lastQueryParam = {
|
||||||
}
|
// paymentDate: new Date().getFullYear().toString()
|
||||||
this.queryParam = {
|
// }
|
||||||
paymentDate: new Date().getFullYear().toString()
|
// this.queryParam = {
|
||||||
}
|
// paymentDate: new Date().getFullYear().toString()
|
||||||
this.loadData(1)
|
// }
|
||||||
},
|
// this.loadData(1)
|
||||||
|
// },
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<a-row>
|
<a-row>
|
||||||
<a-col :xxl="4" :xl="10" :lg="12" :md="12" :sm="24">
|
<a-col :xxl="4" :xl="10" :lg="12" :md="12" :sm="24">
|
||||||
<a-form-item label="文件名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="文件名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入文件名称" v-model="queryParam.workGroup"></a-input>
|
<a-input placeholder="请输入文件名称" v-model="queryParam.fileName"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<span class="table-page-search-submitButtons">
|
<span class="table-page-search-submitButtons">
|
||||||
|
|||||||
@@ -173,10 +173,6 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -379,6 +375,10 @@ export default {
|
|||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
const that = this
|
const that = this
|
||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
@@ -411,8 +411,12 @@ export default {
|
|||||||
that.$message.warning(res.message)
|
that.$message.warning(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
that.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -61,11 +61,6 @@
|
|||||||
<a @click="handleDelete(record.id)">删除</a>
|
<a @click="handleDelete(record.id)">删除</a>
|
||||||
</span>
|
</span>
|
||||||
</a-table>
|
</a-table>
|
||||||
<template slot="footer">
|
|
||||||
<a-button type="primary" :disabled="confirmLoading" @click="handleOk" v-preventclick>确定发布</a-button>
|
|
||||||
<a-button @click="handleCancel">取消</a-button>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -211,11 +206,15 @@ export default {
|
|||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
if (this.selectionRows.length === 0) {
|
if (this.selectionRows.length === 0) {
|
||||||
this.$message.warn('请至少选择一个成员单位')
|
this.$message.warn('请至少选择一个成员单位')
|
||||||
|
this.confirmLoading = false
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
this.confirmLoading = true
|
|
||||||
const param = {
|
const param = {
|
||||||
meetingIds: this.selectedMetingList,
|
meetingIds: this.selectedMetingList,
|
||||||
subitemIds: this.selectedRowKeys,
|
subitemIds: this.selectedRowKeys,
|
||||||
@@ -231,7 +230,9 @@ export default {
|
|||||||
this.$message.warn(res.message)
|
this.$message.warn(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
this.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -27,10 +27,6 @@
|
|||||||
</a-form>
|
</a-form>
|
||||||
<a-empty v-else></a-empty>
|
<a-empty v-else></a-empty>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -148,12 +144,18 @@ export default {
|
|||||||
this.memberList = []
|
this.memberList = []
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
if (this.memberList.length === 0) {
|
if (this.memberList.length === 0) {
|
||||||
this.$message.warn('当前工作组暂无成员,无法分发文件')
|
this.$message.warn('当前工作组暂无成员,无法分发文件')
|
||||||
|
this.confirmLoading = false
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (this.checkedKeys.length === 0) {
|
if (this.checkedKeys.length === 0) {
|
||||||
this.form.validateFields()
|
this.form.validateFields()
|
||||||
|
this.confirmLoading = false
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
let str = this.checkedKeys.join(',').toString()
|
let str = this.checkedKeys.join(',').toString()
|
||||||
@@ -179,7 +181,9 @@ export default {
|
|||||||
this.$message.warn(res.message)
|
this.$message.warn(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
this.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
// 单个分发
|
// 单个分发
|
||||||
@@ -198,9 +202,13 @@ export default {
|
|||||||
this.$message.warn(res.message)
|
this.$message.warn(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
this.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -25,10 +25,6 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -101,6 +97,10 @@ export default {
|
|||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
@@ -108,17 +108,21 @@ export default {
|
|||||||
let params = values
|
let params = values
|
||||||
params.projectId = this.projectId
|
params.projectId = this.projectId
|
||||||
params.projectType = this.projectType
|
params.projectType = this.projectType
|
||||||
postAction(this.url.add, params).then((res) => {
|
postAction(this.url.add, params).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.$message.success(res.message)
|
this.$message.success(res.message)
|
||||||
this.$emit('ok')
|
this.$emit('ok')
|
||||||
this.close()
|
this.close()
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning(res.message)
|
this.$message.warning(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
|
setTimeout(() => {
|
||||||
this.confirmLoading = false
|
this.confirmLoading = false
|
||||||
})
|
}, 1000)
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -198,10 +198,6 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -436,6 +432,10 @@ export default {
|
|||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
const that = this
|
const that = this
|
||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
@@ -471,8 +471,12 @@ export default {
|
|||||||
that.$message.warning(res.message)
|
that.$message.warning(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
that.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -168,10 +168,6 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
<template slot="footer">
|
|
||||||
<a-button @click="handleCancel">关闭</a-button>
|
|
||||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
|
||||||
</template>
|
|
||||||
</j-modal>
|
</j-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -251,6 +247,9 @@ export default {
|
|||||||
this.visible = true
|
this.visible = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.form.setFieldsValue(pick(this.model, 'workingGroupProject', 'year', 'principalIdA', 'principalIdB', 'convokeNum', 'operationCycle', 'yearChargeA', 'chargeNoticeNoA', 'chargeNoticeAId', 'yearChargeB', 'chargeNoticeNoB', 'chargeNoticeBId', 'missionAndObjectives', 'remarks'))
|
this.form.setFieldsValue(pick(this.model, 'workingGroupProject', 'year', 'principalIdA', 'principalIdB', 'convokeNum', 'operationCycle', 'yearChargeA', 'chargeNoticeNoA', 'chargeNoticeAId', 'yearChargeB', 'chargeNoticeNoB', 'chargeNoticeBId', 'missionAndObjectives', 'remarks'))
|
||||||
|
if (!this.model.id) {
|
||||||
|
this.form.setFieldsValue({'year': (new Date().getFullYear()).toString()})
|
||||||
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
close() {
|
close() {
|
||||||
@@ -258,6 +257,10 @@ export default {
|
|||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.confirmLoading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
const that = this
|
const that = this
|
||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
@@ -283,8 +286,12 @@ export default {
|
|||||||
that.$message.warning(res.message)
|
that.$message.warning(res.message)
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
that.confirmLoading = false
|
setTimeout(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}, 1000)
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -59,7 +59,7 @@
|
|||||||
<!-- <a-popconfirm title="确定删除吗?" @confirm="() =>handleDelete(record.id)">-->
|
<!-- <a-popconfirm title="确定删除吗?" @confirm="() =>handleDelete(record.id)">-->
|
||||||
|
|
||||||
<!-- </a-popconfirm>\-->
|
<!-- </a-popconfirm>\-->
|
||||||
<a @click="handleDelete(record.id)" v-has="'sys:dict:del'">删除</a>
|
<!-- <a @click="handleDelete(record.id)" v-has="'sys:dict:del'">删除</a>-->
|
||||||
</span>
|
</span>
|
||||||
<template slot="text" slot-scope="text">
|
<template slot="text" slot-scope="text">
|
||||||
<span v-if="!text"></span>
|
<span v-if="!text"></span>
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ export default {
|
|||||||
sorter: true
|
sorter: true
|
||||||
}, {
|
}, {
|
||||||
title: '角色',
|
title: '角色',
|
||||||
dataIndex: 'roleName',
|
dataIndex: 'roleName_dictText',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
sorter: true
|
sorter: true
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -39,28 +39,28 @@
|
|||||||
<span slot="action" slot-scope="text, record" class="action-span-cell">
|
<span slot="action" slot-scope="text, record" class="action-span-cell">
|
||||||
<a @click="handleEdit(record)">编辑</a>
|
<a @click="handleEdit(record)">编辑</a>
|
||||||
|
|
||||||
<a-dropdown>
|
<!-- <a-dropdown>-->
|
||||||
<a class="ant-dropdown-link">
|
<!-- <a class="ant-dropdown-link">-->
|
||||||
更多 <a-icon type="down"/>
|
<!-- 更多 <a-icon type="down"/>-->
|
||||||
</a>
|
<!-- </a>-->
|
||||||
<a-menu slot="overlay">
|
<!-- <a-menu slot="overlay">-->
|
||||||
<a-menu-item>
|
<!-- <a-menu-item>-->
|
||||||
<a href="javascript:;" @click="handleDetail(record)">详情</a>
|
<!-- <a href="javascript:;" @click="handleDetail(record)">详情</a>-->
|
||||||
</a-menu-item>
|
<!-- </a-menu-item>-->
|
||||||
<a-menu-item>
|
<!-- <a-menu-item>-->
|
||||||
<a href="javascript:;" @click="handleAddSub(record)">添加下级</a>
|
<!-- <a href="javascript:;" @click="handleAddSub(record)">添加下级</a>-->
|
||||||
</a-menu-item>
|
<!-- </a-menu-item>-->
|
||||||
<a-menu-item>
|
<!-- <a-menu-item>-->
|
||||||
<a href="javascript:;" @click="handleDataRule(record)">数据规则</a>
|
<!-- <a href="javascript:;" @click="handleDataRule(record)">数据规则</a>-->
|
||||||
</a-menu-item>
|
<!-- </a-menu-item>-->
|
||||||
|
|
||||||
<a-menu-item>
|
<!-- <a-menu-item>-->
|
||||||
<!-- <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">-->
|
<!--<!– <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">–>-->
|
||||||
<!-- </a-popconfirm>-->
|
<!-- <!– </a-popconfirm>–>-->
|
||||||
<a @click="handleDelete(record.id)">删除</a>
|
<!-- <a @click="handleDelete(record.id)">删除</a>-->
|
||||||
</a-menu-item>
|
<!-- </a-menu-item>-->
|
||||||
</a-menu>
|
<!-- </a-menu>-->
|
||||||
</a-dropdown>
|
<!-- </a-dropdown>-->
|
||||||
</span>
|
</span>
|
||||||
<!-- 字符串超长截取省略号显示 -->
|
<!-- 字符串超长截取省略号显示 -->
|
||||||
<span slot="url" slot-scope="text">
|
<span slot="url" slot-scope="text">
|
||||||
|
|||||||
@@ -25,27 +25,29 @@
|
|||||||
|
|
||||||
<!-- 每年一次(月日)-->
|
<!-- 每年一次(月日)-->
|
||||||
<div class="m-d">
|
<div class="m-d">
|
||||||
<!-- 月-->
|
<a-row :gutter="12">
|
||||||
<template v-if="selectDeptFrequency === '2'">
|
<a-col :span="12">
|
||||||
<a-select
|
<!-- 月-->
|
||||||
class="select-month"
|
<template v-if="selectDeptFrequency === '2'">
|
||||||
placeholder="请选择月"
|
<a-select
|
||||||
allowClear
|
placeholder="请选择月"
|
||||||
v-decorator="['deptMonth', validatorRules.deptMonth]"
|
allowClear
|
||||||
:options="monthOptions">
|
v-decorator="['deptMonth', validatorRules.deptMonth]"
|
||||||
</a-select>
|
:options="monthOptions">
|
||||||
</template>
|
</a-select>
|
||||||
|
</template>
|
||||||
<!-- 日-->
|
</a-col>
|
||||||
<template v-if="selectDeptFrequency === '2' || selectDeptFrequency === '3'">
|
<a-col :span="12">
|
||||||
<a-select
|
<a-form-item v-if="selectDeptFrequency === '2' || selectDeptFrequency === '3'">
|
||||||
style="width: calc(50% - 8px)"
|
<a-select
|
||||||
placeholder="请选择日"
|
placeholder="请选择日"
|
||||||
allowClear
|
allowClear
|
||||||
v-decorator="['deptDay', validatorRules.deptDay]"
|
v-decorator="['deptDay', validatorRules.deptDay]"
|
||||||
:options="dayOptions">
|
:options="dayOptions">
|
||||||
</a-select>
|
</a-select>
|
||||||
</template>
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
</div>
|
</div>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="btn-form">
|
<a-form-item class="btn-form">
|
||||||
@@ -85,7 +87,7 @@ export default {
|
|||||||
rules: [{ required: true, message: '请选择频率' }],
|
rules: [{ required: true, message: '请选择频率' }],
|
||||||
validateTrigger: 'change'
|
validateTrigger: 'change'
|
||||||
},
|
},
|
||||||
deptTime: {
|
time: {
|
||||||
rules: [{ required: true, message: '请选择催款时间' }],
|
rules: [{ required: true, message: '请选择催款时间' }],
|
||||||
validateTrigger: 'change'
|
validateTrigger: 'change'
|
||||||
},
|
},
|
||||||
@@ -293,11 +295,6 @@ export default {
|
|||||||
width: 60%;
|
width: 60%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.select-month {
|
|
||||||
margin-right: 16px;
|
|
||||||
width: calc(50% - 8px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-form {
|
.btn-form {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
:labelCol="labelCol"
|
:labelCol="labelCol"
|
||||||
:wrapperCol="wrapperCol"
|
:wrapperCol="wrapperCol"
|
||||||
label="字典编码">
|
label="字典编码">
|
||||||
<a-input placeholder="请输入字典编码" @change="event => event.target.value = event.target.value.trim()" :maxLength="50" v-decorator.trim="[ 'dictCode', validatorRules.dictCode]"/>
|
<a-input placeholder="请输入字典编码" :disabled="!!model.id" @change="event => event.target.value = event.target.value.trim()" :maxLength="50" v-decorator.trim="[ 'dictCode', validatorRules.dictCode]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item
|
<a-form-item
|
||||||
@@ -39,9 +39,9 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import pick from 'lodash.pick'
|
import pick from 'lodash.pick'
|
||||||
import { addDict, editDict, duplicateCheck } from '@api/api'
|
import { addDict, editDict } from '@api/api'
|
||||||
import {checkDictCode} from '@/utils/validateOnly'
|
import {checkDictCode} from '@/utils/validateOnly'
|
||||||
import JDate from '@comp/jero/JDate'
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DictModal',
|
name: 'DictModal',
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
:treeData="treeData"
|
:treeData="treeData"
|
||||||
v-model="model.parentId"
|
v-model="model.parentId"
|
||||||
placeholder="请选择父级菜单"
|
placeholder="请选择父级菜单"
|
||||||
:disabled="disableSubmit"
|
:disabled="!!model.id"
|
||||||
@change="handleParentIdChange">
|
@change="handleParentIdChange">
|
||||||
</a-tree-select>
|
</a-tree-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
:labelCol="labelCol"
|
:labelCol="labelCol"
|
||||||
:wrapperCol="wrapperCol"
|
:wrapperCol="wrapperCol"
|
||||||
label="菜单路径">
|
label="菜单路径">
|
||||||
<a-input @change="event => event.target.value = event.target.value.trim()" :maxLength="100" placeholder="请输入菜单路径" v-decorator="[ 'url',validatorRules.url]" :readOnly="disableSubmit"/>
|
<a-input :disabled="!!model.id" @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>
|
||||||
|
|
||||||
<a-form-item
|
<a-form-item
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
:labelCol="labelCol"
|
:labelCol="labelCol"
|
||||||
:wrapperCol="wrapperCol"
|
:wrapperCol="wrapperCol"
|
||||||
label="前端组件">
|
label="前端组件">
|
||||||
<a-input placeholder="请输入前端组件" @change="event => event.target.value = event.target.value.trim()" :maxLength="120" v-decorator="[ 'component',validatorRules.component]" :readOnly="disableSubmit"/>
|
<a-input :disabled="!!model.id" 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>
|
||||||
|
|
||||||
<a-form-item
|
<a-form-item
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
:labelCol="labelCol"
|
:labelCol="labelCol"
|
||||||
:wrapperCol="wrapperCol"
|
:wrapperCol="wrapperCol"
|
||||||
label="默认跳转地址">
|
label="默认跳转地址">
|
||||||
<a-input placeholder="请输入路由参数 redirect" @change="event => event.target.value = event.target.value.trim()" :maxLength="50" v-decorator="[ 'redirect',{}]" :readOnly="disableSubmit"/>
|
<a-input :disabled="!!model.id" placeholder="请输入路由参数 redirect" @change="event => event.target.value = event.target.value.trim()" :maxLength="50" v-decorator="[ 'redirect',{}]" :readOnly="disableSubmit"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item
|
<a-form-item
|
||||||
@@ -76,7 +76,7 @@
|
|||||||
:wrapperCol="wrapperCol"
|
:wrapperCol="wrapperCol"
|
||||||
label="授权标识">
|
label="授权标识">
|
||||||
<!-- {validator: this.validatePerms }-->
|
<!-- {validator: this.validatePerms }-->
|
||||||
<a-input placeholder="请输入授权标识, 如: user:list" @change="event => event.target.value = event.target.value.trim()" :maxLength="50" v-decorator="[ 'perms', {rules:[{ required: false, message: '请输入授权标识!' }]}]" :readOnly="disableSubmit"/>
|
<a-input :disabled="!!model.id" placeholder="请输入授权标识, 如: user:list" @change="event => event.target.value = event.target.value.trim()" :maxLength="50" v-decorator="[ 'perms', {rules:[{ required: false, message: '请输入授权标识!' }]}]" :readOnly="disableSubmit"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item
|
<a-form-item
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
:labelCol="labelCol"
|
:labelCol="labelCol"
|
||||||
:wrapperCol="wrapperCol"
|
:wrapperCol="wrapperCol"
|
||||||
label="授权策略">
|
label="授权策略">
|
||||||
<j-dict-select-tag v-decorator="['permsType', {}]" placeholder="请选择授权策略" :type="'radio'" :triggerChange="true" dictCode="global_perms_type"/>
|
<j-dict-select-tag :disabled="!!model.id" v-decorator="['permsType', {}]" placeholder="请选择授权策略" :type="'radio'" :triggerChange="true" dictCode="global_perms_type"/>
|
||||||
|
|
||||||
|
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -93,7 +93,7 @@
|
|||||||
:labelCol="labelCol"
|
:labelCol="labelCol"
|
||||||
:wrapperCol="wrapperCol"
|
:wrapperCol="wrapperCol"
|
||||||
label="状态">
|
label="状态">
|
||||||
<j-dict-select-tag v-decorator="['status', {}]" placeholder="请选择状态" :type="'radio'" :triggerChange="true" dictCode="valid_status"/>
|
<j-dict-select-tag :disabled="!!model.id" v-decorator="['status', {}]" placeholder="请选择状态" :type="'radio'" :triggerChange="true" dictCode="valid_status"/>
|
||||||
|
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
|
|||||||
@@ -30,11 +30,13 @@
|
|||||||
<template v-if="!model.id">
|
<template v-if="!model.id">
|
||||||
<a-form-item label="登录密码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="登录密码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input type="password" placeholder="请输入登录密码" :maxLength="50" autocomplete='new-password'
|
<a-input type="password" placeholder="请输入登录密码" :maxLength="50" autocomplete='new-password'
|
||||||
|
@paste.native.capture.prevent="handleOperate"
|
||||||
@change="event => event.target.value = event.target.value.trim()" :disabled="disableSubmit" v-decorator="[ 'password',validatorRules.password]"/>
|
@change="event => event.target.value = event.target.value.trim()" :disabled="disableSubmit" v-decorator="[ 'password',validatorRules.password]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item label="确认密码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="确认密码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input type="password" @blur="handleConfirmBlur" :maxLength="50" placeholder="请输入确认密码" :disabled="disableSubmit"
|
<a-input type="password" @blur="handleConfirmBlur" :maxLength="50" placeholder="请输入确认密码" :disabled="disableSubmit"
|
||||||
|
@paste.native.capture.prevent="handleOperate"
|
||||||
@change="event => event.target.value = event.target.value.trim()" v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]"/>
|
@change="event => event.target.value = event.target.value.trim()" v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</template>
|
</template>
|
||||||
@@ -699,6 +701,10 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.departIdShow = true
|
this.departIdShow = true
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
// 密码禁止粘贴
|
||||||
|
handleOperate() {
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,9 +28,8 @@
|
|||||||
v-decorator="['password',{initialValue:'', rules: validatorRules.password.rules,validateTrigger: 'blur'}]"
|
v-decorator="['password',{initialValue:'', rules: validatorRules.password.rules,validateTrigger: 'blur'}]"
|
||||||
size="large"
|
size="large"
|
||||||
type="password"
|
type="password"
|
||||||
autocomplete="false"
|
|
||||||
placeholder="请输入密码"
|
placeholder="请输入密码"
|
||||||
>
|
@paste.native.capture.prevent="handleOperate">
|
||||||
<a-icon slot="prefix" type="lock" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>
|
<a-icon slot="prefix" type="lock" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -46,7 +45,6 @@
|
|||||||
size="large"
|
size="large"
|
||||||
type="text"
|
type="text"
|
||||||
@change="inputCodeChange"
|
@change="inputCodeChange"
|
||||||
autocomplete="off"
|
|
||||||
placeholder="请输入验证码">
|
placeholder="请输入验证码">
|
||||||
<a-icon slot="prefix" type="safety" :style="{ color: '#B3B7C2',fontSize:'20px'}"/>
|
<a-icon slot="prefix" type="safety" :style="{ color: '#B3B7C2',fontSize:'20px'}"/>
|
||||||
</a-input>
|
</a-input>
|
||||||
@@ -114,7 +112,7 @@ export default {
|
|||||||
smsSendBtn: false,
|
smsSendBtn: false,
|
||||||
},
|
},
|
||||||
validatorRules:{
|
validatorRules:{
|
||||||
username:{rules: [{ required: true, message: '请输入用户名!'},{validator: this.handleUsernameOrEmail}]},
|
username:{rules: [{ required: true, message: '请输入帐号!'},{validator: this.handleUsernameOrEmail}]},
|
||||||
password:{rules: [{ required: true, message: '请输入密码!',validator: 'click'}]},
|
password:{rules: [{ required: true, message: '请输入密码!',validator: 'click'}]},
|
||||||
mobile:{rules: [{validator:this.validateMobile}]},
|
mobile:{rules: [{validator:this.validateMobile}]},
|
||||||
captcha:{rule: [{ required: true, message: '请输入验证码!'}]},
|
captcha:{rule: [{ required: true, message: '请输入验证码!'}]},
|
||||||
@@ -131,11 +129,11 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
|
document.title = '标准所协同工作平台'
|
||||||
this.currdatetime = new Date().getTime()
|
this.currdatetime = new Date().getTime()
|
||||||
Vue.ls.remove(ACCESS_TOKEN)
|
Vue.ls.remove(ACCESS_TOKEN)
|
||||||
this.getRouterData()
|
this.getRouterData()
|
||||||
this.handleChangeCheckCode()
|
this.handleChangeCheckCode()
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions(['Login', 'Logout', 'PhoneLogin']),
|
...mapActions(['Login', 'Logout', 'PhoneLogin']),
|
||||||
@@ -307,6 +305,10 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 密码禁止粘贴
|
||||||
|
handleOperate() {
|
||||||
|
return false
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
>
|
>
|
||||||
<a-input
|
<a-input
|
||||||
type="text"
|
type="text"
|
||||||
v-decorator="['username',{ rules: validatorRules.username.rules}]"
|
v-decorator="['username',validatorRules.username]"
|
||||||
placeholder="请输入用户名">
|
placeholder="请输入用户名">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
>
|
>
|
||||||
<a-input
|
<a-input
|
||||||
type="text"
|
type="text"
|
||||||
v-decorator="['phone',{ rules: validatorRules.phone.rules}]"
|
v-decorator="['phone',validatorRules.phone]"
|
||||||
placeholder="请输入手机号">
|
placeholder="请输入手机号">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
:labelCol="{span: 5}"
|
:labelCol="{span: 5}"
|
||||||
:wrapperCol="{span: 19}">
|
:wrapperCol="{span: 19}">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['verifyCode', { rules: validatorRules.verifyCode.rules}]"
|
v-decorator="['verifyCode', validatorRules.verifyCode]"
|
||||||
type="text"
|
type="text"
|
||||||
placeholder="请输入验证码">
|
placeholder="请输入验证码">
|
||||||
</a-input>
|
</a-input>
|
||||||
@@ -72,7 +72,9 @@
|
|||||||
:wrapperCol="{span: 19}">
|
:wrapperCol="{span: 19}">
|
||||||
<a-input
|
<a-input
|
||||||
placeholder="请输入新密码"
|
placeholder="请输入新密码"
|
||||||
v-decorator="['password', { rules: validatorRules.password.rules}]"
|
v-decorator="['password', validatorRules.password]"
|
||||||
|
@paste.native.capture.prevent="handleOperate"
|
||||||
|
autocomplete="new-password"
|
||||||
type="password">
|
type="password">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -87,9 +89,10 @@
|
|||||||
:wrapperCol="{span: 19}">
|
:wrapperCol="{span: 19}">
|
||||||
<a-input
|
<a-input
|
||||||
placeholder="请输入确认密码"
|
placeholder="请输入确认密码"
|
||||||
v-decorator="['confirmPassword', { rules: validatorRules.confirmPassword.rules}]"
|
v-decorator="['confirmPassword', validatorRules.confirmPassword]"
|
||||||
type="password"
|
type="password"
|
||||||
autocomplete="false">
|
@paste.native.capture.prevent="handleOperate"
|
||||||
|
autocomplete="new-password">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -131,7 +134,9 @@ export default {
|
|||||||
},
|
},
|
||||||
phone: {
|
phone: {
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请输入手机号码!' }, { validator: this.validatePhone }],
|
{ required: true, message: '请输入手机号码!' },
|
||||||
|
{ validator: this.validatePhone }
|
||||||
|
],
|
||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
},
|
},
|
||||||
verifyCode: {
|
verifyCode: {
|
||||||
@@ -164,6 +169,9 @@ export default {
|
|||||||
rsaPublicKey: null // 公钥
|
rsaPublicKey: null // 公钥
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
created() {
|
||||||
|
document.title = '标准所协同工作平台'
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
submit() {
|
submit() {
|
||||||
let that = this
|
let that = this
|
||||||
@@ -232,27 +240,31 @@ export default {
|
|||||||
this.cmsFailed('手机号不能为空!')
|
this.cmsFailed('手机号不能为空!')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.state.smsSendBtn = true
|
this.form.validateFields(['phone'], { force: true }, (err) => {
|
||||||
let interval = window.setInterval(() => {
|
if (!err) {
|
||||||
if (that.state.time-- <= 0) {
|
const hide = this.$message.loading('验证码发送中..', 0)
|
||||||
that.state.time = 60
|
let smsParams = {
|
||||||
that.state.smsSendBtn = false
|
phone: phone
|
||||||
window.clearInterval(interval)
|
}
|
||||||
|
getAction('/sys/sendVerificationCode', smsParams).then(res => {
|
||||||
|
if (!res.success) {
|
||||||
|
setTimeout(hide, 1)
|
||||||
|
this.cmsFailed(res.message)
|
||||||
|
} else {
|
||||||
|
this.state.smsSendBtn = true
|
||||||
|
let interval = window.setInterval(() => {
|
||||||
|
if (that.state.time-- <= 0) {
|
||||||
|
that.state.time = 60
|
||||||
|
that.state.smsSendBtn = false
|
||||||
|
window.clearInterval(interval)
|
||||||
|
}
|
||||||
|
}, 1000)
|
||||||
|
}
|
||||||
|
setTimeout(hide, 500)
|
||||||
|
})
|
||||||
|
this.getPublicKey()
|
||||||
}
|
}
|
||||||
}, 1000)
|
|
||||||
|
|
||||||
const hide = this.$message.loading('验证码发送中..', 0)
|
|
||||||
let smsParams = {
|
|
||||||
phone: phone,
|
|
||||||
}
|
|
||||||
getAction('/sys/sendVerificationCode', smsParams).then(res => {
|
|
||||||
if (!res.success) {
|
|
||||||
setTimeout(hide, 1)
|
|
||||||
this.cmsFailed(res.message)
|
|
||||||
}
|
|
||||||
setTimeout(hide, 500)
|
|
||||||
})
|
})
|
||||||
this.getPublicKey()
|
|
||||||
},
|
},
|
||||||
cmsFailed(err) {
|
cmsFailed(err) {
|
||||||
this.$notification['error']({
|
this.$notification['error']({
|
||||||
@@ -265,6 +277,10 @@ export default {
|
|||||||
getRSAPublicKey().then(res => {
|
getRSAPublicKey().then(res => {
|
||||||
this.rsaPublicKey = res.result
|
this.rsaPublicKey = res.result
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
// 密码禁止粘贴
|
||||||
|
handleOperate() {
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user