+
+
+
![]()
+
@@ -75,6 +82,7 @@ export default {
},
data () {
return {
+ edit: false,
labelCol: {
sm: { span: 3 }
},
@@ -96,6 +104,7 @@ export default {
},
methods: {
async init () {
+ this.edit = false
this.confirmLoading = true
// 获取用户信息
await getUserBaseInfo().then(res => {
@@ -116,8 +125,19 @@ export default {
handleOk () {
this.$refs.form.validate(async valid => {
if (valid) {
- this.confirmLoading = true
- updateBaseInfo(this.user).then(_ => this.confirmLoading = false)
+ this.$confirm({
+ title: '警告',
+ content: '是否更新用户基础信息',
+ okText: '确定',
+ cancelText: '取消',
+ onOk: () => {
+ this.confirmLoading = true
+ updateBaseInfo(this.user).then(() => {
+ this.confirmLoading = false
+ this.edit = false
+ })
+ }
+ })
}
})
},
diff --git a/src/views/modules/develop/codegen/CodeGenForm.vue b/src/views/modules/develop/codegen/CodeGenForm.vue
index 550a714a0d6bb47ca10d910f292c2d165a050b69..c7223361445433243132e37d26eac6814933b9d4 100644
--- a/src/views/modules/develop/codegen/CodeGenForm.vue
+++ b/src/views/modules/develop/codegen/CodeGenForm.vue
@@ -17,11 +17,7 @@
-
-
-
-
-
+
生成其他参数
@@ -38,11 +34,22 @@
prop="entityName">
+
+
+ Vue2
+ Vue3
+
+
-
+
-
+
-
+
+ MySQL
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -93,24 +95,45 @@ export default {
id: null,
code: null,
name: null,
- databaseType: null,
- dbDriver: null,
+ databaseType: 'mysql',
+ dbDriver: 'com.mysql.cj.jdbc.Driver',
dbUrl: null,
dbName: null,
dbUsername: null,
dbPassword: null,
- remark: null,
+ remark: null
},
rules: {
- code: [],
- name: [],
- databaseType: [],
- dbDriver: [],
- dbUrl: [],
- dbName: [],
- dbUsername: [],
- dbPassword: [],
- remark: [],
+ code: [ { required: true, message: '请输入' } ],
+ name: [ { required: true, message: '请输入' } ],
+ databaseType: [ { required: true, message: '请选择' } ],
+ dbDriver: [ { required: true, message: '请输入' } ],
+ dbUrl: [ { required: true, message: '请输入' } ],
+ dbName: [ { required: true, message: '请输入' } ],
+ dbUsername: [ { required: true, message: '请输入' } ],
+ dbPassword: [ { required: true, message: '请输入' } ],
+ remark: []
+ }
+ }
+ },
+ watch: {
+ 'form.databaseType': function (val) {
+ console.log(val)
+ switch (val) {
+ case 'mysql': {
+ this.form.dbDriver = 'com.mysql.cj.jdbc.Driver'
+ break
+ }
+ default: {
+ this.form.dbDriver = ''
+ }
+ }
+ }
+ },
+ computed: {
+ diff () {
+ return {
+ dbPassword: this.diffForm(this.form.dbPassword, this.rawForm.dbPassword)
}
}
},
@@ -123,6 +146,7 @@ export default {
this.confirmLoading = true
get(id).then(res => {
this.form = res.data
+ this.rawForm = { ...res.data }
this.confirmLoading = false
})
} else {
@@ -139,7 +163,11 @@ export default {
if (this.type === 'add') {
await add(this.form)
} else if (this.type === 'edit') {
- await update(this.form)
+ const form = {
+ ...this.form,
+ ...this.diff
+ }
+ await update(form)
}
this.confirmLoading = false
this.$emit('ok')
diff --git a/src/views/modules/develop/dynamicsource/DynamicDataSourceList.vue b/src/views/modules/develop/dynamicsource/DynamicDataSourceList.vue
index fe40f7211e1ee6ef4d8b51d45f1d6cb5b3c485d0..ff39a1d21ce115cc97f7cc0ea75cfa45df7ab942 100644
--- a/src/views/modules/develop/dynamicsource/DynamicDataSourceList.vue
+++ b/src/views/modules/develop/dynamicsource/DynamicDataSourceList.vue
@@ -22,14 +22,11 @@
:data="tableData"
>
-
-
-
+
+
+
-
-
-
diff --git a/src/views/modules/office/applyshow/TaskOperate.vue b/src/views/modules/office/applyshow/TaskOperate.vue
index 5f2f33cf397fa9657145671581fa9a5e8bca33e3..d1cafd9164ea7227e66219e1d28740fc592fd6e8 100644
--- a/src/views/modules/office/applyshow/TaskOperate.vue
+++ b/src/views/modules/office/applyshow/TaskOperate.vue
@@ -2,7 +2,7 @@
-
+
{{ currentNode.nodeName }}
@@ -24,24 +24,24 @@
-
+
- {{ nextNode.nodeName }}
+ {{ nextOrBackNode.nodeName }}
- {{ dictConvert('BpmTaskAssignType', nextNode.assignType) }}
+ {{ dictConvert('BpmTaskAssignType', nextOrBackNode.assignType) }}
-
- {{ nextNode.assignShow }}
+
+ {{ nextOrBackNode.assignShow }}
- {{ nextNode.multi?nextNode.sequential?'串行':'并行':'否' }}
+ {{ nextOrBackNode.multi ? nextOrBackNode.sequential ? '串行' : '并行' : '否' }}
-
- {{ nextNode.orSign?'是':'否' }}
+
+ {{ nextOrBackNode.orSign ? '是' : '否' }}
-
- {{ nextNode.passRatio }} %
+
+ {{ nextOrBackNode.passRatio }} %
@@ -58,25 +58,36 @@
:rules="rules"
>
-
+
通过
驳回
+ 退回
不通过
弃权
-
+
-
-
+
+
+
+
+
选择用户
@@ -110,6 +121,7 @@ import { approve } from '@/api/bpm/task'
import { getNextNodes, listByModelId } from '@/api/bpm/modelNode'
import { SELECT } from '@/views/modules/bpm/model/BpmModelNodeCode'
import BUserSelectModal from '@/components/Bootx/UserSelectModal/BUserSelectModal'
+import { getBackNodes } from '@/api/bpm/instance'
export default {
name: 'TaskOperate',
@@ -126,13 +138,15 @@ export default {
data () {
return {
nextModes: [],
+ backModes: [],
currentNode: {},
- nextNode: { },
+ nextOrBackNode: {},
userTaskNodes: {},
form: {
type: 'pass',
reason: '',
nextNodeId: undefined,
+ backNodeId: undefined,
assignShow: '',
nextAssign: undefined
}
@@ -149,16 +163,17 @@ export default {
type: [{ required: true, message: '请选择类型!' }],
reason: [{ required: true, message: '请输入审批意见!' }],
nextNodeId: [{ required: this.nextModes.length > 1 && this.form.type !== 'reject', message: '请选择下一环节的任务节点!' }],
+ backNodeId: [{ required: this.form.type === 'back', message: '请选择要退回的任务节点!' }],
assignShow: [
{
- required: [SELECT].includes(this.nextNode?.assignType) && this.form.type !== 'reject',
+ required: [SELECT].includes(this.nextOrBackNode?.assignType) && !['reject', 'back'].includes(this.form.type),
message: '请选择下一环节的处理人!'
}
]
}
},
nextMulti () {
- return this.nextNode?.multi
+ return this.nextOrBackNode?.multi
}
},
methods: {
@@ -179,14 +194,41 @@ export default {
getNextNodes(this.instance.defId, task.nodeId).then(res => {
this.nextModes = res.data
if (this.nextModes.length === 1) {
- this.nextNode = this.userTaskNodes.find(o => o.nodeId === this.nextModes[0].value)
+ this.nextOrBackNode = this.userTaskNodes.find(o => o.nodeId === this.nextModes[0].value)
} else {
- this.nextNode = null
+ this.nextOrBackNode = null
}
})
+ // 可回退的任务节点
+ getBackNodes(this.instance.instanceId).then(res => {
+ this.backModes = res.data
+ })
},
- changeNextNode () {
- this.nextNode = this.userTaskNodes.find(o => o.nodeId === this.form.nextNodeId)
+ /**
+ * 类型切换
+ */
+ changeType () {
+ this.form.backNodeId = undefined
+ this.form.nextNodeId = undefined
+ if (this.form.type === 'back') {
+ this.nextOrBackNode = null
+ return
+ }
+ if (this.form.type === 'reject') {
+ this.nextOrBackNode = null
+ return
+ }
+ if (this.nextModes.length === 1) {
+ this.nextOrBackNode = this.userTaskNodes.find(o => o.nodeId === this.nextModes[0].value)
+ } else {
+ this.nextOrBackNode = null
+ }
+ },
+ /**
+ * 回退节点变动
+ */
+ changeNextOrBackNode () {
+ this.nextOrBackNode = this.userTaskNodes.find(o => o.nodeId === this.form.backNodeId)
},
/**
* 提交处理
@@ -240,6 +282,7 @@ export default {
this.$refs.form.validateField('assignShow')
},
resetForm () {
+ this.nextOrBackNode = null
this.$nextTick(() => {
this.$refs.form.resetFields()
})
diff --git a/src/views/modules/system/client/ClientEdit.vue b/src/views/modules/system/client/ClientEdit.vue
index 8d51e32bff0f338b7348c6b131c49afa5ef3d454..6c2525731fb0e8025dc865cc5929cf2addee49cc 100644
--- a/src/views/modules/system/client/ClientEdit.vue
+++ b/src/views/modules/system/client/ClientEdit.vue
@@ -54,7 +54,7 @@
:filter-option="search"
:disabled="showable"
style="width: 100%"
- placeholder="选择关联的终端"
+ placeholder="选择关联的登录方式"
>
{{ o.name }}
@@ -158,6 +158,7 @@ export default {
this.$refs.form.resetFields()
})
},
+ // 校验编码重复
async validateCode (rule, value, callback) {
const { code, id } = this.form
let res
diff --git a/src/views/modules/system/client/ClientList.vue b/src/views/modules/system/client/ClientList.vue
index 413fca98bff8db1c6d573bbb10e440f0d6c714a1..39dd86c0e9cf8bb2742163ecacb9a0da24011874 100644
--- a/src/views/modules/system/client/ClientList.vue
+++ b/src/views/modules/system/client/ClientList.vue
@@ -1,27 +1,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 查询
- 重置
-
-
-
-
-
+ queryParam = {}"
+ />
-
+
-
+
-
+
diff --git a/src/views/modules/system/client/LoginTypeList.vue b/src/views/modules/system/client/LoginTypeList.vue
index a602f7172ed1c770ec1b01b2bf14e0992e977e5e..f2e10b12fdccf4e42ce316b0fd8ac088faad60a2 100644
--- a/src/views/modules/system/client/LoginTypeList.vue
+++ b/src/views/modules/system/client/LoginTypeList.vue
@@ -1,27 +1,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 查询
- 重置
-
-
-
-
-
+ queryParam = {}"
+ />
import { TableMixin } from '@/mixins/TableMixin'
import { pageFile, deleteFile } from '@/api/third/weChatMedia'
-import storage from 'store'
-import { ACCESS_TOKEN } from '@/store/mutation-types'
+import { UploadMixin } from '@/mixins/UploadMixin'
export default {
name: 'WeChatMediaList',
- mixins: [TableMixin],
+ mixins: [TableMixin, UploadMixin],
computed: {
// 上传地址
uploadAction () {
return process.env.VUE_APP_API_BASE_URL + '/wechat/media/uploadFile'
},
- // 请求头消息
- tokenHeader () {
- // 从 localstorage 获取 token
- const token = storage.get(ACCESS_TOKEN)
- return {
- AccessToken: token
- }
- },
// 表单信息
uploadData () {
return {
@@ -164,19 +155,11 @@ export default {
})
},
/**
- * 上传变动
+ * 上传成功
*/
- uploadChange (info) {
- if (info.file.status === 'done') {
- if (!info.file.response.code) {
- this.init()
- this.$message.success(`${info.file.name} 上传成功!`)
- } else {
- this.$message.error(`${info.file.response.msg}`)
- }
- } else if (info.file.status === 'error') {
- this.$message.error('上传失败')
- }
+ uploadSuccess (info) {
+ this.$message.success(`${info.file.name} 上传成功!`)
+ this.init()
}
},
created () {