Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
fanlin
2021-07-21 16:59:33 +08:00
22 changed files with 744 additions and 556 deletions
+2
View File
@@ -17,3 +17,5 @@ npm run build
### Customize configuration ### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/). See [Configuration Reference](https://cli.vuejs.org/config/).
### test
+89 -106
View File
@@ -3619,23 +3619,6 @@
"upath": "^1.1.1" "upath": "^1.1.1"
} }
}, },
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz",
"integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
"integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
"dev": true,
"optional": true
},
"commander": { "commander": {
"version": "2.20.3", "version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
@@ -4581,94 +4564,6 @@
} }
} }
}, },
"vue-loader-v16": {
"version": "npm:vue-loader@16.3.0",
"resolved": "https://registry.nlark.com/vue-loader/download/vue-loader-16.3.0.tgz",
"integrity": "sha1-LxleS6D7DiY1ltaDDfF9Gjbok2w=",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995651629&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz",
"integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"big.js": {
"version": "5.2.2",
"resolved": "https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz",
"integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=",
"dev": true,
"optional": true
},
"chalk": {
"version": "4.1.1",
"resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.1.tgz",
"integrity": "sha1-yAs/qyi/Y3HmhjMl7uZ+YYt35q0=",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"emojis-list": {
"version": "3.0.0",
"resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz",
"integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=",
"dev": true,
"optional": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz",
"integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
"dev": true,
"optional": true
},
"json5": {
"version": "2.2.0",
"resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz",
"integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=",
"dev": true,
"optional": true,
"requires": {
"minimist": "^1.2.5"
}
},
"loader-utils": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz",
"integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1622293630895&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz",
"integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"vue-style-loader": { "vue-style-loader": {
"version": "4.1.2", "version": "4.1.2",
"resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz", "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz",
@@ -9313,7 +9208,7 @@
}, },
"image-size": { "image-size": {
"version": "0.5.5", "version": "0.5.5",
"resolved": "https://registry.nlark.com/image-size/download/image-size-0.5.5.tgz", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
"integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
"dev": true, "dev": true,
"optional": true "optional": true
@@ -13622,6 +13517,94 @@
"resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.22.4.tgz", "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.22.4.tgz",
"integrity": "sha512-XLI5s0AdqMP2Lf4I4CmdmOq8kjb5DDFGR77wAuxCfpEuYSfhTRyyx6MetgZMiL6Lxa0DasjBOiOcciU3NkL3/Q==" "integrity": "sha512-XLI5s0AdqMP2Lf4I4CmdmOq8kjb5DDFGR77wAuxCfpEuYSfhTRyyx6MetgZMiL6Lxa0DasjBOiOcciU3NkL3/Q=="
}, },
"vue-loader-v16": {
"version": "npm:vue-loader@16.3.3",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.3.3.tgz",
"integrity": "sha512-/1GzCuQ6MRORbC+leKTKoTGtpQt60bYe0gDGEextSteA2OM+v201FPha5jzmjQzVhRcwieZeUvezAtG5a/e5cw==",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
"integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"optional": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"optional": true
},
"hash-sum": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz",
"integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==",
"dev": true,
"optional": true
},
"loader-utils": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"vue-router": { "vue-router": {
"version": "3.4.0", "version": "3.4.0",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.4.0.tgz", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.4.0.tgz",
+2
View File
@@ -21,6 +21,7 @@ import AdvancedQuery from './advancedQuery' // 高级查询
import GenerationNumber from './generationNumber' // 生成企标编号组件 import GenerationNumber from './generationNumber' // 生成企标编号组件
import RoleUserTree from './roleUserTree' // 根据部门和角色查询人员 import RoleUserTree from './roleUserTree' // 根据部门和角色查询人员
import DeptRoleTree from './deptRoleTree' // 根据部门查询角色 import DeptRoleTree from './deptRoleTree' // 根据部门查询角色
import RoleTree from './roleTree' // 查询所有机构及人员
import SQTree from './SQTree' import SQTree from './SQTree'
import OrgTable from './OrgTable' import OrgTable from './OrgTable'
@@ -46,6 +47,7 @@ const install = function (Vue) {
Vue.component('DeptRoleTree', DeptRoleTree) Vue.component('DeptRoleTree', DeptRoleTree)
Vue.component('SQTree', SQTree) Vue.component('SQTree', SQTree)
Vue.component('OrgTable', OrgTable) Vue.component('OrgTable', OrgTable)
Vue.component('RoleTree', RoleTree)
} }
export default { export default {
+175
View File
@@ -0,0 +1,175 @@
<template>
<div class="roleTree">
<el-drawer
:title="isTitle"
:visible.sync="isVisible2"
:wrapperClosable="false"
@close="handleTreeDrawerCancel"
size="800px">
<el-form
ref="attributeEO"
class="label-input-form"
:inline="true"
>
<el-form-item class="form-item-disabled" style="margin: 10px;">
<el-input
v-model="filterText"
placeholder="请输入姓名"
></el-input>
</el-form-item>
</el-form>
<el-tree
v-if="open1 && isVisible2"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
@check="drawerCheck"
:expand-on-click-node="false"
show-checkbox
ref="tree"
:load="loadNode"
lazy>
</el-tree>
<el-tree
v-if="!open1 && isVisible2"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree"
:data="treeData1"
:props="defaultProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
@check="drawerCheck"
:expand-on-click-node="false"
default-expand-all
show-checkbox
ref="tree">
</el-tree>
<div id="roleFormButton" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="handleTreeDrawerCancel">取消</el-button>
</div>
<loading style="z-index: 2099;" :loading="treeLoading">导入中...</loading>
</el-drawer>
</div>
</template>
<script>
export default {
name: "roleTree",
props: {
checkBox: { // 单选/多选
type: Boolean,
default: false,
},
isTitle: { // 标题
type: String
},
isVisible: { // drawer开关
type: Boolean,
default: false,
},
nodeList: { // 回显
type: Array,
default: () => {
return []
}
}
},
data () {
return {
roleList: [],
isVisible2: false,
filterText: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData1: [],
treeData: [],
open1: true,
treeLoading: false,
roleRow: {}
}
},
methods: {
handleTreeDrawerCancel () {
this.filterText = ''
this.isVisible2 = false
},
saveUserInfo () {
this.isVisible2 = false
this.$emit('checkedRole', this.roleList)
},
drawerCheck (data) {
if (this.checkBox) {
// 单选判断
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
if(getlist.length == 1) {
this.roleRow = getlist[0]
}else {
this.$refs.tree.setCheckedKeys([data.id]);
this.roleRow = this.$refs.tree.getCheckedNodes()[0]
}
this.roleList = [this.roleRow]
} else {
this.roleList = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes())
}
},
loadNode(node, resolve) {
if (node.level === 0) {
return resolve(this.treeData);
}
this.getChildren(node, resolve)
},
getChildren (node, resolve) {
this.$http.get('SarInstitution/institution/getNext', {
institutionId: node.key
}, {}, res => {
resolve(res)
})
},
getTree () {
this.treeLoading = true
this.$http.get('SarInstitution/institution/getFirstInstitution', {}, {}, res=> {
this.treeData = res
this.treeLoading = false
})
}
},
watch: {
isVisible (val) {
this.isVisible2 = val
},
isVisible2 (val) {
this.$emit('update:isVisible', val)
},
filterText (val) {
if (val.length) {
this.open1 = false
this.treeLoading = true
this.$http.get('SarInstitution/institution/institutionAndUser', {
userName: val
}, {}, res => {
this.treeData1 = res.data
this.treeLoading = false
})
} else {
this.open1 = true
}
},
},
mounted () {
this.getTree()
}
}
</script>
<style scoped>
</style>
@@ -154,57 +154,19 @@
@submit="handleSubmit" @submit="handleSubmit"
> >
</ProcessFooter> </ProcessFooter>
<el-drawer <Role-tree
title="选择责任部门对接人" is-title="选择责任部门对接人"
:visible.sync="modalshowflag2" :is-visible.sync="modalshowflag2"
:wrapperClosable="false" @checkedRole="checkedRole2"
size="800px"> :nodeList="nodeList2"
<el-tree ></Role-tree>
v-if="modalshowflag2" <Role-tree
style="height: 100%; overflow: auto;" check-box
node-key="id" :is-title="drawerTitle"
class="filter-tree" :is-visible.sync="modalshowflag"
:data="treeData" @checkedRole="checkedRole"
:props="defaultProps" :nodeList="nodeList"
:default-checked-keys="nodeList2" ></Role-tree>
highlight-current
check-strictly
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree2">
</el-tree>
<div id="roleFormButton2" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo2">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo2">取消</el-button>
</div>
</el-drawer>
<el-drawer
:title="drawerTitle"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px">
<el-tree
v-if="modalshowflag"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
@check="drawerCheck"
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree">
</el-tree>
<div id="roleFormButton" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
</div>
</el-drawer>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件"> <el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
<el-upload <el-upload
multiple multiple
@@ -236,15 +198,10 @@
name: "bzdyStep1-1", name: "bzdyStep1-1",
data() { data() {
return { return {
commentText: '',
roleRow: {},
nodeList: [], nodeList: [],
nodeList2: [],
commentText: '',
type: '', type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关 modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题 drawerTitle: '', //drawer标题
textarea: '', // 意见 textarea: '', // 意见
@@ -300,9 +257,7 @@
}, },
fileUrl: 'api/att/attFile/upload', fileUrl: 'api/att/attFile/upload',
fileMadel: false, fileMadel: false,
nodeList2: [],
modalshowflag2: false, modalshowflag2: false,
} }
}, },
components: { components: {
@@ -322,17 +277,10 @@
this.commentText = mes.commentText this.commentText = mes.commentText
}) })
}, },
choiceZRRS () { checkedRole2 (data) {
this.nodeList2 = []
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
}
this.modalshowflag2 = true
},
saveUserInfo2 () {
var idList = '' var idList = ''
var nameList = '' var nameList = ''
this.$refs.tree2.getCheckedNodes().concat(this.$refs.tree2.getHalfCheckedNodes()).forEach( item => { data.forEach( item => {
if (nameList.length > 0) { if (nameList.length > 0) {
nameList += ',' nameList += ','
idList += ',' idList += ','
@@ -342,10 +290,35 @@
}) })
this.roleForm.dockUserList = idList this.roleForm.dockUserList = idList
this.roleForm.dockUserName = nameList this.roleForm.dockUserName = nameList
this.modalshowflag2 = false
}, },
cancleUserInfo2 () { checkedRole (data) {
this.modalshowflag2 = false if (this.type === 'dockUser') {
this.roleForm.dockUser = data[0].id
this.roleForm.dockUserName = data[0].name
} else if (this.type === 'ministerUser') {
this.roleForm.ministerUser = data[0].id
this.roleForm.ministerUserName = data[0].name
} else if (this.type === 'directorUser') {
this.roleForm.directorUser = data[0].id
this.roleForm.directorUserName = data[0].name
} else if (this.type === 'presidentUser') {
this.roleForm.presidentUser = data[0].id
this.roleForm.presidentUserName = data[0].name
}
},
choiceZRRS () {
this.nodeList2 = []
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
}
this.modalshowflag2 = true
},
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = true
}, },
// 导入按钮 上传之前的钩子 // 导入按钮 上传之前的钩子
beginImportFile (file) { beginImportFile (file) {
@@ -388,46 +361,6 @@
fileUpload () { fileUpload () {
this.fileMadel = true this.fileMadel = true
}, },
saveUserInfo () {
if (this.type === 'dockUser') {
this.roleForm.dockUser = this.roleRow.id
this.roleForm.dockUserName = this.roleRow.name
} else if (this.type === 'ministerUser') {
this.roleForm.ministerUser = this.roleRow.id
this.roleForm.ministerUserName = this.roleRow.name
} else if (this.type === 'directorUser') {
this.roleForm.directorUser = this.roleRow.id
this.roleForm.directorUserName = this.roleRow.name
} else if (this.type === 'presidentUser') {
this.roleForm.presidentUser = this.roleRow.id
this.roleForm.presidentUserName = this.roleRow.name
}
this.modalshowflag = false
},
cancleUserInfo () {
this.modalshowflag = false
},
drawerCheck (data) {
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
if(getlist.length == 1) {
this.roleRow = getlist[0]
}else {
this.$refs.tree.setCheckedKeys([data.id]);
this.roleRow = this.$refs.tree.getCheckedNodes()[0]
}
},
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = true
},
getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data
})
},
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
}, },
@@ -490,7 +423,6 @@
}, },
mounted () { mounted () {
this.getData() this.getData()
this.getTree()
} }
} }
</script> </script>
@@ -154,116 +154,19 @@
@submit="handleSubmit" @submit="handleSubmit"
> >
</ProcessFooter> </ProcessFooter>
<el-drawer <Role-tree
title="选择责任部门对接人" is-title="选择责任部门对接人"
:visible.sync="modalshowflag2" :is-visible.sync="modalshowflag2"
:wrapperClosable="false" @checkedRole="checkedRole2"
size="800px"> :nodeList="nodeList2"
<el-form ></Role-tree>
ref="attributeEO" <Role-tree
class="label-input-form" check-box
:inline="true" :is-title="drawerTitle"
> :is-visible.sync="modalshowflag"
<el-form-item class="form-item-disabled" style="margin: 10px;"> @checkedRole="checkedRole"
<el-input :nodeList="nodeList"
v-model="filterText2" ></Role-tree>
placeholder="请输入姓名"
></el-input>
</el-form-item>
</el-form>
<el-tree
v-if="modalshowflag2 && open2"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList2"
highlight-current
check-strictly
:expand-on-click-node="false"
show-checkbox
ref="tree2"
:load="loadNode"
lazy>
</el-tree>
<el-tree
v-if="modalshowflag2 && !open2"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData2"
:props="defaultProps"
:default-checked-keys="nodeList2"
highlight-current
check-strictly
:expand-on-click-node="false"
default-expand-all
show-checkbox
ref="tree2">
</el-tree>
<div id="roleFormButton2" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo2">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo2">取消</el-button>
</div>
<loading style="z-index: 2099;" :loading="treeLoading">导入中...</loading>
</el-drawer>
<el-drawer
:title="drawerTitle"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px">
<el-form
ref="attributeEO"
class="label-input-form"
:inline="true"
>
<el-form-item class="form-item-disabled" style="margin: 10px;">
<el-input
v-model="filterText1"
placeholder="请输入姓名"
></el-input>
</el-form-item>
</el-form>
<el-tree
v-if="modalshowflag && open1"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
@check="drawerCheck"
:expand-on-click-node="false"
show-checkbox
ref="tree"
:load="loadNode"
lazy>
</el-tree>
<el-tree
v-if="modalshowflag && !open1"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree"
:data="treeData1"
:props="defaultProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
@check="drawerCheck"
:expand-on-click-node="false"
default-expand-all
show-checkbox
ref="tree">
</el-tree>
<div id="roleFormButton" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
</div>
<loading style="z-index: 2099;" :loading="treeLoading">导入中...</loading>
</el-drawer>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件"> <el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
<el-upload <el-upload
multiple multiple
@@ -295,22 +198,10 @@ export default {
name: "bzdyStep1", name: "bzdyStep1",
data() { data() {
return { return {
treeLoading: false,
treeData2: [],
treeData1: [],
open1: true,
open2: true,
filterText1: '',
filterText2: '',
commentText: '', commentText: '',
roleRow: {},
nodeList: [], nodeList: [],
nodeList2: [],
type: '', type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关 modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题 drawerTitle: '', //drawer标题
textarea: '', // 意见 textarea: '', // 意见
@@ -366,7 +257,6 @@ export default {
}, },
fileUrl: 'api/att/attFile/upload', fileUrl: 'api/att/attFile/upload',
fileMadel: false, fileMadel: false,
nodeList2: [],
modalshowflag2: false, modalshowflag2: false,
} }
@@ -376,62 +266,11 @@ export default {
ProcessFooter, ProcessFooter,
ProcessTitle ProcessTitle
}, },
watch: {
filterText1 (val) {
if (val.length) {
this.open1 = false
this.treeLoading = true
this.$http.get('SarInstitution/institution/institutionAndUser', {
userName: val
}, {}, res => {
this.treeData1 = res.data
this.treeLoading = false
})
} else {
this.open1 = true
}
},
filterText2 (val) {
if (val.length) {
this.open2 = false
this.treeLoading = true
this.$http.get('SarInstitution/institution/institutionAndUser', {
userName: val
}, {}, res => {
this.treeData2 = res.data
this.treeLoading = false
})
} else {
this.open2 = true
}
},
},
methods: { methods: {
loadNode(node, resolve) { checkedRole2 (data) {
if (node.level === 0) {
return resolve(this.treeData);
}
this.getChildren(node, resolve)
},
getChildren (node, resolve) {
this.$http.get('SarInstitution/institution/getNext', {
institutionId: node.key
}, {}, res => {
resolve(res)
})
},
choiceZRRS () {
this.nodeList2 = []
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
}
this.filterText2 = ''
this.modalshowflag2 = true
},
saveUserInfo2 () {
var idList = '' var idList = ''
var nameList = '' var nameList = ''
this.$refs.tree2.getCheckedNodes().concat(this.$refs.tree2.getHalfCheckedNodes()).forEach( item => { data.forEach( item => {
if (nameList.length > 0) { if (nameList.length > 0) {
nameList += ',' nameList += ','
idList += ',' idList += ','
@@ -441,10 +280,35 @@ export default {
}) })
this.roleForm.dockUserList = idList this.roleForm.dockUserList = idList
this.roleForm.dockUserName = nameList this.roleForm.dockUserName = nameList
this.modalshowflag2 = false
}, },
cancleUserInfo2 () { checkedRole (data) {
this.modalshowflag2 = false if (this.type === 'dockUser') {
this.roleForm.dockUser = data[0].id
this.roleForm.dockUserName = data[0].name
} else if (this.type === 'ministerUser') {
this.roleForm.ministerUser = data[0].id
this.roleForm.ministerUserName = data[0].name
} else if (this.type === 'directorUser') {
this.roleForm.directorUser = data[0].id
this.roleForm.directorUserName = data[0].name
} else if (this.type === 'presidentUser') {
this.roleForm.presidentUser = data[0].id
this.roleForm.presidentUserName = data[0].name
}
},
choiceZRRS () {
this.nodeList2 = []
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
}
this.modalshowflag2 = true
},
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = true
}, },
// 导入按钮 上传之前的钩子 // 导入按钮 上传之前的钩子
beginImportFile (file) { beginImportFile (file) {
@@ -487,49 +351,6 @@ export default {
fileUpload () { fileUpload () {
this.fileMadel = true this.fileMadel = true
}, },
saveUserInfo () {
if (this.type === 'dockUser') {
this.roleForm.dockUser = this.roleRow.id
this.roleForm.dockUserName = this.roleRow.name
} else if (this.type === 'ministerUser') {
this.roleForm.ministerUser = this.roleRow.id
this.roleForm.ministerUserName = this.roleRow.name
} else if (this.type === 'directorUser') {
this.roleForm.directorUser = this.roleRow.id
this.roleForm.directorUserName = this.roleRow.name
} else if (this.type === 'presidentUser') {
this.roleForm.presidentUser = this.roleRow.id
this.roleForm.presidentUserName = this.roleRow.name
}
this.modalshowflag = false
},
cancleUserInfo () {
this.modalshowflag = false
},
drawerCheck (data) {
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
if(getlist.length == 1) {
this.roleRow = getlist[0]
}else {
this.$refs.tree.setCheckedKeys([data.id]);
this.roleRow = this.$refs.tree.getCheckedNodes()[0]
}
},
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.filterText1 = ''
this.modalshowflag = true
},
getTree () {
this.treeLoading = true
this.$http.get('SarInstitution/institution/getFirstInstitution', {}, {}, res=> {
this.treeData = res
this.treeLoading = false
})
},
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
}, },
@@ -591,9 +412,7 @@ export default {
}) })
} }
}, },
mounted () { mounted () {}
this.getTree()
}
} }
</script> </script>
@@ -82,31 +82,12 @@
@submit="handleSubmit" @submit="handleSubmit"
> >
</ProcessFooter> </ProcessFooter>
<el-drawer <Role-tree
title="选择责任人" is-title="选择责任部门对接人"
:visible.sync="modalshowflag" :is-visible.sync="modalshowflag2"
:wrapperClosable="false" @checkedRole="checkedRole2"
size="800px"> :nodeList="nodeList2"
<el-tree ></Role-tree>
v-if="modalshowflag"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree">
</el-tree>
<div id="roleFormButton" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
</div>
</el-drawer>
</div> </div>
</template> </template>
@@ -123,15 +104,9 @@
commentText: '', commentText: '',
taskIds: this.$route.query.taskIds, taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId, pId: this.$route.query.prcId,
roleRow: {}, nodeList2: [],
nodeList: [],
type: '', type: '',
defaultProps: { modalshowflag2: false, // drawer开关
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题 drawerTitle: '', //drawer标题
textarea: '', // 意见 textarea: '', // 意见
ListModel: false, // 新增编辑抽屉开关 ListModel: false, // 新增编辑抽屉开关
@@ -159,13 +134,10 @@
ProcessTitle ProcessTitle
}, },
methods: { methods: {
updateFile () { checkedRole2 (data) {
window.location.href = '/api/att/attFile/downloadFile?fileId=' + this.form.model
},
saveUserInfo () {
var idList = '' var idList = ''
var nameList = '' var nameList = ''
this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes()).forEach( item => { data.forEach( item => {
if (nameList.length > 0) { if (nameList.length > 0) {
nameList += ',' nameList += ','
idList += ',' idList += ','
@@ -175,22 +147,16 @@
}) })
this.form.responUserList = idList this.form.responUserList = idList
this.form.responUserListName = nameList this.form.responUserListName = nameList
this.modalshowflag = false
}, },
cancleUserInfo () { updateFile () {
this.modalshowflag = false window.location.href = '/api/att/attFile/downloadFile?fileId=' + this.form.model
}, },
choiceZRR () { choiceZRR () {
this.nodeList = [] this.nodeList2 = []
if (this.form.responUserList.length > 0) { if ( this.form.responUserList.length > 0) {
this.nodeList = this.form.responUserList.split(',') this.nodeList2 = this.form.responUserList.split(',')
} }
this.modalshowflag = true this.modalshowflag2 = true
},
getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data
})
}, },
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
@@ -238,7 +204,6 @@
}, },
}, },
mounted () { mounted () {
this.getTree()
this.getData() this.getData()
} }
} }
@@ -1064,6 +1064,8 @@ export default {
//提交事件 //提交事件
handleSubmit() { handleSubmit() {
let json = this.listForm; let json = this.listForm;
console.log(this.fileInfoList);
console.log(this.fileInfoList.join(','));
this.listForm.fileId = this.fileInfoList.join(',') this.listForm.fileId = this.fileInfoList.join(',')
this.listForm.fileName = this.fileListName.join(',') this.listForm.fileName = this.fileListName.join(',')
// let json = Object.assign(this.listForm, this.roleForm) // let json = Object.assign(this.listForm, this.roleForm)
@@ -1110,9 +1112,11 @@ export default {
// 删除上传的文件 // 删除上传的文件
delFileInfo(file, fileList) { delFileInfo(file, fileList) {
this.fileInfoList = fileList this.fileInfoList = fileList
let middle = []
fileList.forEach(item => { fileList.forEach(item => {
this.fileListName = item.name middle.push(item.name)
}) })
this.fileListName = middle
}, },
fileUpload () { fileUpload () {
this.fileMadel = true this.fileMadel = true
@@ -1120,12 +1124,16 @@ export default {
// 上传文件成功回调 // 上传文件成功回调
uploadBackSuccess (res, file, fileList) { uploadBackSuccess (res, file, fileList) {
if (res.ok) { if (res.ok) {
let middle = []
fileList.forEach(item => { fileList.forEach(item => {
this.fileListName = item.name middle.push(item.name)
}) })
this.fileInfoList = fileList this.fileListName = middle
this.fileInfoList[this.fileInfoList.length - 1].id = res.data.id let files = []
this.$message.success('上传成功') this.flielist
// this.fileInfoList = fileList
// this.fileInfoList[this.fileInfoList.length - 1].id = res.data.id
// this.$message.success('上传成功')
} else { } else {
this.$message.error(res.message) this.$message.error(res.message)
fileList.pop() fileList.pop()
@@ -111,7 +111,7 @@
</div> </div>
<div class="content" v-show="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list" style="height: 100%">
<el-table <el-table
height="100%" height="100%"
ref="selection" ref="selection"
@@ -120,22 +120,56 @@
label="落实人"> label="落实人">
<template slot-scope="scope,text" v-if="showColumn"> <template slot-scope="scope,text" v-if="showColumn">
<div> <div>
<div @click="choiceZRR(scope,'implementer', '选择落实人', roleForm.implementer)"> <div @click="choiceZRRS(scope)">
{{ listForm.breakdownList[scope.$index].implementer == null ? "请选择落实人" : listForm.breakdownList[scope.$index].implementer {{ listForm.breakdownList[scope.$index].implementer == null ? "请选择落实人" : listForm.breakdownList[scope.$index].implementer
}} }}
</div> </div>
<!-- <div @click="choiceZRR(scope,'implementer', '选择落实人', roleForm.implementer)">-->
<!-- {{ listForm.breakdownList[scope.$index].implementer == null ? "请选择落实人" : listForm.breakdownList[scope.$index].implementer-->
<!-- }}-->
<!-- </div>-->
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 选择责任人--> <!-- 选择责任人-->
<!-- <el-drawer-->
<!-- :title="drawerTitle"-->
<!-- :visible.sync="modalshowflag"-->
<!-- :wrapperClosable="false"-->
<!-- size="800px">-->
<!-- <el-tree-->
<!-- v-if="modalshowflag"-->
<!-- style="height: 100%; overflow: auto;"-->
<!-- node-key="id"-->
<!-- class="filter-tree"-->
<!-- :data="treeData"-->
<!-- :props="defaultProps"-->
<!-- :default-checked-keys="nodeList"-->
<!-- highlight-current-->
<!-- check-strictly-->
<!-- @check="drawerCheck"-->
<!-- default-expand-all-->
<!-- :expand-on-click-node="false"-->
<!-- show-checkbox-->
<!-- ref="tree">-->
<!-- </el-tree>-->
<!-- <div id="roleFormButton" class="demo-drawer-footer">-->
<!-- <el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary"-->
<!-- @click="saveUserInfo">-->
<!-- 确定-->
<!-- </el-button>-->
<!-- <el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消-->
<!-- </el-button>-->
<!-- </div>-->
<!-- </el-drawer>-->
<el-drawer <el-drawer
:title="drawerTitle" title="选择责任部门对接人"
:visible.sync="modalshowflag" :visible.sync="modalshowflag2"
:wrapperClosable="false" :wrapperClosable="false"
size="800px"> size="800px">
<el-tree <el-tree
v-if="modalshowflag" v-if="modalshowflag2"
style="height: 100%; overflow: auto;" style="height: 100%; overflow: auto;"
node-key="id" node-key="id"
class="filter-tree" class="filter-tree"
@@ -144,26 +178,25 @@
:default-checked-keys="nodeList" :default-checked-keys="nodeList"
highlight-current highlight-current
check-strictly check-strictly
@check="drawerCheck"
default-expand-all default-expand-all
:expand-on-click-node="false" :expand-on-click-node="false"
show-checkbox show-checkbox
ref="tree"> ref="tree2">
</el-tree> </el-tree>
<div id="roleFormButton" class="demo-drawer-footer"> <div id="roleFormButton2" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" <el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary"
@click="saveUserInfo"> @click="saveUserInfo2">确定
确定
</el-button> </el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消 <el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo2">取消
</el-button> </el-button>
</div> </div>
</el-drawer> </el-drawer>
</div> </div>
</div> </div>
<div class="content" v-show="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list" style="height: 100%">
<el-table <el-table
height="100%" height="100%"
ref="selection" ref="selection"
@@ -260,6 +293,7 @@ export default {
showColumn: true, showColumn: true,
drawerTitle: "", //drawer标题 drawerTitle: "", //drawer标题
modalshowflag: false, // drawer开关 modalshowflag: false, // drawer开关
modalshowflag2: false,
treeData: [], // 人员数据 treeData: [], // 人员数据
nodeList: [], nodeList: [],
defaultProps: { defaultProps: {
@@ -296,6 +330,7 @@ export default {
qualityEngineer: "", //质量工程师 qualityEngineer: "", //质量工程师
breakdownList: [{ //分解单数据 breakdownList: [{ //分解单数据
implementer: "", implementer: "",
implementerId:'',
applyArctic: "", applyArctic: "",
busStandCover: "", busStandCover: "",
claimType: "", claimType: "",
@@ -308,6 +343,7 @@ export default {
}], }],
dataList: [{ dataList: [{
implementer: "", implementer: "",
implementerId:'',
projectLine: "", //产品线 projectLine: "", //产品线
uname: "",//产品线责任人 uname: "",//产品线责任人
distributePerson: "", //分发责任人 distributePerson: "", //分发责任人
@@ -331,7 +367,8 @@ export default {
}] }]
}, },
roleForm: { roleForm: {
implementer: "" implementer: "",
implementerId: "",
}, },
choiceForm: {}, //选择标准清单列表 choiceForm: {}, //选择标准清单列表
user1: "", user1: "",
@@ -374,6 +411,11 @@ export default {
}); });
}); });
}, },
createItemId() {
return Number(Math.random().toString().substr(3,18) + Date.now()).toString(36);
},
/** /**
* @description: 动态表单读取 * @description: 动态表单读取
*/ */
@@ -387,7 +429,7 @@ export default {
for (let i = 0; i < item.pepdtos.length; i++) { for (let i = 0; i < item.pepdtos.length; i++) {
for (let j = 0; j < item.pepdtos[i].breakdownList.length; j++) { for (let j = 0; j < item.pepdtos[i].breakdownList.length; j++) {
this.listForm.breakdownList.push({ this.listForm.breakdownList.push({
itemId: new Date().getTime(), itemId: this.createItemId(),
itemsName: item.pepdtos[i].breakdownList[j].itemsName, itemsName: item.pepdtos[i].breakdownList[j].itemsName,
itemNum: item.pepdtos[i].breakdownList[j].itemsNum, itemNum: item.pepdtos[i].breakdownList[j].itemsNum,
responsibleEngineer: item.pepdtos[i].breakdownList[j].responsibleEngineer, responsibleEngineer: item.pepdtos[i].breakdownList[j].responsibleEngineer,
@@ -410,38 +452,77 @@ export default {
} }
} }
}, },
saveUserInfo() { // saveUserInfo() {
if (this.type === "implementer") { // if (this.type === "implementer") {
// // 如果有勾选的项
// if (this.selectList.length) {
// this.listForm.breakdownList.forEach((item, index) => {
// if (this.selectList.includes(item.itemId)) {
// this.listForm.breakdownList[index].implementerId = this.roleRow.id;
// this.listForm.breakdownList[index].implementer = this.roleRow.name;
// }
// });
// } else {
// this.listForm.breakdownList[this.dsadadadsada].implementerId = this.roleRow.id;
// this.listForm.breakdownList[this.dsadadadsada].implementer = this.roleRow.name;
// }
// this.listForm.implementer = this.roleRow.name;
// this.showColumn = false;
// this.$nextTick(() => {
// this.showColumn = true;
// });
// }
// this.modalshowflag = false;
// },
saveUserInfo2 () {
var idList = "";
var nameList = "";
this.$refs.tree2.getCheckedNodes().concat(this.$refs.tree2.getHalfCheckedNodes()).forEach(item => {
if (nameList.length > 0) {
nameList += ",";
idList += ",";
}
idList += item.id;
nameList += item.name;
});
// 如果有勾选的项 // 如果有勾选的项
if (this.selectList.length) { if (this.selectList.length) {
this.listForm.breakdownList.forEach((item, index) => { this.listForm.breakdownList.forEach((item, index) => {
console.log(item.itemId);
console.log(index);
if (this.selectList.includes(item.itemId)) { if (this.selectList.includes(item.itemId)) {
this.listForm.breakdownList[index].implementerId = this.roleRow.id; this.listForm.breakdownList[index].implementerId = idList;
this.listForm.breakdownList[index].implementer = this.roleRow.name; this.listForm.breakdownList[index].implementer = nameList;
} }
}); });
} else { } else {
this.listForm.breakdownList[this.dsadadadsada].implementerId = this.roleRow.id; this.listForm.breakdownList[this.dsadadadsada].implementerId = idList;
this.listForm.breakdownList[this.dsadadadsada].implementer = this.roleRow.name; this.listForm.breakdownList[this.dsadadadsada].implementer = nameList;
} }
this.listForm.implementer = this.roleRow.name; this.listForm.implementer = nameList;
this.showColumn = false; this.showColumn = false;
this.$nextTick(() => { this.$nextTick(() => {
this.showColumn = true; this.showColumn = true;
}); });
} this.modalshowflag2 = false;
this.modalshowflag = false; //不要删除 By 宋伟佳
console.log(this.$refs.multipleTable.clearSelection())
this.$nextTick(() => {
for(var i=0;i<this.$refs.multipleTable.length;i++){
this.$refs.multipleTable[i].clearSelection();
}
})
}, },
cancleUserInfo() { cancleUserInfo2() {
this.modalshowflag = false; this.modalshowflag2 = false;
}, },
choiceZRR(scope, type, title, id) { choiceZRRS(scope) {
if (scope != null) this.dsadadadsada = scope.$index; if (scope != null) this.dsadadadsada = scope.$index;
this.nodeList = []; this.nodeList = [];
this.nodeList.push(id); if (this.roleForm.implementer.length > 0) {
this.type = type; this.nodeList = this.roleForm.implementer.split(",");
this.drawerTitle = title; }
this.modalshowflag = true; this.modalshowflag2 = true;
}, },
getTree() { getTree() {
this.$http.get("SarInstitution/institution/institutionAndUser", {}, {}, res => { this.$http.get("SarInstitution/institution/institutionAndUser", {}, {}, res => {
@@ -271,9 +271,9 @@
</div> </div>
<div class="content" v-show="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list" style="height:100%">
<el-table <el-table
height="800px" height="100%"
ref="selection" ref="selection"
:data="detailData" :data="detailData"
tooltip-effect="dark" tooltip-effect="dark"
@@ -228,7 +228,7 @@
</div> </div>
<div class="content" v-show="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list" style="height: 100%">
<el-table <el-table
height="100%" height="100%"
ref="selection" ref="selection"
@@ -228,7 +228,7 @@
</div> </div>
<div class="content" v-show="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list" style="height: 100%">
<el-table <el-table
height="100%" height="100%"
ref="selection" ref="selection"
@@ -228,7 +228,7 @@
</div> </div>
<div class="content" v-show="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list" style="height: 100%">
<el-table <el-table
height="100%" height="100%"
ref="selection" ref="selection"
@@ -378,6 +378,9 @@
align="center" align="center"
width="210px" width="210px"
label="标准实施日期"> label="标准实施日期">
<template slot-scope="scope">
<span>{{ scope.row.putTime ? $moment(scope.row.putTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
@@ -448,7 +451,7 @@
width="210px" width="210px"
label="卡车VPPS中文名称"> label="卡车VPPS中文名称">
</el-table-column> </el-table-column>
<el-table-column width="150"> <el-table-column width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
class="common-button-default" class="common-button-default"
@@ -459,10 +462,15 @@
<el-button <el-button
class="common-button-default" class="common-button-default"
type="danger" type="danger"
style="margin-left: 0px"
size="small" @click="moveDown(scope.$index, scope.row)" size="small" @click="moveDown(scope.$index, scope.row)"
v-if="!disabledFlag" v-if="!disabledFlag"
>下移</el-button> >下移</el-button>
<el-button
size="small"
@click="editTghisRow(scope.row)"
class="common-button-default"
type="warning"
>编辑</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -499,6 +507,87 @@
</div> </div>
</el-upload> </el-upload>
</el-dialog> </el-dialog>
<el-drawer
title="编辑清单条目"
:visible.sync="drawerEdit"
:wrapperClosable="false"
size="800px"
>
<el-form :modal="editRowData" ref="editRowData" label-width="auto" style="margin: 20px">
<el-form-item label="标准号">
<a>{{ editRowData.standSortShow }} {{ editRowData.standNumber }}</a>
</el-form-item>
<el-form-item label="标准名称" prop="standName">
<el-input v-model.trim="editRowData.standName" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="英文名称" prop="standEnName">
<el-input v-model.trim="editRowData.standEnName" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="适用车型" prop="typeApplicable">
<el-input v-model.trim="editRowData.typeApplicable" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="能源类型" prop="nylx">
<el-input v-model.trim="editRowData.nylx" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="标准实施日期" prop="putTime">
<el-date-picker
v-model.trim="editRowData.putTime"
type="date"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="在产车实施日期" prop="zccssrqgj">
<el-date-picker
v-model.trim="editRowData.zccssrqgj"
type="date"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="新车型实施日期" prop="xcxssrqgj">
<el-date-picker
v-model.trim="editRowData.xcxssrqgj"
type="date"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="责任部门" prop="zrbm">
<el-input v-model.trim="editRowData.zrbm" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="适用产品线" prop="sycpx">
<el-input v-model.trim="editRowData.sycpx" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="乘用车VPPS编码" prop="cycvppsbm">
<el-input v-model.trim="editRowData.cycvppsbm" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="乘用车VPPS中文名称" prop="cycvppscn">
<el-input v-model.trim="editRowData.cycvppscn" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="卡车VPPS编码" prop="kccvppsbm">
<el-input v-model.trim="editRowData.kccvppsbm" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="卡车VPPS中文名称" prop="kccvppscn">
<el-input v-model.trim="editRowData.kccvppscn" :disabled="true"></el-input>
</el-form-item>
</el-form>
<div class="demo-drawer-footer">
<el-button
type="primary"
class="common-button-primary"
size="mini"
icon="el-icon-check"
@click="saveInfo"
>提交</el-button
>
<el-button
size="mini"
icon="el-icon-close"
class="common-button-default"
@click="cancelInfo"
>取消</el-button
>
</div>
</el-drawer>
</div> </div>
</template> </template>
<script> <script>
@@ -522,6 +611,7 @@ import CustomInputForPolicy from '@/components/CustomFormComponents/InputForPoli
import CustomRoleTree from '@/components/CustomFormComponents/roleTree' import CustomRoleTree from '@/components/CustomFormComponents/roleTree'
import stand from "../../../config/pages/attributeCustom/components/stand"; import stand from "../../../config/pages/attributeCustom/components/stand";
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { editDataInfo } from '@/api/unqualProcess'
export default { export default {
name: 'ListOfStandardsAndRegulationsDetails', name: 'ListOfStandardsAndRegulationsDetails',
components: { components: {
@@ -571,6 +661,25 @@ export default {
zrbmMap: {}, zrbmMap: {},
sycpxMap: {}, sycpxMap: {},
zrbmOptions: [], zrbmOptions: [],
// 编辑抽屉状态
drawerEdit: false,
// 编辑框数据
editRowData: {
id: '',
standName: '',
standEnName: '',
typeApplicable: '',
nylx: '',
putTime: '',
zccssrqgj: '',
xcxssrqgj: '',
zrbm: '',
sycpx: '',
cycvppsbm: '',
cycvppscn: '',
kccvppsbm: '',
kccvppscn: ''
},
selectSearch : [], selectSearch : [],
// 新增、编辑 基础信息字段 // 新增、编辑 基础信息字段
sarAccessEO: { sarAccessEO: {
@@ -1164,6 +1273,21 @@ export default {
this.$set(this.sarAccessInfoList, index, i) this.$set(this.sarAccessInfoList, index, i)
} }
}, },
// 编辑按钮
editTghisRow(row) {
this.rowList = row
this.editRowData = this.rowList
this.drawerEdit = true
},
// 抽屉取消按钮
cancelInfo() {
this.drawerEdit = false
},
// 抽屉提交按钮
saveInfo() {
this.rowList = this.editRowData
this.drawerEdit = false
},
// 点击清单条目导入按钮事件 // 点击清单条目导入按钮事件
importmodalFlags () { importmodalFlags () {
this.importmodalFlag = true this.importmodalFlag = true
@@ -11,7 +11,7 @@
<div v-show="heightShow" class="transition-box"> <div v-show="heightShow" class="transition-box">
<p class="transition-box-p"> <p class="transition-box-p">
<label class="transition-box-label">国家/地区:</label> <label class="transition-box-label">国家/地区:</label>
<span class="transition-box-span" v-if="sarAccessEO.countryArea.indexOf(',') >= 0"> <span class="transition-box-span" v-if="sarAccessEO.countryArea !== null && sarAccessEOInfo > 0">
<span>{{ sarAccessEO.countryArea }}</span> <span>{{ sarAccessEO.countryArea }}</span>
</span> </span>
<span class="transition-box-span" v-else>{{ countryAreaMap[sarAccessEO.countryArea] }}</span> <span class="transition-box-span" v-else>{{ countryAreaMap[sarAccessEO.countryArea] }}</span>
@@ -160,6 +160,9 @@
align="center" align="center"
width="210px" width="210px"
label="标准实施日期"> label="标准实施日期">
<template slot-scope="scope">
<span>{{ scope.row.putTime ? $moment(scope.row.putTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
@@ -168,6 +171,9 @@
width="210px" width="210px"
align="center" align="center"
label="在产车实施日期"> label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="xcxssrqgj" prop="xcxssrqgj"
@@ -175,6 +181,9 @@
align="center" align="center"
width="210px" width="210px"
label="新车型实施日期"> label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
@@ -315,6 +324,7 @@ export default {
saveExportType: "", saveExportType: "",
depNode: [], // 部门树 depNode: [], // 部门树
sarAccessEO: {}, sarAccessEO: {},
sarAccessEOInfo: '',
fileInfoList: [], fileInfoList: [],
// 改变颜色 // 改变颜色
dialogColor: false, dialogColor: false,
@@ -604,6 +614,7 @@ export default {
console.log(accessRow) console.log(accessRow)
this.pageId = accessRow.id this.pageId = accessRow.id
this.sarAccessEO = accessRow; this.sarAccessEO = accessRow;
this.sarAccessEOInfo = this.sarAccessEO.countryArea.indexOf(',')
this.selectInfobyAccid(); this.selectInfobyAccid();
this.getOrgTreeSource(); this.getOrgTreeSource();
this.getFileInfo(); this.getFileInfo();
@@ -211,17 +211,26 @@
prop="issueTime" prop="issueTime"
sortable sortable
label="发布日期"> label="发布日期">
<template slot-scope="scope">
<span>{{ scope.row.issueTime ? $moment(scope.row.issueTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="xcxssrq" prop="xcxssrqgj"
sortable sortable
label="新车型实施日期"> label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="zccssrq" prop="zccssrqgj"
sortable sortable
label="在产车实施日期"> label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
@@ -362,6 +371,9 @@
width="210px" width="210px"
align="center" align="center"
label="在产车实施日期"> label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="xcxssrqgj" prop="xcxssrqgj"
@@ -369,6 +381,9 @@
align="center" align="center"
width="210px" width="210px"
label="新车型实施日期"> label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
@@ -418,7 +433,7 @@
width="210px" width="210px"
label="卡车VPPS中文名称"> label="卡车VPPS中文名称">
</el-table-column> </el-table-column>
<el-table-column> <el-table-column width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
class="common-button-default" class="common-button-default"
@@ -539,11 +554,12 @@ export default {
nylxMap: {}, nylxMap: {},
zrbmMap: {}, zrbmMap: {},
sycpxMap: {}, sycpxMap: {},
zrbmOptions: [],
selectSearch : [], selectSearch : [],
// 新增、编辑 基础信息字段 // 新增、编辑 基础信息字段
sarAccessEO: { sarAccessEO: {
id: '', id: '',
sortKey: 4, sortKey: 3,
fileIds: '', fileIds: '',
detailedList: '', detailedList: '',
detailedListName: '', detailedListName: '',
@@ -1242,8 +1258,19 @@ export default {
_this: this _this: this
}, res =>{ }, res =>{
this.sarAccessInfoSearchList = res.data.list this.sarAccessInfoSearchList = res.data.list
this.$nextTick(() => { this.sarAccessInfoSearchList.forEach(item => {
}) this.$set(item, 'zccssrqgj', item.attrInfoMap.ZCCSSRQGJ)
this.$set(item, 'xcxssrqgj', item.attrInfoMap.XCXSSRQGJ)
this.$set(item, 'sycpx', item.attrInfoMap.SYCPX)
this.$set(item, 'typeApplicable', item.attrInfoMap.CLLX)
this.$set(item, 'nylx', item.attrInfoMap.NYLX)
this.$set(item, 'zrbm', item.attrInfoMap.ZRBM)
this.$set(item, 'cycvppsbm', item.attrInfoMap.CYCVPPSBM)
this.$set(item, 'cycvppscn', item.attrInfoMap.CYCVPPSCN)
this.$set(item, 'kccvppsbm', item.attrInfoMap.KCCVPPSBM)
this.$set(item, 'kccvppscn', item.attrInfoMap.KCCVPPSCN)
})
console.log(this.sarAccessInfoSearchList)
}, e => { }, e => {
}) })
@@ -211,17 +211,26 @@
prop="issueTime" prop="issueTime"
sortable sortable
label="发布日期"> label="发布日期">
<template slot-scope="scope">
<span>{{ scope.row.issueTime ? $moment(scope.row.issueTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="xcxssrq" prop="xcxssrqgj"
sortable sortable
label="新车型实施日期"> label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="zccssrq" prop="zccssrqgj"
sortable sortable
label="在产车实施日期"> label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
@@ -362,6 +371,9 @@
width="210px" width="210px"
align="center" align="center"
label="在产车实施日期"> label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="xcxssrqgj" prop="xcxssrqgj"
@@ -369,6 +381,9 @@
align="center" align="center"
width="210px" width="210px"
label="新车型实施日期"> label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
@@ -429,7 +444,6 @@
<el-button <el-button
class="common-button-default" class="common-button-default"
type="danger" type="danger"
style="margin-left: 0px"
size="small" @click="moveDown(scope.$index, scope.row)" size="small" @click="moveDown(scope.$index, scope.row)"
v-if="!disabledFlag" v-if="!disabledFlag"
>下移</el-button> >下移</el-button>
@@ -540,6 +554,7 @@ export default {
nylxMap: {}, nylxMap: {},
zrbmMap: {}, zrbmMap: {},
sycpxMap: {}, sycpxMap: {},
zrbmOptions: [],
selectSearch : [], selectSearch : [],
// 新增、编辑 基础信息字段 // 新增、编辑 基础信息字段
sarAccessEO: { sarAccessEO: {
@@ -1244,6 +1259,19 @@ export default {
_this: this _this: this
}, res =>{ }, res =>{
this.sarAccessInfoSearchList = res.data.list this.sarAccessInfoSearchList = res.data.list
this.sarAccessInfoSearchList.forEach(item => {
this.$set(item, 'zccssrqgj', item.attrInfoMap.ZCCSSRQGJ)
this.$set(item, 'xcxssrqgj', item.attrInfoMap.XCXSSRQGJ)
this.$set(item, 'sycpx', item.attrInfoMap.SYCPX)
this.$set(item, 'typeApplicable', item.attrInfoMap.CLLX)
this.$set(item, 'nylx', item.attrInfoMap.NYLX)
this.$set(item, 'zrbm', item.attrInfoMap.ZRBM)
this.$set(item, 'cycvppsbm', item.attrInfoMap.CYCVPPSBM)
this.$set(item, 'cycvppscn', item.attrInfoMap.CYCVPPSCN)
this.$set(item, 'kccvppsbm', item.attrInfoMap.KCCVPPSBM)
this.$set(item, 'kccvppscn', item.attrInfoMap.KCCVPPSCN)
})
console.log(this.sarAccessInfoSearchList)
}, e => { }, e => {
}) })
@@ -92,6 +92,7 @@
<el-table-column <el-table-column
prop="standId" prop="standId"
width="180px" width="180px"
align="center"
label="标准编号"> label="标准编号">
<template slot-scope="scope"> <template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standId }}</a> <a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standId }}</a>
@@ -100,6 +101,7 @@
<el-table-column <el-table-column
prop="standName" prop="standName"
width="180px" width="180px"
align="center"
label="标准名称"> label="标准名称">
<template slot-scope="scope"> <template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standName }}</a> <a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
@@ -107,42 +109,56 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="itemsNum" prop="itemsNum"
width="150"
align="center"
label="条款号"> label="条款号">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="itemsName" prop="itemsName"
width="150"
align="center"
label="条款名称"> label="条款名称">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="productLine" prop="productLine"
width="150"
align="center"
label="产品线"> label="产品线">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="productName" prop="productName"
width="150"
align="center"
label="项目名称"> label="项目名称">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="responsibleUnit" prop="responsibleUnit"
width="150"
align="center"
label="责任部门"> label="责任部门">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="dutyEngineer" prop="dutyEngineer"
width="150px" width="150"
align="center"
label="责任工程师"> label="责任工程师">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="authEngineer" prop="authEngineer"
width="150px" width="150"
align="center"
label="认证工程师"> label="认证工程师">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="qaEngineer" prop="qaEngineer"
width="150px" width="150"
align="center"
label="质量工程师"> label="质量工程师">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="actualCloseTime" prop="actualCloseTime"
width="150px" width="150"
align="center"
sortable sortable
label="实际关闭时间"> label="实际关闭时间">
<template slot-scope="scope">{{(scope.row.actualCloseTime ? scope.row.actualCloseTime.substring(0, 11): '')}}</template> <template slot-scope="scope">{{(scope.row.actualCloseTime ? scope.row.actualCloseTime.substring(0, 11): '')}}</template>
@@ -117,9 +117,12 @@
fixed="left" fixed="left"
width="180" width="180"
label="标准编号"> label="标准编号">
<!-- <template slot-scope="scope">-->
<!-- <a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standId }}</a>-->
<!--&lt;!&ndash; {{ scope.row.standId }}&ndash;&gt;-->
<!-- </template>-->
<template slot-scope="scope"> <template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standId }}</a> <a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standId }}</a>
<!-- {{ scope.row.standId }}-->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -568,6 +571,18 @@ export default {
openEditModal(item) { openEditModal(item) {
console.log(item) console.log(item)
}, },
// 点击查看
handlePreview (item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
//gslh3tgg7kot97ay5oz0
id: item.id,
pageType: item.standType + '_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
detailsStandard (item) { detailsStandard (item) {
this.$http.post('lawss/sarTestItem/validateStandNumber', { this.$http.post('lawss/sarTestItem/validateStandNumber', {
standnumber: item.standNum standnumber: item.standNum
+1 -1
View File
@@ -7,7 +7,7 @@
// const devIp = '39.98.140.126' // const devIp = '39.98.140.126'
// const devInterfacePORT = '10005' // const devInterfacePORT = '10005'
// const devIp = '192.168.10.248' // const devIp = '192.168.10.248'
const devIp = '192.168.1.102' const devIp = '10.96.170.173'
const devInterfacePORT = '9999' const devInterfacePORT = '9999'
// 云端端口号 // 云端端口号
const DEV_CLOUD_RES_INTERFACE_PORT = '7777' const DEV_CLOUD_RES_INTERFACE_PORT = '7777'
+1 -1
View File
@@ -86,7 +86,7 @@ module.exports = {
} }
}, },
'/onlyOffice': { '/onlyOffice': {
target: 'http://172.20.10.2:8888', target: 'http://10.96.10.171',
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
'^/onlyOffice': '/api' '^/onlyOffice': '/api'