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

This commit is contained in:
zhutianqi
2021-07-22 13:59:31 +08:00
6 changed files with 359 additions and 52 deletions
+6 -6
View File
@@ -125,11 +125,11 @@ export default {
// // // title: '本地产品/项目库',
// // // path: '/localProductsOrProjectLibrary'
// // // },
// {
// title: '企业标准库',
// path: '/enterpriseStandardDatabase',
// menuId: '3YVZP8R4TC'
// },
{
title: '企业标准库',
path: '/enterpriseStandardDatabase',
menuId: '01ed8f752748227777b3572d56ee9ab5'
},
// {
// title: '企标制修订计划',
// path: '/enterBSysRevPlanManaLib',
@@ -303,7 +303,7 @@ export default {
{
title: '菜单管理',
path: '/menuManage',
menuId: '82665e94d406c6fc0d1f627e5880230b'
menuId: '87b8b4f5817a7829696e63185c744d52'
},
{
title: '链接管理',
+5 -3
View File
@@ -32,14 +32,16 @@
class="common-button-primary add-button"
@click="roleAdd"
v-btn-permission="'93e75b6ec0b2b6b0b40d2b11adeba88a'"
size="mini">配置角色资源</el-button>
size="mini">配置角色权限</el-button>
<el-button type="primary"
class="common-button-primary add-button"
@click="roleAddData"
v-btn-permission="'bb2571b08179edb36880aae169cb2e54'"
size="mini">配置数据权限</el-button>
<el-button type="primary"
class="common-button-primary add-button"
@click="RolesAdd(1)"
v-btn-permission="'3e0cee86b3522d4233df8f1f11ab02c7'"
size="mini">新增角色</el-button>
</div>
<div class="content">
@@ -93,8 +95,8 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '编辑']">编辑</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']">删除</el-dropdown-item>
<el-dropdown-item v-btn-permission="'38e362493fd7603dc7fddd1f3ac8971c'" :command="[scope.row, '编辑']">编辑</el-dropdown-item>
<el-dropdown-item v-btn-permission="'025368d14944c4c4c86da29109b5f383'" :command="[scope.row, '删除']">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -22,7 +22,7 @@ export default {
},
{
label:'标准清单发布/更新流程',
value: '6'
value: '4'
},
{
label: '项目合规评估流程',
@@ -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编码
@@ -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;
@@ -24,8 +24,8 @@
</el-row>
<el-row style="margin-top: 10px">
<el-col :span="5">项目经理: <span class="valueColor">{{ localProEO.projectManager }} </span></el-col>
<el-col :span="5" :push="1"> 项目计划开始时间: <span class="valueColor">{{ localProEO.projectStartDate}}</span></el-col>
<el-col :span="5" :push="2">项目计划完成时间: <span class="valueColor">{{localProEO.projectEndDate }} </span></el-col>
<el-col :span="5" :push="1"> 项目计划开始时间: <span class="valueColor">{{ $moment(localProEO.projectStartDate).format('YYYY-MM-DD')}}</span></el-col>
<el-col :span="5" :push="2">项目计划完成时间: <span class="valueColor">{{ $moment(localProEO.projectEndDate).format('YYYY-MM-DD') }} </span></el-col>
</el-row>
</div>
</el-card>
@@ -420,7 +420,7 @@ export default {
okStand() {
let _this = this;
if (this.standList.length < 1) {
_this.$message.warning("请选择需要添加进清单的数据");
_this.$message.warning("请选择标准");
} else {
for (let i=0;i<this.dataList.length;i++){
let newStand = false;