From 0ee7f728f9b666a0ad419005589bc033f7b4f063 Mon Sep 17 00:00:00 2001
From: "aoli.qu" <408346101@qq.com>
Date: Tue, 16 Nov 2021 17:54:04 +0800
Subject: [PATCH] =?UTF-8?q?1.=E5=9B=BE=E7=89=87=E4=B8=8A=E4=BC=A0=E7=BB=84?=
=?UTF-8?q?=E4=BB=B6=E5=B0=81=E8=A3=85=202.=E4=BA=BA=E5=91=98=E7=AE=A1?=
=?UTF-8?q?=E7=90=86=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/ImageUpload/index.vue | 147 ++++++++++++++++++
src/components/index.js | 2 +
src/views/org/OrgForm.vue | 40 +++--
src/views/org/OrgList.vue | 16 +-
src/views/person/PersonDetail.vue | 77 ++++++---
src/views/person/PersonForm.vue | 85 ++++++++--
src/views/person/PersonList.vue | 54 ++++---
src/views/person/PersonRegister.vue | 1 -
.../sys/dictionaryItem/DictionaryItemList.vue | 3 +-
9 files changed, 339 insertions(+), 86 deletions(-)
create mode 100644 src/components/ImageUpload/index.vue
diff --git a/src/components/ImageUpload/index.vue b/src/components/ImageUpload/index.vue
new file mode 100644
index 0000000..50322e6
--- /dev/null
+++ b/src/components/ImageUpload/index.vue
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/index.js b/src/components/index.js
index 28d6c51..792466f 100644
--- a/src/components/index.js
+++ b/src/components/index.js
@@ -26,6 +26,7 @@ import StandardFormRow from '@/components/StandardFormRow'
import ArticleListContent from '@/components/ArticleListContent'
import Dialog from '@/components/Dialog'
+import ImageUpload from '@/components/ImageUpload'
import SearchCom from '@/components/SearchCom'
import orgTree from '@/components/OrgTree/Index'
@@ -55,6 +56,7 @@ export {
ArticleListContent,
Dialog,
+ ImageUpload,
SearchCom,
orgTree
}
diff --git a/src/views/org/OrgForm.vue b/src/views/org/OrgForm.vue
index 41293a1..eea5757 100644
--- a/src/views/org/OrgForm.vue
+++ b/src/views/org/OrgForm.vue
@@ -20,12 +20,12 @@
-
+
{{ id }}
@@ -62,7 +62,7 @@
label="类型"
>
- 单位
+ {{ orgType === 1 ? '单位' : '项目' }}
部门
@@ -107,7 +107,7 @@
sm: { span: 15 }
},
orgTree: [],
- modalTitle: '新增机构',
+ modalTitle: '新增',
visible: false,
confirmLoading: false,
formLoading: true,
@@ -117,20 +117,23 @@
key: 'id',
value: 'id'
},
- form: this.$form.createForm(this)
+ form: this.$form.createForm(this),
+ orgType: 1
}
},
methods: {
// 新增初始化方法
- add () {
+ add (orgType) {
this.visible = true
- this.modalTitle = '新增机构'
+ this.modalTitle = '新增'
+ this.orgType = orgType
this.getOrgTree()
},
// 编辑初始化方法
edit (record) {
this.visible = true
- this.modalTitle = '编辑机构'
+ this.modalTitle = '编辑'
+ this.orgType = record.orgType
this.getOrgTree()
setTimeout(() => {
this.form.setFieldsValue(
@@ -150,15 +153,22 @@
* 获取机构树,并加载于表单中
*/
getOrgTree () {
- orgList().then((res) => {
+ const params = { orgType: this.orgType }
+ orgList(params).then((res) => {
this.formLoading = false
if (!res.code === 200 || !res.data.length) {
- this.orgTree = []
+ this.orgTree = [{
+ 'id': '0',
+ 'parentId': '0',
+ 'name': '顶级',
+ 'value': '0',
+ 'pid': '0'
+ }]
return
}
const orgList = listToTree(res.data, [], rootParentId)
this.orgTree = [{
- 'id': '-1',
+ 'id': '0',
'parentId': '0',
'name': '顶级',
'value': '0',
@@ -174,6 +184,7 @@
validateFields((errors, values) => {
if (!errors) {
if (values.id) {
+ values.orgType = this.orgType
orgEdit(values).then((res) => {
if (res.code === 200) {
this.$message.success('编辑成功')
@@ -188,6 +199,7 @@
this.confirmLoading = false
})
} else {
+ values.orgType = this.orgType
orgAdd(values).then((res) => {
if (res.code === 200) {
this.$message.success('新增成功')
diff --git a/src/views/org/OrgList.vue b/src/views/org/OrgList.vue
index d76244f..fdfeaca 100644
--- a/src/views/org/OrgList.vue
+++ b/src/views/org/OrgList.vue
@@ -1,9 +1,9 @@
-
-
+
+
-
+
@@ -26,7 +27,7 @@
:wrapperCol="wrapperCol"
has-feedback
>
-
+
@@ -38,7 +39,7 @@
:wrapperCol="wrapperCol"
has-feedback
>
-
+
@@ -77,7 +78,7 @@
:labelCol="labelCol"
:wrapperCol="wrapperCol"
>
-
+
男
女
@@ -92,7 +93,7 @@
:wrapperCol="wrapperCol"
has-feedback
>
-
+
@@ -106,7 +107,7 @@
:wrapperCol="{span: 20}"
has-feedback
>
-
+
{{ item.name }}
@@ -169,7 +170,7 @@
:wrapperCol="wrapperCol"
has-feedback
>
-
+
@@ -178,28 +179,51 @@
+ 身份证信息
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
变动信息
-
- {{ record.createTime | moment('YYYY-MM-DD') }}
-
-
+ ref="table"
+ :columns="columns"
+ :data="loadData"
+ :rowKey="(record) => record.id"
+ :pagination="{ pageSize: 5 }"
+ :showSizeChanger="false"
+ >
+
+ {{ record.createTime | moment('YYYY-MM-DD') }}
+
+
-
\ No newline at end of file
+
diff --git a/src/views/person/PersonForm.vue b/src/views/person/PersonForm.vue
index 912209b..5582560 100644
--- a/src/views/person/PersonForm.vue
+++ b/src/views/person/PersonForm.vue
@@ -179,6 +179,29 @@
上传身份证
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -191,9 +214,11 @@
import { personAddOrUpdate, personGet } from '@/api/person/person'
import { dictionaryDropDown } from '@/api/sys/dictionaryItem'
import OrgTree from '../org/OrgTree'
+ import ImageUpload from '@/components/ImageUpload'
export default {
components: {
- OrgTree
+ OrgTree,
+ ImageUpload
},
data () {
return {
@@ -213,7 +238,9 @@
jobsData: [],
workTypeData: [],
degreeData: [],
- typeData: []
+ typeData: [],
+ fileList: [],
+ fileList2: []
}
},
mounted () {
@@ -262,7 +289,18 @@
})
this.form.getFieldDecorator('type', { valuePropName: 'checked', initialValue: typeIntArr })
- console.log(data)
+ if (data.idPhotoFace) {
+ this.fileList.push(data.idPhotoFace)
+ }
+ if (data.idPhotoBack) {
+ this.fileList2.push(data.idPhotoBack)
+ }
+ this.$nextTick(() => {
+ this.$refs.upload.flush()
+ })
+ this.$nextTick(() => {
+ this.$refs.upload1.flush()
+ })
this.form.setFieldsValue(
{
id: data.id,
@@ -317,18 +355,34 @@
validateFields((errors, values) => {
if (!errors) {
values.type = values.type.join(',')
- console.log(values)
- personAddOrUpdate(values).then((res) => {
- this.confirmLoading = false
- if (res.code === 200) {
- this.$message.success('操作成功')
- this.$emit('ok', values)
- this.handleCancel()
- } else {
- this.$message.error('操作失败:' + res.msg)
+
+ // 先上传身份证照片
+ this.$refs.upload.submitUpload().then((url) => {
+ if (url.length > 0) {
+ values.idPhotoFace = url
}
- }).finally((res) => {
- this.confirmLoading = false
+ this.$refs.upload1.submitUpload().then((url1) => {
+ if (url1.length > 0) values.idPhotoBack = url1
+
+ // 上传之后调用人员增改方法
+ personAddOrUpdate(values).then((res) => {
+ this.confirmLoading = false
+ if (res.code === 200) {
+ this.$message.success('操作成功')
+ this.$emit('ok', values)
+
+ this.handleCancel()
+ } else {
+ this.$message.error('操作失败:' + res.msg)
+ }
+ }).finally((res) => {
+ this.confirmLoading = false
+ })
+ }, (err) => {
+ this.$message.error(err)
+ })
+ }, (err) => {
+ this.$message.error(err)
})
} else {
this.confirmLoading = false
@@ -349,7 +403,6 @@
if (parseInt(idCardNo.substr(16, 1)) % 2 === 1) {
this.form.setFieldsValue({ sex: 1 })
} else {
- console.log('sex 2')
this.form.setFieldsValue({ sex: 2 })
}
@@ -365,7 +418,6 @@
if (monthNow < monthBirth || (monthNow === monthBirth && dayNow < dayBirth)) {
age--
}
- console.log(age)
// 得到年龄
this.form.setFieldsValue({ age })
},
@@ -373,7 +425,6 @@
this.$refs.orgModal.loadOrg()
},
selectOrg (orgData) {
- console.log(orgData)
this.form.setFieldsValue({ orgId: orgData.id })
this.form.setFieldsValue({ orgName: orgData.name })
},
diff --git a/src/views/person/PersonList.vue b/src/views/person/PersonList.vue
index 07c4479..d37038b 100644
--- a/src/views/person/PersonList.vue
+++ b/src/views/person/PersonList.vue
@@ -14,6 +14,10 @@
+
+
+ {{ orgType === 1 ? '切换到项目组' : '切换到人员管理' }}
+
@@ -175,27 +179,12 @@
key: 'id',
value: 'id'
},
- orgId: ''
+ orgId: '',
+ orgType: 1
}
},
created () {
- /**
- * 获取到机构树,展开顶级下树节点,考虑到后期数据量变大,不建议全部展开
- */
- orgList().then(res => {
- this.treeLoading = false
- if (!res.code === 200 || !res.data.length) {
- return
- }
- this.orgTree = listToTree(res.data, [], rootParentId)
- this.orgId = this.orgTree[0].id
- console.log(this.orgId)
- for (var item of this.orgTree) {
- if (item.pid === 0) {
- this.defaultExpandedKeys.push(item.id)
- }
- }
- })
+ this.getOrgTree()
if (this.hasPerm('person:edit') || this.hasPerm('person:resetPwd') || this.hasPerm('person:del')) {
this.columns.push({
@@ -207,6 +196,31 @@
}
},
methods: {
+ /**
+ * 获取到机构树,展开顶级下树节点,考虑到后期数据量变大,不建议全部展开
+ */
+ async getOrgTree () {
+ await orgList({ orgType: this.orgType }).then(res => {
+ this.treeLoading = false
+ if (!res.code === 200 || !res.data.length) {
+ return
+ }
+ this.defaultExpandedKeys = []
+ this.orgTree = listToTree(res.data, [], rootParentId)
+ this.orgId = this.orgTree[0].id
+ for (var item of this.orgTree) {
+ if (item.pid === 0) {
+ this.defaultExpandedKeys.push(item.id)
+ }
+ }
+ })
+ },
+ async changeOrgType () {
+ this.orgType = this.orgType === 1 ? 2 : 1
+ await this.getOrgTree()
+ // 此处使用async和await 由于需要等待orgTree的返回 再往下依据结果继续执行
+ this.handleClick(this.orgId)
+ },
/**
* 重置密码
*/
@@ -326,9 +340,7 @@
* 点击左侧机构树查询列表
*/
handleClick (e) {
- this.queryParam = {
- 'orgId': e.toString()
- }
+ this.queryParam.orgId = e.toString()
this.orgId = e.toString()
this.$refs.table.refresh(true)
},
diff --git a/src/views/person/PersonRegister.vue b/src/views/person/PersonRegister.vue
index 33e33be..b254f2c 100644
--- a/src/views/person/PersonRegister.vue
+++ b/src/views/person/PersonRegister.vue
@@ -85,7 +85,6 @@
// 加载数据方法 必须为 Promise 对象
loadData: parameter => {
return personRegisterPage(Object.assign(parameter, this.queryParam)).then((res) => {
- console.log(res)
this.invitationCode = res.invitationCode
return res
})
diff --git a/src/views/sys/dictionaryItem/DictionaryItemList.vue b/src/views/sys/dictionaryItem/DictionaryItemList.vue
index d675a30..2cbf112 100644
--- a/src/views/sys/dictionaryItem/DictionaryItemList.vue
+++ b/src/views/sys/dictionaryItem/DictionaryItemList.vue
@@ -46,14 +46,13 @@