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

This commit is contained in:
liuhuaizhi
2021-07-22 13:22:50 +08:00
40 changed files with 2319 additions and 940 deletions
+2
View File
@@ -17,3 +17,5 @@ npm run build
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
### test
+89 -106
View File
@@ -3619,23 +3619,6 @@
"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": {
"version": "2.20.3",
"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": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz",
@@ -9313,7 +9208,7 @@
},
"image-size": {
"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=",
"dev": true,
"optional": true
@@ -13622,6 +13517,94 @@
"resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.22.4.tgz",
"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": {
"version": "3.4.0",
"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 RoleUserTree from './roleUserTree' // 根据部门和角色查询人员
import DeptRoleTree from './deptRoleTree' // 根据部门查询角色
import RoleTree from './roleTree' // 查询所有机构及人员
import SQTree from './SQTree'
import OrgTable from './OrgTable'
@@ -46,6 +47,7 @@ const install = function (Vue) {
Vue.component('DeptRoleTree', DeptRoleTree)
Vue.component('SQTree', SQTree)
Vue.component('OrgTable', OrgTable)
Vue.component('RoleTree', RoleTree)
}
export default {
+5 -5
View File
@@ -125,11 +125,11 @@ export default {
// // // title: '本地产品/项目库',
// // // path: '/localProductsOrProjectLibrary'
// // // },
// {
// title: '企业标准库',
// path: '/enterpriseStandardDatabase',
// menuId: '3YVZP8R4TC'
// },
{
title: '企业标准库',
path: '/enterpriseStandardDatabase',
menuId: '01ed8f752748227777b3572d56ee9ab5'
},
// {
// title: '企标制修订计划',
// path: '/enterBSysRevPlanManaLib',
+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>
+270
View File
@@ -0,0 +1,270 @@
<template>
<el-drawer
class="org-tree"
:title="drawerTitle"
:visible.sync="modalShowFlag"
:size="width"
:append-to-body=true
:before-close="cancelUserInfo"
>
<el-tree class="common-tree" :style="style" ref="tree" :data="data" :props="defaultProps"
:load="loadNode"
:lazy="lazy"
:show-checkbox="multiple"
:node-key="nodeKey"
:check-strictly="checkStrictly"
:expand-on-click-node="false"
:default-checked-keys="defaultCheckedKeys"
:highlight-current="true"
@node-click="handleNodeClick"
@check-change="handleCheckChange"></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="cancelUserInfo">取消</el-button>
</div>
</el-drawer>
</template>
<script>
export default {
name: "treeSelectNew",
props: {
// 树结构数据
data: {
type: Array,
default () {
return [];
}
},
url: {
type: String,
default () {
return "";
}
},
urlChild: {
type: String,
default () {
return "";
}
},
params: {
type: Object,
default () {
return {};
}
},
defaultProps: {
type: Object,
default () {
return {};
}
},
// 配置是否可多选
multiple: {
type: Boolean,
default () {
return false;
}
},
lazy: {
type: Boolean,
default () {
return false;
}
},
nodeKey: {
type: String,
default () {
return 'id';
}
},
// 显示复选框情况下,是否严格遵循父子不互相关联
checkStrictly: {
type: Boolean,
default () {
return false;
}
},
disabled: {
type: Boolean,
default () {
return false;
}
},
// 默认选中的节点key数组
checkedKeys: {
type: Array,
default () {
return [];
}
},
width: {
type: String,
default () {
return "";
}
},
drawerTitle:{
type: String,
default () {
return '';
}
},
// 配置是否展开
modalShowFlag: {
type: Boolean,
default () {
return false;
}
},
},
data () {
return {
nodeList: [],
defaultCheckedKeys: [],
isShowSelect: false, // 是否显示树状选择器
options: [],
selectedData: [], // 选中的节点
style: 'width:' + this.width + 'px;' + 'height:100%;',
selectStyle: 'width:100%;',
checkedIds: [],
checkedData: [],
};
},
created(){
},
mounted () {
if (this.checkedKeys.length > 0) {
if (this.multiple) {
this.defaultCheckedKeys = this.checkedKeys;
this.getChildByIDSList(this.defaultCheckedKeys);
// this.selectedData = this.checkedKeys.map((item) => {
// var node = this.$refs.tree.getNode(item);
// return node.label;
// });
} else {
const item = this.checkedKeys[0];
this.getChildByIDSList(item);
// this.$refs.tree.setCurrentKey(item);
// var node = this.$refs.tree.getNode(item);
// this.selectedData = node.label;
}
}
},
methods: {
loadNode(node, resolve) {
const that = this;
if (node.level === 0) {
that.loadTreeData(resolve);
}
if (node.level >= 1) {
setTimeout(() => {
this.getChildByList(node.data.id, resolve);
}, 500);
return resolve([]); // 加上这个,防止在该节点没有子节点时一直转圈的问题发生。
}
},
getChildByIDSList( _parentID) { // 获取子节点请求
let params = {ids : _parentID};
this.$http.get(this.urlChild, params, {
_this: this
}, res => {
if(res.data){
this.$emit('popoverHide', this.checkedIds, res.data,false);
}
})
},
getChildByList( _parentID,resolve) { // 获取子节点请求
let params = {ids : _parentID};
this.$http.get(this.urlChild, params, {
_this: this
}, res => {
if(res.data){
resolve(res.data);
}else {
return false;
}
})
},
loadTreeData(resolve) {
// 获取loadtreeData 就是父节点数据,getChildByList就是异步获取子节点数据
this.$http.get(this.url, '', {
_this: this
}, res => {
if(res.data){
resolve(res.data)
}else {
return false;
}
})
},
popoverHide () {
},
// 节点被点击时的回调,返回被点击的节点数据
handleNodeClick (data, node) {
if (!this.multiple) {
let tmpMap = {};
tmpMap.value = node.key;
tmpMap.label = node.label;
this.options = [];
this.options.push(tmpMap);
this.selectedData = node.label;
this.isShowSelect = !this.isShowSelect;
}
},
// 节点选中状态发生变化时的回调
handleCheckChange () {
var checkedKeys = this.$refs.tree.getCheckedKeys(); // 所有被选中的节点的 key 所组成的数组数据
this.options = checkedKeys.map((item) => {
var node = this.$refs.tree.getNode(item); // 所有被选中的节点对应的node
let tmpMap = {};
tmpMap.value = node.key;
tmpMap.label = node.label;
return tmpMap;
});
this.selectedData = this.options.map((item) => {
return item.label;
});
},
saveUserInfo () {
if (this.multiple) {
this.checkedIds = this.$refs.tree.getCheckedKeys(); // 所有被选中的节点的 key 所组成的数组数据
this.checkedData = this.$refs.tree.getCheckedNodes(); // 所有被选中的节点所组成的数组数据
} else {
this.checkedIds = this.$refs.tree.getCurrentKey();
this.checkedData = this.$refs.tree.getCurrentNode();
}
this.$emit('popoverHide', this.checkedIds, this.checkedData,false);
},
cancelUserInfo () {
this.$emit('popoverHide', this.checkedIds, this.checkedData,false);
},
},
watch: {
}
}
</script>
<style lang="less" scoped>
.el-drawer__body{
& > div:first-child{
display: flex;
flex: auto;
flex-direction: column;
}
}
::v-deep .el-drawer__header{
&>span:first-child{
outline: none!important;
}
}
::v-deep .el-drawer{
outline: none!important;
}
</style>
@@ -56,7 +56,7 @@
</p>
<p><label style=" margin-right: 150px;">发布日期</label><span>{{ sarStandardsInfoEO.issueTime || '-' }}</span></p>
<p><label style=" margin-right: 76px;">是否纳入认证清单</label><span>{{sarStandardsInfoEO.isRelateAccess ? (sarStandardsInfoEO.isRelateAccess === '1' ? '是' : '否') : '-'}}</span></p>
<p v-if="saveStandType === 'INLAND_STAND'"><label style=" margin-right: 150px;">标准体系</label><span>{{ sarStandardsInfoEO.standSystemName || '-' }}</span></p>
<p v-if="saveStandType === 'INLAND_STAND'"><label style=" margin-right: 150px;">标准体系</label><span>{{ sarStandardsInfoEO.standSystem || '-' }}</span></p>
<!-- <p><label>文本说明</label><span style="color: #999999">{{ sarStandardsInfoEO.synopsis || '-' }}</span></p>-->
<!-- <p><label>重要度</label><span>{{ sarStandardsInfoEO.isRelateAccess === '1' ? 'A' : 'B'}}</span></p>-->
<!-- <p><label>纳入标准法规清单的国家/地区</label><span>{{ sarStandardsInfoEO.accessCountry || '-' }}</span></p>-->
@@ -189,12 +189,12 @@
/>
<span class="time-text">上传时间{{ dateFormat(file.modifyTime) }}</span>
</template>
<el-button
@click="showItemsModel(child.attrField)"
class="decomposition-btn"
icon="icon-separate"
>标准分解单</el-button>
</p>
<el-button
@click="showItemsModel(child.attrField)"
class="decomposition-btn"
icon="icon-separate"
>标准分解单</el-button>
</div>
</div>
@@ -281,12 +281,12 @@
<span class="time-text">上传时间:{{ dateFormat(file.modifyTime) }}</span>
</template>
</p>
<!-- <el-button-->
<!-- v-if="child.attrField === 'FBGBJBD' || child.attrField === 'SSG' || child.attrField === 'ZQYJG' || child.attrField === 'BPG' || child.attrField === 'ZBJBD' || child.attrField === 'CA'"-->
<!-- @click="showItemsModel(child.attrField)"-->
<!-- class="decomposition-btn"-->
<!-- icon="icon-separate"-->
<!-- >标准分解单2</el-button>-->
<el-button
v-if="child.attrField === 'FBGBJBD' || child.attrField === 'SSG' || child.attrField === 'ZQYJG' || child.attrField === 'BPG' || child.attrField === 'ZBJBD' || child.attrField === 'CA'"
@click="showItemsModel(child.attrField)"
class="decomposition-btn"
icon="icon-separate"
>标准分解单</el-button>
</div>
</div>
@@ -2023,7 +2023,7 @@ export default {
}
// 缺少文件
if (this.$route.params.pageType === 'INLAND_STAND') {
if (this.$hasPermission('ZWBGBNTL11')) {
if (this.$hasPermission('2d6ab9d465ab73d415194e1ca4313793')) {
this.$http.get('lawss/sarStandFile/queryConvertAtt', {
attId: attId
}, {
@@ -2067,7 +2067,7 @@ export default {
}
} else {
// 国外在线预览权限
if (this.$hasPermission('YfS94QodMK')) {
if (this.$hasPermission('ee684b4a9975f5d8a6dfe898c0332f98 ')) {
this.$http.get('lawss/sarStandFile/queryConvertAtt', {
attId: attId
}, {
@@ -53,13 +53,13 @@
</el-col>
<el-col :span="6">
<el-tooltip class="item" effect="dark" :content="item.collectTitle" placement="top" v-if="item.collectTitle">
<div class="left-contents">标题{{ item.name }}</div>
<div class="left-contents">标题{{ item.collectTitle }}</div>
</el-tooltip>
<div v-else>
<div class="left-contents">标题{{ item.name }}</div>
<div class="left-contents">标题{{ item.collectTitle }}</div>
</div>
</el-col>
<el-col :span="4" :offset="3">创建时间{{getDate(item.createTime)}}</el-col>
<el-col :span="4" :offset="3">创建时间{{getDate(item.creationTime)}}</el-col>
</div>
<el-col :span="4">
<el-button size="mini" @click="cancelStandard(item.id)" style="margin-top: -5px; border: 1px dashed #dcdee2">取消收藏</el-button>
@@ -127,6 +127,7 @@ export default {
this.$http.get('person/personCollect/page', {
pageNo: this.page,
pageSize: this.$store.getters.userInfo.configContent,
userId: this.$store.getters.userInfo.userId,
collectTitle: this.search.name
}, {
_this: this,
@@ -22,7 +22,7 @@ export default {
},
{
label:'标准清单发布/更新流程',
value: '6'
value: '4'
},
{
label: '项目合规评估流程',
@@ -154,57 +154,19 @@
@submit="handleSubmit"
>
</ProcessFooter>
<el-drawer
title="选择责任部门对接人"
:visible.sync="modalshowflag2"
:wrapperClosable="false"
size="800px">
<el-tree
v-if="modalshowflag2"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList2"
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>
<Role-tree
is-title="选择责任部门对接人"
:is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2"
:nodeList="nodeList2"
></Role-tree>
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="modalshowflag"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
<el-upload
multiple
@@ -236,15 +198,10 @@
name: "bzdyStep1-1",
data() {
return {
commentText: '',
roleRow: {},
nodeList: [],
nodeList2: [],
commentText: '',
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题
textarea: '', // 意见
@@ -300,9 +257,7 @@
},
fileUrl: 'api/att/attFile/upload',
fileMadel: false,
nodeList2: [],
modalshowflag2: false,
}
},
components: {
@@ -322,17 +277,10 @@
this.commentText = mes.commentText
})
},
choiceZRRS () {
this.nodeList2 = []
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
}
this.modalshowflag2 = true
},
saveUserInfo2 () {
checkedRole2 (data) {
var idList = ''
var nameList = ''
this.$refs.tree2.getCheckedNodes().concat(this.$refs.tree2.getHalfCheckedNodes()).forEach( item => {
data.forEach( item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
@@ -342,10 +290,35 @@
})
this.roleForm.dockUserList = idList
this.roleForm.dockUserName = nameList
this.modalshowflag2 = false
},
cancleUserInfo2 () {
this.modalshowflag2 = false
checkedRole (data) {
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) {
@@ -388,46 +361,6 @@
fileUpload () {
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) {
this.active = name
},
@@ -490,7 +423,6 @@
},
mounted () {
this.getData()
this.getTree()
}
}
</script>
@@ -154,116 +154,19 @@
@submit="handleSubmit"
>
</ProcessFooter>
<el-drawer
title="选择责任部门对接人"
:visible.sync="modalshowflag2"
: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="filterText2"
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>
<Role-tree
is-title="选择责任部门对接人"
:is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2"
:nodeList="nodeList2"
></Role-tree>
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="modalshowflag"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
<el-upload
multiple
@@ -295,22 +198,10 @@ export default {
name: "bzdyStep1",
data() {
return {
treeLoading: false,
treeData2: [],
treeData1: [],
open1: true,
open2: true,
filterText1: '',
filterText2: '',
commentText: '',
roleRow: {},
nodeList: [],
nodeList2: [],
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题
textarea: '', // 意见
@@ -366,7 +257,6 @@ export default {
},
fileUrl: 'api/att/attFile/upload',
fileMadel: false,
nodeList2: [],
modalshowflag2: false,
}
@@ -376,62 +266,11 @@ export default {
ProcessFooter,
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: {
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)
})
},
choiceZRRS () {
this.nodeList2 = []
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
}
this.filterText2 = ''
this.modalshowflag2 = true
},
saveUserInfo2 () {
checkedRole2 (data) {
var idList = ''
var nameList = ''
this.$refs.tree2.getCheckedNodes().concat(this.$refs.tree2.getHalfCheckedNodes()).forEach( item => {
data.forEach( item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
@@ -441,10 +280,35 @@ export default {
})
this.roleForm.dockUserList = idList
this.roleForm.dockUserName = nameList
this.modalshowflag2 = false
},
cancleUserInfo2 () {
this.modalshowflag2 = false
checkedRole (data) {
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) {
@@ -487,49 +351,6 @@ export default {
fileUpload () {
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) {
this.active = name
},
@@ -591,9 +412,7 @@ export default {
})
}
},
mounted () {
this.getTree()
}
mounted () {}
}
</script>
@@ -82,31 +82,12 @@
@submit="handleSubmit"
>
</ProcessFooter>
<el-drawer
title="选择责任人"
: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
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>
<Role-tree
is-title="选择责任部门对接人"
:is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2"
:nodeList="nodeList2"
></Role-tree>
</div>
</template>
@@ -123,15 +104,9 @@
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
nodeList2: [],
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
modalshowflag2: false, // drawer开关
drawerTitle: '', //drawer标题
textarea: '', // 意见
ListModel: false, // 新增编辑抽屉开关
@@ -159,13 +134,10 @@
ProcessTitle
},
methods: {
updateFile () {
window.location.href = '/api/att/attFile/downloadFile?fileId=' + this.form.model
},
saveUserInfo () {
checkedRole2 (data) {
var idList = ''
var nameList = ''
this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes()).forEach( item => {
data.forEach( item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
@@ -175,22 +147,16 @@
})
this.form.responUserList = idList
this.form.responUserListName = nameList
this.modalshowflag = false
},
cancleUserInfo () {
this.modalshowflag = false
updateFile () {
window.location.href = '/api/att/attFile/downloadFile?fileId=' + this.form.model
},
choiceZRR () {
this.nodeList = []
if (this.form.responUserList.length > 0) {
this.nodeList = this.form.responUserList.split(',')
this.nodeList2 = []
if ( this.form.responUserList.length > 0) {
this.nodeList2 = this.form.responUserList.split(',')
}
this.modalshowflag = true
},
getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data
})
this.modalshowflag2 = true
},
handleTabs(name) {
this.active = name
@@ -238,7 +204,6 @@
},
},
mounted () {
this.getTree()
this.getData()
}
}
@@ -1064,6 +1064,8 @@ export default {
//提交事件
handleSubmit() {
let json = this.listForm;
console.log(this.fileInfoList);
console.log(this.fileInfoList.join(','));
this.listForm.fileId = this.fileInfoList.join(',')
this.listForm.fileName = this.fileListName.join(',')
// let json = Object.assign(this.listForm, this.roleForm)
@@ -1110,9 +1112,11 @@ export default {
// 删除上传的文件
delFileInfo(file, fileList) {
this.fileInfoList = fileList
let middle = []
fileList.forEach(item => {
this.fileListName = item.name
middle.push(item.name)
})
this.fileListName = middle
},
fileUpload () {
this.fileMadel = true
@@ -1120,12 +1124,16 @@ export default {
// 上传文件成功回调
uploadBackSuccess (res, file, fileList) {
if (res.ok) {
let middle = []
fileList.forEach(item => {
this.fileListName = item.name
middle.push(item.name)
})
this.fileInfoList = fileList
this.fileInfoList[this.fileInfoList.length - 1].id = res.data.id
this.$message.success('上传成功')
this.fileListName = middle
let files = []
this.flielist
// this.fileInfoList = fileList
// this.fileInfoList[this.fileInfoList.length - 1].id = res.data.id
// this.$message.success('上传成功')
} else {
this.$message.error(res.message)
fileList.pop()
@@ -705,20 +705,20 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="被引用标准" prop="byybj" class="add-form-item form-item-disabled">
<el-input
v-model="form.byybj"
placeholder="请输入被引用标准"
clearable
></el-input>
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="position:absolute;top: 10px;right: 0;"
@click="selectLaws('byybj'),config.attrName = '被引用标准'"
>{{'手动查找'}}</el-button>
</el-form-item>
<!-- <el-form-item label="被引用标准" prop="byybj" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- v-model="form.byybj"-->
<!-- placeholder="请输入被引用标准"-->
<!-- clearable-->
<!-- ></el-input>-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- class="common-button-primary"-->
<!-- size="mini"-->
<!-- style="position:absolute;top: 10px;right: 0;"-->
<!-- @click="selectLaws('byybj'),config.attrName = '被引用标准'"-->
<!-- >{{'手动查找'}}</el-button>-->
<!-- </el-form-item>-->
<!-- <el-form-item v-if="form.standInData === '0'" label="参会记录" prop="chjl" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- v-model="form.chjl"-->
@@ -1248,15 +1248,15 @@
// 适用范围
txlb: '', // 体系类别
gkdw: '', // 归口管理部门
qcdw: [], // 起草单位
wssmr: [], // 我司署名人
qcdw: '', // 起草单位
wssmr: '', // 我司署名人
cysd: '', // 我司参与深度
cllx: [], // 适用车型
nylx: [],// 能源类型
sycpx: [],// 适用产品线
syrz: [], // 适用认证
zrbm: [], // 责任部门
zrgcs: [], // 责任工程师
cllx: '', // 适用车型
nylx: '',// 能源类型
sycpx: '',// 适用产品线
syrz: '', // 适用认证
zrbm: '', // 责任部门
zrgcs: '', // 责任工程师
cycvppsbm: '', // 关联模块--乘用车VPPS编码
cycvppscn: '', // 关联模块--乘用车vpps中文名称
kccvppsbm: '', // 关联模块--卡车VPPS编码
@@ -1452,15 +1452,15 @@
// 适用范围
txlb: '', // 体系类别
gkdw: '', // 归口管理部门
qcdw: [], // 起草单位
wssmr: [], // 我司署名人
qcdw: '', // 起草单位
wssmr: '', // 我司署名人
cysd: '', // 我司参与深度
cllx: [], // 适用车型
nylx: [],// 能源类型
sycpx: [],// 适用产品线
syrz: [], // 适用认证
zrbm: [], // 责任部门
zrgcs: [], // 责任工程师
cllx: '', // 适用车型
nylx: '',// 能源类型
sycpx: '',// 适用产品线
syrz: '', // 适用认证
zrbm: '', // 责任部门
zrgcs: '', // 责任工程师
cycvppsbm: '', // 关联模块--乘用车VPPS编码
cycvppscn: '', // 关联模块--乘用车vpps中文名称
kccvppsbm: '', // 关联模块--卡车VPPS编码
@@ -119,13 +119,7 @@
</el-radio-group>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="标准体系" prop="standSystem" class="add-form-item form-item-disabled">
<tree-select
:key="key"
width = "340"
:disabled="false"
:data="standSystemOptions"
:defaultProps="defaultProps" :checkedKeys="defaultCheckedKeys"
:nodeKey="nodeKey" @popoverHide="popoverHide"></tree-select>
<el-input v-model="form.standSystem" disabled></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '1'" label="标签" prop="gxhbq" class="add-form-item form-item-disabled">
<el-input
@@ -326,31 +320,13 @@
</el-select>
</el-form-item>
<el-form-item label="关联模块--乘用车VPPS编码" prop="cycvppsbm" class="add-form-item form-item-disabled">
<tree-select
:key="key1"
:disabled="true"
width = "340"
:data="busVppsOptions"
:defaultProps="defaultCodeProps" :checkedKeys="defaultCheckedKeys1"
:nodeKey="nodeKeyCode" @popoverHide="popoverHideBusVs"></tree-select>
<el-input v-model="form.cycvppsbm" disabled></el-input>
</el-form-item>
<el-form-item label="关联模块--卡车VPPS编码" prop="kccvppsbm" class="add-form-item form-item-disabled">
<tree-select
:key="key2"
:disabled="true"
width = "340"
:data="busVppsOptions"
:defaultProps="defaultCodeProps" :checkedKeys="defaultCheckedKeys2"
:nodeKey="nodeKeyCode" @popoverHide="popoverHideCarVs"></tree-select>
<el-input v-model="form.kccvppsbm" disabled></el-input>
</el-form-item>
<el-form-item label="模块结构单元变型号" prop="dybxh" class="add-form-item form-item-disabled">
<tree-select
:key="key3"
width = "340"
:disabled="true"
:data="modelOptions"
:defaultProps="defaultModelProps" :checkedKeys="defaultCheckedKeys3"
:nodeKey="nodeKeyModel" @popoverHide="popoverHideModel"></tree-select>
<el-input v-model="form.dybxh" disabled></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="归口管理部门" prop="gkdw" class="add-form-item form-item-disabled">
<el-input
@@ -118,13 +118,7 @@
</el-radio-group>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="标准体系" prop="standSystem" class="add-form-item form-item-disabled">
<tree-select
:key="key"
width = "340"
:disabled="true"
:data="standSystemOptions"
:defaultProps="defaultProps" :checkedKeys="defaultCheckedKeys"
:nodeKey="nodeKey" @popoverHide="popoverHide"></tree-select>
<el-input v-model="form.standSystem" disabled></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '1'" label="标签" prop="gxhbq" class="add-form-item form-item-disabled">
<el-input
@@ -319,31 +313,13 @@
</el-select>
</el-form-item>
<el-form-item label="关联模块--乘用车VPPS编码" prop="cycvppsbm" class="add-form-item form-item-disabled">
<tree-select
:key="key1"
:disabled="true"
width = "340"
:data="busVppsOptions"
:defaultProps="defaultCodeProps" :checkedKeys="defaultCheckedKeys1"
:nodeKey="nodeKeyCode" @popoverHide="popoverHideBusVs"></tree-select>
<el-input v-model="form.cycvppsbm" disabled></el-input>
</el-form-item>
<el-form-item label="关联模块--卡车VPPS编码" prop="kccvppsbm" class="add-form-item form-item-disabled">
<tree-select
:key="key2"
:disabled="true"
width = "340"
:data="busVppsOptions"
:defaultProps="defaultCodeProps" :checkedKeys="defaultCheckedKeys2"
:nodeKey="nodeKeyCode" @popoverHide="popoverHideCarVs"></tree-select>
<el-input v-model="form.kccvppsbm" disabled></el-input>
</el-form-item>
<el-form-item label="模块结构单元变型号" prop="dybxh" class="add-form-item form-item-disabled">
<tree-select
:key="key3"
width = "340"
:disabled="true"
:data="modelOptions"
:defaultProps="defaultModelProps" :checkedKeys="defaultCheckedKeys3"
:nodeKey="nodeKeyModel" @popoverHide="popoverHideModel"></tree-select>
<el-input v-model="form.dybxh" disabled></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="归口管理部门" prop="gkdw" class="add-form-item form-item-disabled">
<el-input
@@ -114,13 +114,17 @@
</el-radio-group>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="标准体系" prop="standSystem" class="add-form-item form-item-disabled">
<tree-select v-if="treeStatus"
:key="key"
width = "340"
:disabled="false"
<el-input v-model="form.standSystem" placeholder="选择标准体系" @click.native="choiceZRR1('standSystem', '标准体系', form.standSystem)"></el-input>
<tree-select-new
:key="key"
:multiple=false
:lazy=false
:modalShowFlag="modalShowFlag1"
:drawerTitle="drawerTitle"
width = "800"
:data="standSystemOptions"
:defaultProps="defaultProps" :checkedKeys="defaultCheckedKeys"
:nodeKey="nodeKey" @popoverHide="popoverHide"></tree-select>
:nodeKey="nodeKey" @popoverHide="popoverHide"></tree-select-new>
</el-form-item>
<el-form-item v-if="form.standInData === '1'" label="标签" prop="gxhbq" class="add-form-item form-item-disabled">
<el-input
@@ -488,28 +492,46 @@
</el-select>
</el-form-item>
<el-form-item label="关联模块--乘用车VPPS编码" prop="cycvppsbm" class="add-form-item form-item-disabled">
<tree-select
<el-input v-model="form.cycvppsbm" placeholder="选择乘用车VPPS编码" @click.native="choiceZRR2('cycvppsbm', '乘用车VPPS', form.cycvppsbm)"></el-input>
<tree-select-new
width = "800"
:key="key1"
width = "340"
:data="busVppsOptions"
:lazy=true
:multiple=false
:modalShowFlag="modalShowFlag2"
:drawerTitle="drawerTitle"
:url="url"
:urlChild="urlChild"
:defaultProps="defaultCodeProps" :checkedKeys="defaultCheckedKeys1"
:nodeKey="nodeKeyCode" @popoverHide="popoverHideBusVs"></tree-select>
:nodeKey="nodeKeyCode" @popoverHide="popoverHideBusVs"></tree-select-new>
</el-form-item>
<el-form-item label="关联模块--卡车VPPS编码" prop="kccvppsbm" class="add-form-item form-item-disabled">
<tree-select
<el-input v-model="form.kccvppsbm" placeholder="选择卡车VPPS编码" @click.native="choiceZRR3('kccvppsbm', '卡车VPPS', form.kccvppsbm)"></el-input>
<tree-select-new
width = "800"
:key="key2"
width = "340"
:data="busVppsOptions"
:lazy=true
:multiple=false
:modalShowFlag="modalShowFlag3"
:drawerTitle="drawerTitle"
:url="url"
:urlChild="urlChild"
:defaultProps="defaultCodeProps" :checkedKeys="defaultCheckedKeys2"
:nodeKey="nodeKeyCode" @popoverHide="popoverHideCarVs"></tree-select>
:nodeKey="nodeKeyCode" @popoverHide="popoverHideCarVs"></tree-select-new>
</el-form-item>
<el-form-item label="模块结构单元变型号" prop="dybxh" class="add-form-item form-item-disabled">
<tree-select
<el-input v-model="form.dybxh" placeholder="选择模块结构单元变型号" @click.native="choiceZRR4('dybxh', '模块结构单元', form.dybxh)"></el-input>
<tree-select-new
width = "800"
:key="key3"
width = "340"
:data="modelOptions"
:lazy=true
:multiple=false
:modalShowFlag="modalShowFlag4"
:drawerTitle="drawerTitle"
:url="url"
:urlChild="urlChild"
:defaultProps="defaultModelProps" :checkedKeys="defaultCheckedKeys3"
:nodeKey="nodeKeyModel" @popoverHide="popoverHideModel"></tree-select>
:nodeKey="nodeKeyModel" @popoverHide="popoverHideModel"></tree-select-new>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="归口管理部门" prop="gkdw" class="add-form-item form-item-disabled">
<el-input
@@ -992,9 +1014,17 @@ import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand} from 'api/process'
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
export default {
name: "bzrkStep4",
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle,
TreeSelect,
TreeSelectNew
},
data () {
return {
activeName:'1',
@@ -1034,6 +1064,13 @@ export default {
defaultCheckedKeys1: [],
defaultCheckedKeys2: [],
defaultCheckedKeys3: [],
modalShowFlag1: false, // drawer开关
modalShowFlag2: false, // drawer开关
modalShowFlag3: false, // drawer开关
modalShowFlag4: false, // drawer开关
url:'',
urlChild:'',
drawerTitle: '', //drawer标题
treeStatus:false,
fileUrl: 'api/att/attFile/upload',
fileMadel: false,
@@ -1200,18 +1237,44 @@ export default {
prcName : this.$route.query.prcName,
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle,
TreeSelect
},
computed: {
listNoDataText () {
return this.processType === 1 ? '暂无待办流程' : '暂无已办流程'
},
},
methods: {
choiceZRR1 (type, title, id) {
this.drawerTitle = title
this.modalShowFlag1 = true
this.key++
},
choiceZRR2 (type, title, id) {
this.drawerTitle = title
this.modalShowFlag2 = true
this.url = ''
this.urlChild = ''
this.url="sarVppsTree/list"
this.urlChild="sarVppsTree/childByList"
this.key1++
},
choiceZRR3 (type, title, id) {
this.drawerTitle = title
this.modalShowFlag3 = true
this.url = ''
this.urlChild = ''
this.url="sarVppsTree/list"
this.urlChild="sarVppsTree/childByList"
this.key2++
},
choiceZRR4 (type, title, id) {
this.drawerTitle = title
this.modalShowFlag4 = true
this.url = ''
this.urlChild = ''
this.url="sarModelTree/list"
this.urlChild="sarModelTree/childByList"
this.key3++
},
busVsFunc(){
this.$http.get('sarVppsTree/list', '', {
_this: this
@@ -1464,29 +1527,51 @@ export default {
this.fileMadel = true
this.fileType = type;
},
popoverHide (checkedIds, checkedData) {
popoverHide (checkedIds, checkedData,isShow,isLoadChild,topId) {
if(checkedData) {
this.form.standSystem = checkedData.id
this.form.standSystemName = checkedData.menuName
if(checkedData.length > 0){
this.form.standSystem = checkedData.map(item => item.menuName).join(",")
}else {
this.form.standSystem = checkedData.menuName
}
}
this.modalShowFlag1 = false
},
popoverHideBusVs (checkedIds, checkedData) {
if(checkedData){
this.form.cycvppsbm = checkedData.code
this.form.cycvppscn = checkedData.chineseName
popoverHideBusVs (checkedIds, checkedData,isShow,isLoadChild,topId) {
if(checkedData) {
if(checkedData.length > 0){
this.form.cycvppsbm = checkedData.map(item => item.code).join(",")
this.form.cycvppscn = checkedData.map(item => item.chineseName).join(",")
}else {
this.form.cycvppsbm = checkedData.code
this.form.cycvppscn = checkedData.chineseName
}
}
this.modalShowFlag2 = false
},
popoverHideCarVs (checkedIds, checkedData) {
if(checkedData){
this.form.kccvppsbm = checkedData.code
this.form.kccvppscn = checkedData.chineseName
popoverHideCarVs (checkedIds, checkedData,isShow,isLoadChild,topId) {
if(checkedData) {
if(checkedData.length > 0){
this.form.kccvppsbm = checkedData.map(item => item.code).join(",")
this.form.kccvppscn = checkedData.map(item => item.chineseName).join(",")
}else {
this.form.kccvppsbm = checkedData.code
this.form.kccvppscn = checkedData.chineseName
}
}
this.modalShowFlag3 = false
},
popoverHideModel (checkedIds, checkedData) {
if(checkedData){
this.form.dybxh = checkedData.model
this.form.dymc = checkedData.name
popoverHideModel (checkedIds, checkedData,isShow,isLoadChild,topId) {
if(checkedData) {
if(checkedData.length > 0){
this.form.dybxh = checkedData.map(item => item.model).join(",")
this.form.dymc = checkedData.map(item => item.name).join(",")
}else {
this.form.dybxh = checkedData.model
this.form.dymc = checkedData.name
}
}
this.modalShowFlag4 = false
},
processTable () {
this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -111,7 +111,7 @@
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<div class="flow-list" style="height: 100%">
<el-table
height="100%"
ref="selection"
@@ -120,22 +120,56 @@
label="落实人">
<template slot-scope="scope,text" v-if="showColumn">
<div>
<div @click="choiceZRR(scope,'implementer', '选择落实人', roleForm.implementer)">
<div @click="choiceZRRS(scope)">
{{ listForm.breakdownList[scope.$index].implementer == null ? "请选择落实人" : listForm.breakdownList[scope.$index].implementer
}}
</div>
<!-- <div @click="choiceZRR(scope,'implementer', '选择落实人', roleForm.implementer)">-->
<!-- {{ listForm.breakdownList[scope.$index].implementer == null ? "请选择落实人" : listForm.breakdownList[scope.$index].implementer-->
<!-- }}-->
<!-- </div>-->
</div>
</template>
</el-table-column>
</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
:title="drawerTitle"
:visible.sync="modalshowflag"
title="选择责任部门对接人"
:visible.sync="modalshowflag2"
:wrapperClosable="false"
size="800px">
<el-tree
v-if="modalshowflag"
v-if="modalshowflag2"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
@@ -144,26 +178,25 @@
:default-checked-keys="nodeList"
highlight-current
check-strictly
@check="drawerCheck"
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree">
ref="tree2">
</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"
@click="saveUserInfo">
确定
@click="saveUserInfo2">确定
</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>
</div>
</el-drawer>
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<div class="flow-list" style="height: 100%">
<el-table
height="100%"
ref="selection"
@@ -260,6 +293,7 @@ export default {
showColumn: true,
drawerTitle: "", //drawer标题
modalshowflag: false, // drawer开关
modalshowflag2: false,
treeData: [], // 人员数据
nodeList: [],
defaultProps: {
@@ -296,6 +330,7 @@ export default {
qualityEngineer: "", //质量工程师
breakdownList: [{ //分解单数据
implementer: "",
implementerId:'',
applyArctic: "",
busStandCover: "",
claimType: "",
@@ -308,6 +343,7 @@ export default {
}],
dataList: [{
implementer: "",
implementerId:'',
projectLine: "", //产品线
uname: "",//产品线责任人
distributePerson: "", //分发责任人
@@ -331,7 +367,8 @@ export default {
}]
},
roleForm: {
implementer: ""
implementer: "",
implementerId: "",
},
choiceForm: {}, //选择标准清单列表
user1: "",
@@ -374,6 +411,11 @@ export default {
});
});
},
createItemId() {
return Number(Math.random().toString().substr(3,18) + Date.now()).toString(36);
},
/**
* @description: 动态表单读取
*/
@@ -387,7 +429,7 @@ export default {
for (let i = 0; i < item.pepdtos.length; i++) {
for (let j = 0; j < item.pepdtos[i].breakdownList.length; j++) {
this.listForm.breakdownList.push({
itemId: new Date().getTime(),
itemId: this.createItemId(),
itemsName: item.pepdtos[i].breakdownList[j].itemsName,
itemNum: item.pepdtos[i].breakdownList[j].itemsNum,
responsibleEngineer: item.pepdtos[i].breakdownList[j].responsibleEngineer,
@@ -410,38 +452,77 @@ export default {
}
}
},
saveUserInfo() {
if (this.type === "implementer") {
// saveUserInfo() {
// 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) {
this.listForm.breakdownList.forEach((item, index) => {
console.log(item.itemId);
console.log(index);
if (this.selectList.includes(item.itemId)) {
this.listForm.breakdownList[index].implementerId = this.roleRow.id;
this.listForm.breakdownList[index].implementer = this.roleRow.name;
this.listForm.breakdownList[index].implementerId = idList;
this.listForm.breakdownList[index].implementer = nameList;
}
});
} else {
this.listForm.breakdownList[this.dsadadadsada].implementerId = this.roleRow.id;
this.listForm.breakdownList[this.dsadadadsada].implementer = this.roleRow.name;
this.listForm.breakdownList[this.dsadadadsada].implementerId = idList;
this.listForm.breakdownList[this.dsadadadsada].implementer = nameList;
}
this.listForm.implementer = this.roleRow.name;
this.listForm.implementer = nameList;
this.showColumn = false;
this.$nextTick(() => {
this.showColumn = true;
});
}
this.modalshowflag = false;
this.modalshowflag2 = 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() {
this.modalshowflag = false;
cancleUserInfo2() {
this.modalshowflag2 = false;
},
choiceZRR(scope, type, title, id) {
choiceZRRS(scope) {
if (scope != null) this.dsadadadsada = scope.$index;
this.nodeList = [];
this.nodeList.push(id);
this.type = type;
this.drawerTitle = title;
this.modalshowflag = true;
if (this.roleForm.implementer.length > 0) {
this.nodeList = this.roleForm.implementer.split(",");
}
this.modalshowflag2 = true;
},
getTree() {
this.$http.get("SarInstitution/institution/institutionAndUser", {}, {}, res => {
@@ -271,9 +271,9 @@
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<div class="flow-list" style="height:100%">
<el-table
height="800px"
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
@@ -413,36 +413,6 @@ export default {
zcCompletionTime: "" //在产的完成时间
}]
},
// listForm: {
// standNumber: "", //标准编号
// standName: "",//标准名称
// certifiedEngineer: "", //认证工程师
// qualityEngineer: "", //质量工程师
// dataList: [{
// certifiedEngineer: '',
// projectManager: '',
// standNumber: '',
// itemsName: '',
// uname: '',
// projectNumber: '',
// implementer: '',
// implementerId: '',
// productLine: '',
// itemNum:'',
// qualityEngineer: '',
// distributePerson:'',
// projectName:'',
// standName:'',
// distributePersonId:'',
// complianceReasons:'', //在研合规原因
// noCompliance:'', //在研不合规项目
// countermeasures:'', //在研应对措施
// completionTime:'', //在研完成时间
// zcComplianceReasons: '', //在产的合规原因
// zcCountermeasures:'', //在产的应对措施
// zcCompletionTime:'', //在产的完成时间
// }]
// },
choiceForm: {}, //选择标准清单列表
countryOptions: [], //适用区域下拉框数据
user1: "",
@@ -477,7 +447,6 @@ export default {
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
console.log(res.mesg);
if (res) {
const processForm = JSON.parse(res.mesg);
this.getFormFieldList(processForm);
@@ -492,11 +461,18 @@ export default {
getFormFieldList(item) {
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item));
console.log(item.fenFlag);
if (item.fenFlag === undefined ) {
item.step3DTOS.forEach(item => {
item.implementerId = this.$store.getters.userInfo.userId
item.implementer = this.$store.getters.userInfo.userName
})
this.dataList = item.step3DTOS;
} else {
this.dataList = item.dataList;
this.dataList.forEach(item => {
item.implementerId = this.$store.getters.userInfo.userId
item.implementer = this.$store.getters.userInfo.userName
})
}
this.listForm.prcNum = this.prcNum;
this.listForm.prcName = this.prcName;
@@ -524,6 +500,7 @@ export default {
this.listForm.signFlag = "";
this.listForm.dataList = this.dataList;
const json = JSON.stringify(this.listForm);
console.log(json);
this.$http.post("lawss/activiti/completeTask", {
taskIds: this.taskIds,
userId: this.userId,
@@ -228,7 +228,7 @@
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<div class="flow-list" style="height: 100%">
<el-table
height="100%"
ref="selection"
@@ -228,7 +228,7 @@
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<div class="flow-list" style="height: 100%">
<el-table
height="100%"
ref="selection"
@@ -228,7 +228,7 @@
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<div class="flow-list" style="height: 100%">
<el-table
height="100%"
ref="selection"
@@ -0,0 +1,368 @@
<!--项目合规评估流程-项目维度-->
<template>
<div class="xmpg2-step1">
<ProcessHeader toggle>
<template slot="proName">项目合规评估流程 - 项目</template>
<template slot="proNode">申请人发起流程</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">人员信息</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
</process-title>
<el-form
:model="listForm"
:rules="formRules"
ref="listForm"
class="label-input-form prc-content-border"
label-width="150px"
>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="选择项目" prop="orgName" class="add-form-item form-item-disabled">
<el-button size="mini" type="primary" style="margin-left: 10px;" @click="choiceShow">选择项目</el-button>
</el-form-item>
<el-form-item label="项目编号" prop="standNumber" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.projectNumber"
placeholder="请输入项目编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="项目名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.projectName"
placeholder="请输入项目名称"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<process-title style="margin-top:5px; margin-bottom: 5px">
<template slot="title">填写信息</template>
</process-title>
<el-table
:data="dataList"
border
ref="selection"
height="70%"
style="width: 100%; border:1px solid #ccc"
@selection-change="selectStandChange"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="standName"
align="center"
label="中文名称"
width="180px"
>
</el-table-column>
<el-table-column
prop="standEnName"
label="英文名称"
align="center"
width="180px"
>
</el-table-column>
<el-table-column
prop="SSRQ"
width="190px"
align="center"
sortable
label="标准实施日期">
</el-table-column>
<el-table-column
prop="XCXSSRQGJ"
width="190px"
align="center"
label="新车型实施日期">
</el-table-column>
<el-table-column
prop="ZCCSSRQGJ"
align="center"
sortable
width="190px"
label="在产车实施日期">
</el-table-column>
<el-table-column
prop="ZRBM"
label="责任部门"
align="center"
width="180px"
>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="KCCVPPSBM"
width="180px"
align="center"
label="卡车VPPS编码">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="KCCVPPSCN"
width="180px"
align="center"
label="卡车vpps中文名称">
</el-table-column>
<el-table-column
prop="CYCVPPSBM"
width="180px"
align="center"
label="乘车VPPS编码">
</el-table-column>
<el-table-column
prop="CYCVPPSBM"
width="180px"
align="center"
label="乘车vpps中文名称">
</el-table-column>
</el-table>
</div>
</div>
<div class="content" v-show="active === '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
<el-form
ref="Form"
:model="roleForm"
:rules="roleFormRules"
class="label-input-form">
<el-timeline-item timestamp="发起流程" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="startUserName" style="margin-bottom: 0">
<h4>流程发起人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.startUser" style="display: none;"></el-input>
<el-input v-model="roleForm.startUserName" placeholder="流程发起人" disabled></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择标准法规业务经理" placement="top" :color="roleForm.serviceManager ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="serviceManagerName" style="margin-bottom: 0">
<h4>审批责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.serviceManager" style="display: none;"></el-input>
<el-input v-model="roleForm.serviceManagerName" placeholder="标准法规业务经理"@click.native="choiceZRR('serviceManager', '选择业务经理', roleForm.serviceManager)">
</el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择工程经理进行转办" placement="top" :color="roleForm.engineeringManager ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="engineeringManagerName" style="margin-bottom: 0">
<h4>工程经理</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.engineeringManager" style="display: none;"></el-input>
<el-input v-model="roleForm.engineeringManagerName" placeholder="选择工程经理" @click.native="choiceZRR('engineeringManager', '选择工程经理', roleForm.engineeringManager)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="标准法规部部长审批" placement="top" :color="roleForm.statuteMinister ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="statuteMinisterName" style="margin-bottom: 0">
<h4>标准法规部部长</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.statuteMinister" style="display: none;"></el-input>
<el-input v-model="roleForm.statuteMinisterName" placeholder="选择标准法规部部长" @click.native="choiceZRR('statuteMinister', '选择技术管理中心主任', roleForm.statuteMinister)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
</el-form>
</el-timeline>
</div>
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="modalshowflag"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
</div>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { saveTaskFirst } from "api/process";
export default {
name: "xmpg2Step1",
components: {
ProcessFooter,
ProcessHeader,
ProcessTitle,
},
data(){
return {
active: '1', //当前选中的type
//表单的数据
listForm: {
projectNumber:'', //项目编号
projectName:'', //项目名称
},
dataList:[], //下面标准的数据
//表单的验证
formRules: {
projectNumber: [
{ required: true, message: "请填写项目编号", trigger: "change" }
],
projectName: [
{ required: true, message: "请填写项目名称", trigger: "change" }
],
},
//选人的验证
roleFormRules:{
serviceManagerName:[
{required: true, message:"请选择业务经理", trigger:"change"}
],
engineeringManagerName: [
{required: true, message:"请选择工程经理", trigger:"change"}
],
statuteMinisterName: [
{required: true, message:"请选择法规部部长", trigger:"cahnge"}
],
},
//选择人的数据
roleForm: {
startUserName: this.$store.getters.userInfo.userName,
startUser: this.$store.getters.userInfo.userId,
serviceManager:'', //业务经理
serviceManagerName:'',
engineeringManager:'', //工程经理
engineeringManagerName:'',
statuteMinister:'', //标准法规部部长
statuteMinisterName:'',
},
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题
nodeList: [],
}
},
methods: {
//tab发生变化
handleTabs(type){
this.active = type
},
//点击选择项目事件
choiceShow(){
},
//标准的多选框改变
selectStandChange(){
},
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = true
},
checkedRole (data) {
if (this.type === 'serviceManager') {
this.roleForm.serviceManager = data[0].id
this.roleForm.serviceManagerName = data[0].name
} else if (this.type === 'engineeringManager') {
this.roleForm.engineeringManager = data[0].id
this.roleForm.engineeringManagerName = data[0].name
} else if (this.type === 'statuteMinister') {
this.roleForm.statuteMinister = data[0].id
this.roleForm.statuteMinisterName = data[0].name
}
},
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.xmpg2-step1 {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "xmpg2Step2"
};
</script>
<style scoped>
</style>
@@ -10,7 +10,8 @@
<!-- <div class="process-name" @click="handleCreateProcess('4')">标准需求(翻译)申请流程</div>-->
<!-- <div class="process-name" @click="handleCreateProcess('5')">标准发放申请流程</div>-->
<div class="process-name" @click="handleCreateProcess('6')">标准清单发布/更新流程</div>
<div class="process-name" @click="handleCreateProcess('7')">项目合规评估流程</div>
<div class="process-name" @click="handleCreateProcess('7')">项目合规评估流程-标准</div>
<div class="process-name" @click="handleCreateProcess('10')">项目合规评估流程-项目</div>
<div class="process-name" @click="handleCreateProcess('8')">未符合项整改流程</div>
<div class="process-name" @click="handleCreateProcess('9')">标准解读流程</div>
</div>
@@ -87,11 +88,17 @@ export default {
})
break
case '7':
//项目评估流程
//项目评估流程 - 标准
this.$router.push({
name: 'xmpgStep1'
})
break
case '10':
//项目评估流程- 项目
this.$router.push({
name: 'xmpg2Step1'
})
break
case '8':
//未符合项整改流程
this.$router.push({
@@ -378,6 +378,9 @@
align="center"
width="210px"
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
show-overflow-tooltip
@@ -448,7 +451,7 @@
width="210px"
label="卡车VPPS中文名称">
</el-table-column>
<el-table-column width="150">
<el-table-column width="200">
<template slot-scope="scope">
<el-button
class="common-button-default"
@@ -459,10 +462,15 @@
<el-button
class="common-button-default"
type="danger"
style="margin-left: 0px"
size="small" @click="moveDown(scope.$index, scope.row)"
v-if="!disabledFlag"
>下移</el-button>
<el-button
size="small"
@click="editTghisRow(scope.row)"
class="common-button-default"
type="warning"
>编辑</el-button>
</template>
</el-table-column>
</el-table>
@@ -499,6 +507,87 @@
</div>
</el-upload>
</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>
</template>
<script>
@@ -522,6 +611,7 @@ import CustomInputForPolicy from '@/components/CustomFormComponents/InputForPoli
import CustomRoleTree from '@/components/CustomFormComponents/roleTree'
import stand from "../../../config/pages/attributeCustom/components/stand";
import { mapGetters } from 'vuex'
import { editDataInfo } from '@/api/unqualProcess'
export default {
name: 'ListOfStandardsAndRegulationsDetails',
components: {
@@ -571,6 +661,25 @@ export default {
zrbmMap: {},
sycpxMap: {},
zrbmOptions: [],
// 编辑抽屉状态
drawerEdit: false,
// 编辑框数据
editRowData: {
id: '',
standName: '',
standEnName: '',
typeApplicable: '',
nylx: '',
putTime: '',
zccssrqgj: '',
xcxssrqgj: '',
zrbm: '',
sycpx: '',
cycvppsbm: '',
cycvppscn: '',
kccvppsbm: '',
kccvppscn: ''
},
selectSearch : [],
// 新增、编辑 基础信息字段
sarAccessEO: {
@@ -1164,6 +1273,21 @@ export default {
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 () {
this.importmodalFlag = true
@@ -11,7 +11,7 @@
<div v-show="heightShow" class="transition-box">
<p class="transition-box-p">
<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>
<span class="transition-box-span" v-else>{{ countryAreaMap[sarAccessEO.countryArea] }}</span>
@@ -160,6 +160,9 @@
align="center"
width="210px"
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
show-overflow-tooltip
@@ -168,6 +171,9 @@
width="210px"
align="center"
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
prop="xcxssrqgj"
@@ -175,6 +181,9 @@
align="center"
width="210px"
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
show-overflow-tooltip
@@ -315,6 +324,7 @@ export default {
saveExportType: "",
depNode: [], // 部门树
sarAccessEO: {},
sarAccessEOInfo: '',
fileInfoList: [],
// 改变颜色
dialogColor: false,
@@ -604,6 +614,7 @@ export default {
console.log(accessRow)
this.pageId = accessRow.id
this.sarAccessEO = accessRow;
this.sarAccessEOInfo = this.sarAccessEO.countryArea.indexOf(',')
this.selectInfobyAccid();
this.getOrgTreeSource();
this.getFileInfo();
@@ -211,17 +211,26 @@
prop="issueTime"
sortable
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
prop="xcxssrq"
prop="xcxssrqgj"
sortable
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
show-overflow-tooltip
prop="zccssrq"
prop="zccssrqgj"
sortable
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
show-overflow-tooltip
@@ -362,6 +371,9 @@
width="210px"
align="center"
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
prop="xcxssrqgj"
@@ -369,6 +381,9 @@
align="center"
width="210px"
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
show-overflow-tooltip
@@ -418,7 +433,7 @@
width="210px"
label="卡车VPPS中文名称">
</el-table-column>
<el-table-column>
<el-table-column width="150">
<template slot-scope="scope">
<el-button
class="common-button-default"
@@ -539,11 +554,12 @@ export default {
nylxMap: {},
zrbmMap: {},
sycpxMap: {},
zrbmOptions: [],
selectSearch : [],
// 新增、编辑 基础信息字段
sarAccessEO: {
id: '',
sortKey: 4,
sortKey: 3,
fileIds: '',
detailedList: '',
detailedListName: '',
@@ -1242,8 +1258,19 @@ export default {
_this: this
}, res =>{
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 => {
})
@@ -211,17 +211,26 @@
prop="issueTime"
sortable
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
prop="xcxssrq"
prop="xcxssrqgj"
sortable
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
show-overflow-tooltip
prop="zccssrq"
prop="zccssrqgj"
sortable
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
show-overflow-tooltip
@@ -362,6 +371,9 @@
width="210px"
align="center"
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
prop="xcxssrqgj"
@@ -369,6 +381,9 @@
align="center"
width="210px"
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
show-overflow-tooltip
@@ -429,7 +444,6 @@
<el-button
class="common-button-default"
type="danger"
style="margin-left: 0px"
size="small" @click="moveDown(scope.$index, scope.row)"
v-if="!disabledFlag"
>下移</el-button>
@@ -540,6 +554,7 @@ export default {
nylxMap: {},
zrbmMap: {},
sycpxMap: {},
zrbmOptions: [],
selectSearch : [],
// 新增、编辑 基础信息字段
sarAccessEO: {
@@ -1244,6 +1259,19 @@ export default {
_this: this
}, res =>{
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 => {
})
@@ -267,6 +267,7 @@
:wrapperClosable="false"
size="800px"
@close="resetForm"
append-to-body
>
<!-- 新增样式 -->
<div class="demo-drawer-content">
@@ -397,11 +398,7 @@
class="add-form-item"
>
<template slot="label">标准体系</template>
<tree-select
width = "593"
:data="standSystemOptions"
:defaultProps="defaultProps" :checkedKeys="defaultCheckedKeys"
:nodeKey="nodeKey" @popoverHide="popoverHide"></tree-select>
<el-input v-model="sarStandardsInfoEO.standSystem" placeholder="选择标准体系" @click.native="choiceZRR1('standSystem', '标准体系', sarStandardsInfoEO.standSystem)"></el-input>
</el-form-item>
</template>
<template v-for="field in displayLocation.child">
@@ -453,12 +450,7 @@
class="add-form-item"
>
<template slot="label">乘用车VPPS编码</template>
<tree-select
:disabled="false"
width = "340"
:data="busVppsOptions"
:defaultProps="defaultCodeProps" :checkedKeys="defaultCheckedKeys1"
:nodeKey="nodeKeyCode" @popoverHide="popoverHideBusVs"></tree-select>
<el-input v-model="sarStandardsInfoEO.CYCVPPSBM" placeholder="选择乘用车VPPS编码" @click.native="choiceZRR2('cycvppsbm', '乘用车VPPS', sarStandardsInfoEO.cycvppsbm)"></el-input>
</el-form-item>
</template>
<template v-else-if="field.attrField === 'KCCVPPSBM'">
@@ -468,12 +460,7 @@
class="add-form-item"
>
<template slot="label">卡车VPPS编码</template>
<tree-select
:disabled="false"
width = "340"
:data="busVppsOptions"
:defaultProps="defaultCodeProps" :checkedKeys="defaultCheckedKeys2"
:nodeKey="nodeKeyCode" @popoverHide="popoverHideCarVs"></tree-select>
<el-input v-model="sarStandardsInfoEO.KCCVPPSBM" placeholder="选择卡车VPPS编码" @click.native="choiceZRR3('kccvppsbm', '卡车VPPS', sarStandardsInfoEO.kccvppsbm)"></el-input>
</el-form-item>
</template>
<template v-else-if="field.attrField === 'DYBXH'">
@@ -483,12 +470,7 @@
class="add-form-item"
>
<template slot="label">模块结构单元变型号</template>
<tree-select
width = "340"
:disabled="false"
:data="modelOptions"
:defaultProps="defaultModelProps" :checkedKeys="defaultCheckedKeys3"
:nodeKey="nodeKeyModel" @popoverHide="popoverHideModel"></tree-select>
<el-input v-model="sarStandardsInfoEO.DYBXH" placeholder="选择模块结构单元变型号" @click.native="choiceZRR4('dybxh', '模块结构单元', sarStandardsInfoEO.dybxh)"></el-input>
</el-form-item>
</template>
<template v-else-if="field.attrField === 'CYCVPPSCN'">
@@ -782,13 +764,13 @@
<el-form :model="sarConfigStandSearch" :inline="true" class="label-input-form">
<el-formItem label="标准类别" prop="standSort" class="search-item">
<el-select v-model="sarConfigStandSearch.standSort" placeholder="根据标准类别查找"
@keyup.enter.native="searchConfiguraStand" clearable>
@keyup.enter.native="searchConfiguraStand(true)" clearable>
<el-option v-for="opt in standSortOptions" :value="opt.value === undefined ? '' :opt.value" :key="opt.value" :label="opt.label">{{ opt.label }}
</el-option>
</el-select>
</el-formItem>
<el-formItem label="标准号/名称" prop="standNumber" class="search-item">
<el-input v-model="sarConfigStandSearch.standNumber" @keyup.enter.native="searchConfiguraStand"
<el-input v-model="sarConfigStandSearch.standNumber" @keyup.enter.native="searchConfiguraStand(true)"
placeholder="根据标准号/名称查找" clearable/>
</el-formItem>
<el-form-item label="" class="search-item btn-box">
@@ -980,6 +962,46 @@
@click="closeModal">取消</el-button>
</div>
</el-drawer>
<!-- 组件树-->
<tree-select-new
:multiple=false
:lazy=false
:modalShowFlag="modalShowFlag1"
:drawerTitle="drawerTitle"
width = "500"
:data="standSystemOptions"
:defaultProps="defaultProps" :checkedKeys="defaultCheckedKeys"
:nodeKey="nodeKey" @popoverHide="popoverHide"></tree-select-new>
<tree-select-new
width = "500"
:lazy=true
:multiple=false
:modalShowFlag="modalShowFlag2"
:drawerTitle="drawerTitle"
:url="url"
:urlChild="urlChild"
:defaultProps="defaultCodeProps" :checkedKeys="defaultCheckedKeys1"
:nodeKey="nodeKeyCode" @popoverHide="popoverHideBusVs"></tree-select-new>
<tree-select-new
width = "500"
:lazy=true
:multiple=false
:modalShowFlag="modalShowFlag3"
:drawerTitle="drawerTitle"
:url="url"
:urlChild="urlChild"
:defaultProps="defaultCodeProps" :checkedKeys="defaultCheckedKeys2"
:nodeKey="nodeKeyCode" @popoverHide="popoverHideCarVs"></tree-select-new>
<tree-select-new
width = "500"
:lazy=true
:multiple=false
:modalShowFlag="modalShowFlag4"
:drawerTitle="drawerTitle"
:url="url"
:urlChild="urlChild"
:defaultProps="defaultModelProps" :checkedKeys="defaultCheckedKeys3"
:nodeKey="nodeKeyModel" @popoverHide="popoverHideModel"></tree-select-new>
<!-- 导入失败-->
<el-dialog :visible.sync="importFailed" :close-on-click-modal="false" width="400px">
<p slot="title" style="color:#f60">
@@ -1234,6 +1256,7 @@ import Bus from '@/common/eventHub'
import CustomDatePickWithText2 from '@/components/CustomFormComponents/DatePickerWithText2'
import { interfaceUrl } from '@/sysConfig'
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
export default {
name: 'domesticStandardsAndRegulations',
@@ -1254,7 +1277,8 @@ export default {
CustomSVPPS,
CustomRoleTree,
CustomDatePickWithText2,
TreeSelect
TreeSelect,
TreeSelectNew
},
data () {
return {
@@ -1267,6 +1291,13 @@ export default {
children: 'children',
label: 'menuName'
},
modalShowFlag1: false, // drawer开关
modalShowFlag2: false, // drawer开关
modalShowFlag3: false, // drawer开关
modalShowFlag4: false, // drawer开关
url:'',
urlChild:'',
drawerTitle: '', //drawer标题
nodeKey: 'id',
nodeKeyCode: 'code',
nodeKeyModel: 'model',
@@ -1903,27 +1934,83 @@ export default {
}
},
methods: {
popoverHideBusVs (checkedIds, checkedData) {
if(checkedData){
this.sarStandardsInfoEO.CYCVPPSBM = checkedData.code
this.sarStandardsInfoEO.CYCVPPSCN = checkedData.chineseName
this.$forceUpdate()
}
choiceZRR1 (type, title, id) {
this.drawerTitle = title
this.modalShowFlag1 = true
},
popoverHideCarVs (checkedIds, checkedData) {
if(checkedData){
this.sarStandardsInfoEO.KCCVPPSBM = checkedData.code
this.sarStandardsInfoEO.KCCVPPSCN = checkedData.chineseName
this.$forceUpdate()
}
choiceZRR2 (type, title, id) {
this.drawerTitle = title
this.modalShowFlag2 = true
this.url = ''
this.urlChild = ''
this.url="sarVppsTree/list"
this.urlChild="sarVppsTree/childByList"
},
popoverHideModel (checkedIds, checkedData) {
if(checkedData){
this.sarStandardsInfoEO.DYBXH = checkedData.model
this.sarStandardsInfoEO.DYMC = checkedData.name
this.$forceUpdate()
choiceZRR3 (type, title, id) {
this.drawerTitle = title
this.modalShowFlag3 = true
this.url = ''
this.urlChild = ''
this.url="sarVppsTree/list"
this.urlChild="sarVppsTree/childByList"
},
choiceZRR4 (type, title, id) {
this.drawerTitle = title
this.modalShowFlag4 = true
this.url = ''
this.urlChild = ''
this.url="sarModelTree/list"
this.urlChild="sarModelTree/childByList"
},
popoverHide (checkedIds, checkedData,isShow,isLoadChild,topId) {
if(checkedData) {
if(checkedData.length > 0){
this.sarStandardsInfoEO.standSystem = checkedData.map(item => item.menuName).join(",")
}else {
this.sarStandardsInfoEO.standSystem = checkedData.menuName
}
}
this.modalShowFlag1 = false
this.$forceUpdate()
},
popoverHideBusVs (checkedIds, checkedData,isShow,isLoadChild,topId) {
if(checkedData) {
if(checkedData.length > 0){
this.sarStandardsInfoEO.CYCVPPSBM = checkedData.map(item => item.code).join(",")
this.sarStandardsInfoEO.CYCVPPSCN = checkedData.map(item => item.chineseName).join(",")
}else {
this.sarStandardsInfoEO.CYCVPPSBM = checkedData.code
this.sarStandardsInfoEO.CYCVPPSCN = checkedData.chineseName
}
}
this.modalShowFlag2 = false
this.$forceUpdate()
},
popoverHideCarVs (checkedIds, checkedData,isShow,isLoadChild,topId) {
if(checkedData) {
if(checkedData.length > 0){
this.sarStandardsInfoEO.KCCVPPSBM = checkedData.map(item => item.code).join(",")
this.sarStandardsInfoEO.KCCVPPSCN = checkedData.map(item => item.chineseName).join(",")
}else {
this.sarStandardsInfoEO.KCCVPPSBM = checkedData.code
this.sarStandardsInfoEO.KCCVPPSCN = checkedData.chineseName
}
}
this.modalShowFlag3 = false
this.$forceUpdate()
},
popoverHideModel (checkedIds, checkedData,isShow,isLoadChild,topId) {
if(checkedData) {
if(checkedData.length > 0){
this.sarStandardsInfoEO.DYBXH = checkedData.map(item => item.model).join(",")
this.sarStandardsInfoEO.DYMC = checkedData.map(item => item.name).join(",")
}else {
this.sarStandardsInfoEO.DYBXH = checkedData.model
this.sarStandardsInfoEO.DYMC = checkedData.name
}
}
this.modalShowFlag4 = false
this.$forceUpdate()
},
busVsFunc(){
this.$http.get('sarVppsTree/list', '', {
@@ -1939,11 +2026,6 @@ export default {
this.modelOptions = res.data
})
},
popoverHide (checkedIds, checkedData) {
if(checkedData){
this.sarStandardsInfoEO.standSystem = checkedData.id
}
},
closeModal () {
this.productModal = false
this.closeDrawer()
@@ -2118,6 +2200,8 @@ export default {
this.personCollect.collectTitle = item.standName + ' ( 编号:' + item.standSort + ' ' + item.standNumber + ' )'
}
this.personCollect.collectType = 'INLAND_STAND'
this.personCollect.id = item.id
this.personCollect.userId = this.$store.getters.userInfo.userId
this.$http.postData('person/personCollect', this.personCollect, {
_this: this
}, res => {
@@ -4257,7 +4341,6 @@ export default {
this.syzrOptions = res.data.SYRZCLASS // 适用认证
this.getGzzOption()
this.setMap(this.standStateOptions)
console.log(this.standStateOptions, '文本状态')
}, e => {
})
this.getDomesticStandardTable(this.tableFlag)
@@ -4,27 +4,43 @@
<!--左侧树-->
<div class="tree-content" :class="{ 'tree-closed': sideClose }" >
<div class="tree">
<laws-tree :zNodes="lawsZNodes"
ref="enterpriseStandardTree"
treeDivId="enterpriseStandardTree"
:deptSelect = true
showRMenu
autoSelect
add-id="TB9979T4Y4"
edit-id="AES4L4E52G"
remove-id="4PP7QBKXSQ"
:drag="hasPermissionDrag"
drag-bind=".drag-table"
:hideRMenuNode="['wdsc']"
drag-dom="drag-row"
v-if="treeReload"
@treeAdd="(treeId, treeNode) => clickDropMenu('newMenu', treeNode)"
@treeEdit="(treeId, treeNode) => clickDropMenu('editMenu', treeNode)"
@treeClick="(treeId, treeNode) => treeClick(treeNode)"
@treeRightClick="(treeId, treeNode) => treeRightClick(treeNode)"
@treeRemove="(treeId, treeNode) => clickDropMenu('deleteMenu', treeNode)"
@drag="drag"
></laws-tree>
<el-tree
ref="tree"
node-key="id"
class="filter-tree"
:props="props"
:data="treeList"
highlight-current
@node-click="treeClick"
default-expand-all
:expand-on-click-node="false">
<span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)">
<span> {{ node.label}} </span>
<span>
<el-button
type="text"
size="mini"
v-show="data.show"
@click="() => append(data)">
新增
</el-button>
<el-button
type="text"
size="mini"
v-show="data.show"
@click="() => update(data)">
编辑
</el-button>
<el-button
type="text"
size="mini"
v-show="data.showDel"
@click="() => remove(node, data)">
删除
</el-button>
</span>
</span>
</el-tree>
</div>
<div class="tree-collapse" @click="treeCollapse" :class="{ 'tree-close': sideClose }">
<!--切换折叠样式-->
@@ -860,6 +876,64 @@
}"
@confirm="isTreeOk"
></org-table>
<!-- 新建抽屉 -->
<el-drawer
:wrapperClosable="false"
:title="productTitle"
:visible.sync="productModal"
size="800px"
:before-close="closeDrawer"
label-width="130px"
>
<div class="demo-drawer-content">
<el-form :model="productModelAdd"
ref="productModelAdd"
:rules="productRules"
class="label-input-form"
label-width="130px">
<el-row>
<el-col>
<el-form-item label="菜单名称" prop="menuName" class="add-form-item">
<el-input v-model.trim="productModelAdd.menuName" placeholder="请输入菜单名称" clearable></el-input>
</el-form-item>
</el-col>
<el-col>
<el-form-item label="排序号" prop="displaySeq" class="add-form-item">
<el-input v-model.number="productModelAdd.displaySeq"
number
placeholder="请输入排序号"
:maxlength="4"
clearable></el-input>
</el-form-item>
</el-col>
<el-col>
<el-form-item v-if="modalType === 2" label="上级菜单" prop="parentIdsName" class="add-form-item">
<el-input v-model="productModelAdd.parentIdsName" disabled
clearable></el-input>
</el-form-item>
</el-col>
<el-col>
<el-form-item label="描述" prop="remarks" class="add-form-item">
<el-input v-model.trim="productModelAdd.remarks"
placeholder="请输入描述"
clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div class="demo-drawer-footer">
<el-button
class="common-button-primary"
icon="el-icon-check"
type="primary"
@click="saveProduct('productModelAdd')">提交</el-button>
<el-button
class="common-button-default"
icon="el-icon-close"
@click="closeModal">取消</el-button>
</div>
</el-drawer>
</div>
</template>
@@ -893,6 +967,60 @@ export default {
},
data () {
return {
props: {
label: 'menuName',
children: 'children'
},
productModal: false, //
modalType: '',
productTitle: '', //
//
productRules: {
menuName: [
{required: true, message: '一级菜单不能为空', trigger: 'blur'},
{type: 'string', max: 100, message: '最多输入100位', trigger: 'blur'}
],
displaySeq: [
{type: 'number', required: true, message: '排序号不能为空且为正整数', trigger: 'blur'},
{type: 'string', validator: this.verify.validStandNumInCompile2, trigger: 'blur'}
],
remarks: [
{type: 'string', max: 500, message: '最多输入500位', trigger: 'blur'}
],
dicTypeName: [
{required: true, message: '选项不能为空', trigger: 'blur'},
{type: 'string', max: 100, message: '最多输入100位', trigger: 'blur'}
],
showIndex: [
{type: 'number', required: true, message: '排序号不能为空且为正整数', trigger: 'blur'},
{type: 'string', validator: this.verify.validStandNumInCompile2, trigger: 'blur'}
],
describes: [
{type: 'string', max: 500, message: '最多输入500位', trigger: 'blur'}
]
},
productModelAdd: {
id : "",
sorDivide : "INLAND_STAND",
menuName : "",
parentId : null,
parentIds : null,
parentIdsName : "",
displaySeq : "",
validFlag : "",
creationTime : "",
modifyTime : "",
remarks : "",
children : [],
//
dicTypeName: '',
showIndex: '',
//
describes: '',
//
dicId: ""
},
treeList: [],
standId: '',
visibleOrgTable: false,
visibleShare: false,
@@ -1423,6 +1551,183 @@ export default {
}
},
methods: {
closeModal () {
this.productModal = false
this.closeDrawer()
},
// /
saveProduct (name) {
this.$refs[name].validate((valid) => {
if (valid) {
if (this.modalType === 1) {
this.$http.postData('sarResource/ts-resource/add', this.productModelAdd, {
_this: this
}, res => {
if (res.ok) {
this.selectMenuList()
this.productModal = false
this.productModelAdd = {
//
dicTypeName: '',
showIndex: '',
//
describes: '',
//
dicId: this.$route.params.id
}
} else {
this.productModal = true
}
}, e => {})
} else if (this.modalType === 2) {
this.$http.putData('sarResource/ts-resource', this.productModelAdd, {
_this: this
}, res => {
this.selectMenuList()
this.productModal = false
this.productModelAdd = {
//
dicTypeName: '',
showIndex: '',
//
describes: '',
//
dicId: this.$route.params.id
}
}, e => {
})
}
} else {
}
})
},
closeDrawer () {
this.$nextTick(() => {
this.$refs['productModelAdd'].resetFields()
this.productModelAdd = {
//
dicTypeName: '',
showIndex: '',
//
describes: '',
//
dicId: this.$route.params.id
}
})
this.productModal = false
},
//
selectMenuList () {
this.$http.get('sarResource/ts-resource', {
sorDivide: 'BUSINESS_STAND'
}, {}, res => {
if (res.ok) {
this.treeList = res.data
}
})
},
//
selectChildMenu (row) {
this.$http.get('sarResource/ts-resource/getMenuById', {
menuId: row.id
}, {}, res => {
if (res.ok) {
if(this.modalType === 1){
let idsName = ""
if(row.parentIds !== null){
if(row.parentIds.indexOf(res.data.id) != -1){
this.productModelAdd.parentIds = row.parentIds
}else {
this.productModelAdd.parentIds = row.parentIds + ',' + res.data.id
idsName = row.parentIdsName + ',' + res.data.menuName
}
}else {
this.productModelAdd.parentIds = res.data.id
idsName = res.data.menuName;
}
this.productModelAdd.parentId = res.data.id
this.productModelAdd.parentIdsName = idsName
this.$forceUpdate()
}else {
this.productModelAdd = res.data
}
}
})
},
update(data) {
this.modalType = 2
this.selectChildMenu(data)
this.productModal = true
this.productTitle = '编辑信息'
// const newChild = { id: this.id++, label: 'testtest', children: [] };
// if (!data.children) {
// this.$set(data, 'children', []);
// }
// data.children.push(newChild);
},
append(data) {
this.modalType = 1
this.selectChildMenu(data)
this.productModal = true
this.productTitle = '新增下级菜单信息'
this.productModelAdd.dicTypeCode = ''
// const newChild = { id: this.id++, label: 'testtest', children: [] };
// if (!data.children) {
// this.$set(data, 'children', []);
// }
// data.children.push(newChild);
},
remove(node, data) {
this.$confirm('是否删除菜单?', '提示', {
confirmButtonText: '确定',
confirmButtonClass: 'common-button-primary',
cancelButtonText: '取消',
roundButton: true,
type: 'warning'
}).then(() => {
this.$http.delete("sarResource/ts-resource", {
resourceId: data.id
}, res => {
}, e => {
if(e.ok){
this.$message({
type: 'success',
message: "删除成功"
})
this.selectMenuList()
}else {
this.$message({
type: 'warning',
message: e.message
})
}
})
}).catch(() => {
this.$refs.selections.clearSelection()
this.$message({
type: 'info',
message: '已取消删除'
})
})
// const parent = node.parent;
// const children = parent.data.children || parent.data;
// const index = children.findIndex(d => d.id === data.id);
// children.splice(index, 1);
},
//
mouseenter(data){
console.log(data)
this.$set(data, 'show', true)
if(data.parentId !== null){
this.$set(data, 'showDel', true)
}
},
mouseleave(data){
this.$set(data, 'show', false)
this.$set(data, 'showDel', false)
},
/**
* @description: 起草人名称展示
* @author: chenxiaoxi
@@ -3147,7 +3452,7 @@ export default {
mounted () {
this.treeReload = true
//
this.selectMenu()
this.selectMenuList()
//
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
@@ -3194,7 +3499,7 @@ export default {
height: 100%;
//background: #fff;
.tree-content {
width: 16%;
width: 20%;
position: relative;
/*height: 100%;*/
background: #fff;
@@ -510,12 +510,7 @@
class="add-form-item"
>
<template slot="label">乘用车VPPS编码</template>
<tree-select
:disabled="false"
width = "340"
:data="busVppsOptions"
:defaultProps="defaultCodeProps" :checkedKeys="defaultCheckedKeys1"
:nodeKey="nodeKeyCode" @popoverHide="popoverHideBusVs"></tree-select>
<el-input v-model="sarStandardsInfoEO.CYCVPPSBM" placeholder="选择乘用车VPPS编码" @click.native="choiceZRR2('cycvppsbm', '乘用车VPPS', sarStandardsInfoEO.cycvppsbm)"></el-input>
</el-form-item>
</template>
<template v-else-if="field.attrField === 'KCCVPPSBM'">
@@ -525,12 +520,7 @@
class="add-form-item"
>
<template slot="label">卡车VPPS编码</template>
<tree-select
:disabled="false"
width = "340"
:data="busVppsOptions"
:defaultProps="defaultCodeProps" :checkedKeys="defaultCheckedKeys2"
:nodeKey="nodeKeyCode" @popoverHide="popoverHideCarVs"></tree-select>
<el-input v-model="sarStandardsInfoEO.KCCVPPSBM" placeholder="选择卡车VPPS编码" @click.native="choiceZRR3('kccvppsbm', '卡车VPPS', sarStandardsInfoEO.kccvppsbm)"></el-input>
</el-form-item>
</template>
<template v-else-if="field.attrField === 'DYBXH'">
@@ -540,12 +530,7 @@
class="add-form-item"
>
<template slot="label">模块结构单元变型号</template>
<tree-select
width = "340"
:disabled="false"
:data="modelOptions"
:defaultProps="defaultModelProps" :checkedKeys="defaultCheckedKeys3"
:nodeKey="nodeKeyModel" @popoverHide="popoverHideModel"></tree-select>
<el-input v-model="sarStandardsInfoEO.DYBXH" placeholder="选择模块结构单元变型号" @click.native="choiceZRR4('dybxh', '模块结构单元', sarStandardsInfoEO.dybxh)"></el-input>
</el-form-item>
</template>
<template v-else-if="field.attrField === 'CYCVPPSCN'">
@@ -1031,6 +1016,37 @@
@click="closeModal">取消</el-button>
</div>
</el-drawer>
<!-- 组件树-->
<tree-select-new
width = "500"
:lazy=true
:multiple=false
:modalShowFlag="modalShowFlag2"
:drawerTitle="drawerTitle"
:url="url"
:urlChild="urlChild"
:defaultProps="defaultCodeProps" :checkedKeys="defaultCheckedKeys1"
:nodeKey="nodeKeyCode" @popoverHide="popoverHideBusVs"></tree-select-new>
<tree-select-new
width = "500"
:lazy=true
:multiple=false
:modalShowFlag="modalShowFlag3"
:drawerTitle="drawerTitle"
:url="url"
:urlChild="urlChild"
:defaultProps="defaultCodeProps" :checkedKeys="defaultCheckedKeys2"
:nodeKey="nodeKeyCode" @popoverHide="popoverHideCarVs"></tree-select-new>
<tree-select-new
width = "500"
:lazy=true
:multiple=false
:modalShowFlag="modalShowFlag4"
:drawerTitle="drawerTitle"
:url="url"
:urlChild="urlChild"
:defaultProps="defaultModelProps" :checkedKeys="defaultCheckedKeys3"
:nodeKey="nodeKeyModel" @popoverHide="popoverHideModel"></tree-select-new>
<!-- 导入失败 -->
<el-dialog :visible.sync="importFailed" :close-on-click-modal="false" width="400px">
<p slot="title" style="color:#f60">
@@ -1078,6 +1094,7 @@ import CustomRoleTree from '@/components/CustomFormComponents/roleTree'
import CustomDatePickWithText2 from '@/components/CustomFormComponents/DatePickerWithText2'
import { interfaceUrl } from "@/sysConfig";
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
export default {
name: 'foreignStandardsAndRegulations',
@@ -1098,7 +1115,8 @@ export default {
CustomSVPPS,
CustomRoleTree,
CustomDatePickWithText2,
TreeSelect
TreeSelect,
TreeSelectNew
},
data () {
return {
@@ -1114,6 +1132,13 @@ export default {
},
nodeKeyCode: 'code',
nodeKeyModel: 'model',
modalShowFlag1: false, // drawer
modalShowFlag2: false, // drawer
modalShowFlag3: false, // drawer
modalShowFlag4: false, // drawer
url:'',
urlChild:'',
drawerTitle: '', //drawer
nodeKey: 'id',
defaultCheckedKeys1: [],
defaultCheckedKeys2: [],
@@ -1722,6 +1747,71 @@ export default {
watch: {
},
methods: {
choiceZRR2 (type, title, id) {
this.drawerTitle = title
this.modalShowFlag2 = true
this.url = ''
this.urlChild = ''
this.url="sarVppsTree/list"
this.urlChild="sarVppsTree/childByList"
},
choiceZRR3 (type, title, id) {
this.drawerTitle = title
this.modalShowFlag3 = true
this.url = ''
this.urlChild = ''
this.url="sarVppsTree/list"
this.urlChild="sarVppsTree/childByList"
},
choiceZRR4 (type, title, id) {
this.drawerTitle = title
this.modalShowFlag4 = true
this.url = ''
this.urlChild = ''
this.url="sarModelTree/list"
this.urlChild="sarModelTree/childByList"
},
popoverHideBusVs (checkedIds, checkedData,isShow,isLoadChild,topId) {
console.log(checkedData)
debugger
if(checkedData) {
if(checkedData.length > 0){
this.sarStandardsInfoEO.CYCVPPSBM = checkedData.map(item => item.code).join(",")
this.sarStandardsInfoEO.CYCVPPSCN = checkedData.map(item => item.chineseName).join(",")
}else {
this.sarStandardsInfoEO.CYCVPPSBM = checkedData.code
this.sarStandardsInfoEO.CYCVPPSCN = checkedData.chineseName
}
}
this.modalShowFlag2 = false
this.$forceUpdate()
},
popoverHideCarVs (checkedIds, checkedData,isShow,isLoadChild,topId) {
if(checkedData) {
if(checkedData.length > 0){
this.sarStandardsInfoEO.KCCVPPSBM = checkedData.map(item => item.code).join(",")
this.sarStandardsInfoEO.KCCVPPSCN = checkedData.map(item => item.chineseName).join(",")
}else {
this.sarStandardsInfoEO.KCCVPPSBM = checkedData.code
this.sarStandardsInfoEO.KCCVPPSCN = checkedData.chineseName
}
}
this.modalShowFlag3 = false
this.$forceUpdate()
},
popoverHideModel (checkedIds, checkedData,isShow,isLoadChild,topId) {
if(checkedData) {
if(checkedData.length > 0){
this.sarStandardsInfoEO.DYBXH = checkedData.map(item => item.model).join(",")
this.sarStandardsInfoEO.DYMC = checkedData.map(item => item.name).join(",")
}else {
this.sarStandardsInfoEO.DYBXH = checkedData.model
this.sarStandardsInfoEO.DYMC = checkedData.name
}
}
this.modalShowFlag4 = false
this.$forceUpdate()
},
// idname
setMap(data){
data.forEach(item => {
@@ -1729,28 +1819,6 @@ export default {
})
console.log(this.textStatusMap, '文本状态的值')
},
popoverHideBusVs (checkedIds, checkedData) {
if(checkedData){
this.sarStandardsInfoEO.CYCVPPSBM = checkedData.code
this.sarStandardsInfoEO.CYCVPPSCN = checkedData.chineseName
this.$forceUpdate()
}
},
popoverHideCarVs (checkedIds, checkedData) {
if(checkedData){
this.sarStandardsInfoEO.KCCVPPSBM = checkedData.code
this.sarStandardsInfoEO.KCCVPPSCN = checkedData.chineseName
this.$forceUpdate()
}
},
popoverHideModel (checkedIds, checkedData) {
if(checkedData){
this.sarStandardsInfoEO.DYBXH = checkedData.model
this.sarStandardsInfoEO.DYMC = checkedData.name
this.$forceUpdate()
}
},
busVsFunc(){
this.$http.get('sarVppsTree/list', '', {
_this: this
@@ -1910,6 +1978,8 @@ export default {
this.personCollect.collectTitle = item.standName + ' ( 编号:' + item.standSort + ' ' + item.standNumber + ' )'
}
this.personCollect.collectType = 'FOREIGN_STAND'
this.personCollect.id = item.id
this.personCollect.userId = this.$store.getters.userInfo.userId
this.$http.postData('person/personCollect', this.personCollect, {
_this: this
}, res => {
@@ -1946,6 +2016,7 @@ export default {
},
//
handlePreview (item) {
console.log(item);
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
@@ -6,9 +6,9 @@
<el-tab-pane label="未符合项整改数据库" name="database">
<rectification-database></rectification-database>
</el-tab-pane>
<el-tab-pane label="重点问题项管控" name="keynote">
<key-issues></key-issues>
</el-tab-pane>
<!-- <el-tab-pane label="重点问题项管控" name="keynote">-->
<!-- <key-issues></key-issues>-->
<!-- </el-tab-pane>-->
</el-tabs>
</div>
</div>
@@ -92,6 +92,7 @@
<el-table-column
prop="standId"
width="180px"
align="center"
label="标准编号">
<template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standId }}</a>
@@ -100,6 +101,7 @@
<el-table-column
prop="standName"
width="180px"
align="center"
label="标准名称">
<template slot-scope="scope">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
@@ -107,42 +109,56 @@
</el-table-column>
<el-table-column
prop="itemsNum"
width="150"
align="center"
label="条款号">
</el-table-column>
<el-table-column
prop="itemsName"
width="150"
align="center"
label="条款名称">
</el-table-column>
<el-table-column
prop="productLine"
width="150"
align="center"
label="产品线">
</el-table-column>
<el-table-column
prop="productName"
width="150"
align="center"
label="项目名称">
</el-table-column>
<el-table-column
prop="responsibleUnit"
width="150"
align="center"
label="责任部门">
</el-table-column>
<el-table-column
prop="dutyEngineer"
width="150px"
width="150"
align="center"
label="责任工程师">
</el-table-column>
<el-table-column
prop="authEngineer"
width="150px"
width="150"
align="center"
label="认证工程师">
</el-table-column>
<el-table-column
prop="qaEngineer"
width="150px"
width="150"
align="center"
label="质量工程师">
</el-table-column>
<el-table-column
prop="actualCloseTime"
width="150px"
width="150"
align="center"
sortable
label="实际关闭时间">
<template slot-scope="scope">{{(scope.row.actualCloseTime ? scope.row.actualCloseTime.substring(0, 11): '')}}</template>
@@ -26,7 +26,7 @@
>
<el-input
slot="reference"
v-model="nonConformitySearch.responseUnitShow"
v-model="nonConformitySearch.responsibleUnitShow"
placeholder="根据责任部门查找"
readonly
clearable
@@ -117,9 +117,12 @@
fixed="left"
width="180"
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">
<a @click="detailsStandard(scope.row)" class="table-jump">{{ scope.row.standId }}</a>
<!-- {{ scope.row.standId }}-->
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standId }}</a>
</template>
</el-table-column>
<el-table-column
@@ -346,7 +349,7 @@
</div>
<div class="typeitems">
<div class="itemsLeft">责任部门:</div>
<div class="itemsRight">{{item.responseUnitShow}}</div>
<div class="itemsRight">{{item.responsibleUnitShow}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">责任工程师:</div>
@@ -367,7 +370,7 @@
</div>
<div class="typeitems">
<div class="itemsLeft">责任部门:</div>
<div class="itemsRight">{{item.responseUnitShow}}</div>
<div class="itemsRight">{{item.responsibleUnitShow}}</div>
</div>
<div class="typeitems">
<div class="itemsLeft">责任工程师:</div>
@@ -521,6 +524,35 @@ export default {
})
}
},
//
getOrgTreeSource () {
this.$http.get('sys/org/getTree', {}, {
_this: this
},
res => {
if (res.ok) {
let treeNode = []
res.data.map((item, index) => {
let treeItem = {}
for (let key in item) {
if (key === 'orgName') {
treeItem.name = item[key]
} else {
treeItem[key] = item[key]
}
}
treeNode[index] = treeItem
})
this.zNodesS = JSON.parse(JSON.stringify(treeNode))
this.zNodesSItem = JSON.parse(JSON.stringify(treeNode))
this.searchInlandNodes = JSON.parse(JSON.stringify(treeNode))
}
}, e => {})
},
treeClickSearch (treeId, treeNode) {
this.nonConformitySearch.responsibleUnit = treeNode.id
this.nonConformitySearch.responsibleUnitShow = treeNode.name
},
//
clearAllSearch (search = true) {
this.nonConformitySearch = {
@@ -568,6 +600,19 @@ export default {
openEditModal(item) {
console.log(item)
},
//
handlePreview (item) {
console.log(item);
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
id: item.id,
pageType: 'FOREIGN_STAND'
// pageType: item.standType + '_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
detailsStandard (item) {
this.$http.post('lawss/sarTestItem/validateStandNumber', {
standnumber: item.standNum
@@ -610,6 +655,8 @@ export default {
},
mounted () {
this.getTableByPage()
//
this.getOrgTreeSource()
}
};
</script>
@@ -9,10 +9,12 @@
<div class="search-area">
<el-form :model="standCommonlySearch" inline class="label-input-form">
<el-formItem label="类别" class="search-item">
<el-input v-model="standCommonlySearch.categorg" class="s-c-input" placeholder="标准/政策" clearable :maxlength="100"></el-input>
<el-input v-model="standCommonlySearch.categorg" class="s-c-input" placeholder="标准/政策" clearable
:maxlength="100"></el-input>
</el-formItem>
<el-formItem label="关键字" class="search-item">
<el-input v-model="standCommonlySearch.cname" class="s-c-input" placeholder="请输入关键字" clearable :maxlength="100"></el-input>
<el-input v-model="standCommonlySearch.cname" class="s-c-input" placeholder="请输入关键字" clearable
:maxlength="100"></el-input>
</el-formItem>
<el-formItem label="开始日期" class="search-item">
<el-datePicker v-model="standCommonlySearch.start" :editable="false"
@@ -28,11 +30,13 @@
size="mini"
class="common-button-primary"
@click="sarStandCompareHisInfo">查询</el-button>
@click="sarStandCompareHisInfo">查询
</el-button>
<el-button
class="common-button-default"
size="mini"
@click="clearSearchStand">清空</el-button>
@click="clearSearchStand">清空
</el-button>
</el-formItem>
</el-form>
</div>
@@ -54,7 +58,7 @@
label="标准"
align="center">
<template slot-scope="scope">
<a class="table-jump" @click.stop="handlePreview(scope.row)">{{ scope.row.category }}</a>
<a class="table-jump" @click.stop="handlePreview(scope.row)">{{ scope.row.category }}</a>
</template>
</el-table-column>
<el-table-column
@@ -79,129 +83,134 @@
</div>
</div>
</div>
<pagination :page="standCommonlySearch.page" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
<pagination :page="standCommonlySearch.page" :total="total" @pageChange="pageChange"
@pageSizeChange="pageSizeChange"></pagination>
<loading :loading="spinShow">数据加载中</loading>
</div>
</template>
<script>
export default {
name: 'standardForComments',
components: {
},
data () {
name: "standardForComments",
components: {},
data() {
return {
standCommonlySearch: {
categorg: '',
cname: '',
start: '',
end: '',
page: 1,
size: this.$store.getters.userInfo.configContent
},
spinShow: false,
standInfoList: [],
tableHeight: null,
total: 0
}
},
props: {
},
watch: {
standCommonlySearch: {
categorg: "",
cname: "",
start: "",
end: "",
page: 1,
size: this.$store.getters.userInfo.configContent
},
spinShow: false,
standInfoList: [],
tableHeight: null,
total: 0
};
},
props: {},
watch: {},
methods: {
//
handlePreview (item) {
this.$store.commit('setDetailMap',this.$router.path)
this.$router.push({
name: 'consultationDetails',
query: {
item: item
}
})
},
//
clearSearchStand () {
this.standCommonlySearch.page = 1
this.standCommonlySearch.start = ''
this.standCommonlySearch.end = ''
this.standCommonlySearch.categorg = ''
this.standCommonlySearch.cname = ''
this.sarStandCompareHis()
//
handlePreview(item) {
this.$store.commit("setDetailMap", this.$router.path);
this.$router.push({
name: "consultationDetails",
query: {
item: item
}
});
},
//
sarStandCompareHisInfo() {
this.splitInfoPage = 1
this.sarStandCompareHis()
},
//
sarStandCompareHis () {
this.spinShow = true
var form = this.standCommonlySearch
this.$http.get('slrs/sar-public-idea/SelectAllPage', form, {
_this: this
}, res => {
this.standInfoList = res.data.records
this.total = res.data.total
this.spinShow = false
}, e => {
})
},
pageChange (page) {
this.standCommonlySearch.page = page
this.sarStandCompareHis()
},
//
pageSizeChange (pageSize) {
this.$store.getters.userInfo.configContent = pageSize
this.standCommonlySearch.size = pageSize
this.sarStandCompareHis()
},
},
computed: {
},
mounted () {
this.sarStandCompareHis()
this.tableHeight = $('.content').height() - 44
window.onresize = () => {
this.tableHeight = $('.content').height() - 44
//
clearSearchStand() {
this.standCommonlySearch.page = 1;
this.standCommonlySearch.start = "";
this.standCommonlySearch.end = "";
this.standCommonlySearch.categorg = "";
this.standCommonlySearch.cname = "";
this.sarStandCompareHis();
},
//
sarStandCompareHisInfo() {
this.splitInfoPage = 1;
this.sarStandCompareHis();
},
//
sarStandCompareHis() {
this.spinShow = true;
var form = this.standCommonlySearch;
this.$http.get("slrs/sar-public-idea/SelectAllPage", form, {
_this: this
}, res => {
this.standInfoList = res.data.records;
this.total = res.data.total;
this.spinShow = false;
}, e => {
});
},
pageChange(page) {
this.standCommonlySearch.page = page;
this.sarStandCompareHis();
},
//
pageSizeChange(pageSize) {
this.$store.getters.userInfo.configContent = pageSize;
this.standCommonlySearch.size = pageSize;
this.sarStandCompareHis();
}
},
computed: {},
mounted() {
this.sarStandCompareHis();
this.tableHeight = $(".content").height() - 44;
window.onresize = () => {
this.tableHeight = $(".content").height() - 44;
};
}
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/mixins';
@import '~@/assets/styles/style';
.standardForComments {
height: 100%;
background: #fff;
.el-divider--horizontal {
display: block;
height: 1px;
width: 100%;
margin: 0;
}
.flex();
flex-direction: column;
.action-bar {
margin-bottom: 5px;
padding: 0;
}
.content {
flex: auto;
overflow: hidden;
display: flex;
flex-direction: column;
.table-wrap {
flex: auto;
overflow: hidden;
position: relative;
}
}
& > .pagination {
position: static;
/deep/.pagination-slot {
/deep/ .pagination-slot {
padding: 0;
}
}
+18
View File
@@ -339,6 +339,24 @@ const routes = [
title: '项目合规评估流程'
}
},
{
path: '/xmpg2Step1',
name: 'xmpg2Step1',
component: () => import('@/pages/processCenter/pages/creatProcess/xmpg2/step1.vue'),
meta: {
requireAuth: true,
title: '项目合规评估流程-项目'
}
},
{
path: '/xmpg2Step2',
name: 'xmpg2Step2',
component: () => import('@/pages/processCenter/pages/creatProcess/xmpg2/step2.vue'),
meta: {
requireAuth: true,
title: '项目合规评估流程-项目'
}
},
{
path: '/wfhxzgStep1',
name: 'wfhxzgStep1',
+1 -1
View File
@@ -7,7 +7,7 @@
// const devIp = '39.98.140.126'
// const devInterfacePORT = '10005'
// const devIp = '192.168.10.248'
const devIp = '192.168.1.102'
const devIp = '10.96.170.173'
const devInterfacePORT = '9999'
// 云端端口号
const DEV_CLOUD_RES_INTERFACE_PORT = '7777'
+1 -1
View File
@@ -86,7 +86,7 @@ module.exports = {
}
},
'/onlyOffice': {
target: 'http://172.20.10.2:8888',
target: 'http://10.96.10.171',
changeOrigin: true,
pathRewrite: {
'^/onlyOffice': '/api'