Authored by 王涛

853 业务视图下展示文档列表

... ... @@ -230,11 +230,23 @@
</div>
</div>
</div>
{{# }); }}
{{# if(d && d.list && d.list.length === 0){ }}
<div class="data-empty">暂无数据</div>
{{# } }}
{{# if(d && d.bizId){ }}
<div style="width: 99.5%;">
<div class="layui-card">
<div class="layui-card-header" style="background-color: #F2F2F2;font-size: 18px;font-weight: 700;text-align: center;line-height: 45px;color: #666;">{{d.bizName == undefined ? '' : d.bizName}}业务文档</div>
<div class="layui-card-body" style="border: 1px solid #ECE8E8;margin-bottom: 10px;border-radius: 3px;cursor: pointer;border-top: none;">
<iframe src="/vue3/index.html#/bus/doc?bizId={{d.bizId}}&bizName={{d.bizName}}" style="width:100%;height:500px;border: none;"/>
</div>
</div>
</div>
{{# } }}
</script>
<script type="text/html" id="biz-treetable-countTpl">
... ... @@ -340,4 +352,4 @@
layui.use('bizindex', function (fn) {
fn();
});
</script>
\ No newline at end of file
</script>
... ...
... ... @@ -70,13 +70,9 @@
<div class="select-all" v-if="isSelect">
<el-button type="primary" :size="$global.elementSize" @click="selectAll()" v-if="activeBtn == 'view'" >
{{selectText}}
</el-button>
</div>
<div style="text-align: right;width: 150px">
<el-button-group>
<el-button :size="$global.elementSize" :type="activeBtn == 'view' ? 'primary' : ''"
@click="activeModel('view')">
... ...
... ... @@ -28,6 +28,12 @@ export default {
type: String,
default: ''
},
// 是否虚拟,乙方运维文件夹节点是虚拟节点
// 业务视图管理文档不是虚拟的
checkAuth:{
type:Boolean,
default:true
},
fileIds: {
type: Array,
default: []
... ... @@ -172,38 +178,44 @@ export default {
}
let columns = Vue.ref([{
prop: 'fileName',
label: '文档名称',
sortable: true,
align: 'left',
click: function (row) {
getFile(row);
prop: 'fileName',
label: '文档名称',
sortable: true,
align: 'left',
click: function (row) {
getFile(row);
},
render: function (row) {
let cls = iconclass[row.type] == undefined ? 'icon-wenjian' : iconclass[row.type];
return `<div style="cursor: pointer"><i class="iconfont ${cls}" style="font-size: 22px;margin-right: 10px;"></i><span>${row.fileName}</span></div>`
}
},
render: function (row) {
let cls = iconclass[row.type] == undefined ? 'icon-wenjian' : iconclass[row.type];
return `<div style="cursor: pointer"><i class="iconfont ${cls}" style="font-size: 22px;margin-right: 10px;"></i><span>${row.fileName}</span></div>`
}
},
{
prop: 'createUser',
label: '提交人',
sortable: true,
width: '120px'
}, {
prop: 'createTime',
label: '提交时间',
sortable: true,
width: '180px'
}
/*,{
prop: 'handle',
label: '操作',
sortable: false,
width: '180px',
render: function (row) {
return `<i class="el-icon-plus " @click='handleView(row)'></i><i class="iconfont el-icon-download " @click='handleDownload(row)'></i><i class="iconfont el-icon-delete" @click='handleDelete(row)'></i>`
{
prop: 'fname',
label: '文档分类',
sortable: true,
width: '120px'
},
{
prop: 'createUser',
label: '提交人',
sortable: true,
width: '120px'
}, {
prop: 'createTime',
label: '提交时间',
sortable: true,
width: '180px'
}
}*/
/*,{
prop: 'handle',
label: '操作',
sortable: false,
width: '180px',
render: function (row) {
return `<i class="el-icon-plus " @click='handleView(row)'></i><i class="iconfont el-icon-download " @click='handleDownload(row)'></i><i class="iconfont el-icon-delete" @click='handleDelete(row)'></i>`
}
}*/
]);
// 表格数据
let dataList = Vue.ref([]);
... ... @@ -282,7 +294,8 @@ export default {
id: id,
name: keyWord.value,
types: props.types.join(','),
docIds: docIds
docIds: docIds,
checkAuth: props.checkAuth
}
let url = `/inspection-report/file/document/list`;
if (props.isRecycle) {
... ... @@ -581,10 +594,10 @@ export default {
*/
let searchFile = () => {
let keyWords = keyWord.value;
if (keyWords == '') {
proxy.$global.showMsg("请输入关键字!", "warning")
return;
}
// if (keyWords == '') {
// proxy.$global.showMsg("请输入关键字!", "warning")
// return;
// }
getPage('');
}
... ...
... ... @@ -98,6 +98,11 @@ const routes = [{
name: 'resList',
component: () => myImport('views/res/list/index')
},
{
path: '/bus/doc',
name: 'busDoc',
component: () => myImport('views/busDoc/index')
},
];
// hash模式: createWebHashHistory
... ...
<cm-document :isView="true"
:viewTypeId="docType"
:viewTypeName="docTypeName"
:types="[docType]"
:checkAuth="false"
:canAddFolder="true"></cm-document>
... ...
export default {
name: 'projectDOCndex',
template: '',
components: {},
data() {
return {}
},
props: {
// 文件类型
docType: {
type: String,
default: ''
},
// 文件类型
docTypeName: {
type: String,
default: '业务文档'
},
// 是否展示新建文件按钮
canAddFolder: {
type: Boolean,
default: true
},
},
setup(props, {attrs, slots, emit}) {
const {proxy} = Vue.getCurrentInstance();
let bizId = proxy.$global.getQueryVariable('bizId');
let bizName = proxy.$global.getQueryVariable('bizName')
if(!bizName){
bizName = "";
}
props.docTypeName = decodeURI(bizName) + "业务文档";
props.docType = bizId;
// 监听编辑状态
Vue.watch(() => props.treeNode, (newValue, oldVlaue) => {
});
// 挂载完
Vue.onMounted(() => {
})
return {}
}
}
... ...
... ... @@ -12,6 +12,7 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols
var common = layui.common;
var commonDetail = layui.commonDetail;
var busId = '';//当前业务Id
var busName = '';
var appId = '';
var curTreeNode = '';
var curBizResType = '';//当前业务所在的资源类型
... ... @@ -189,8 +190,10 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols
curTreeNode = node;
curBizResType = node.data.id;
if (node.data.code) {
busId = JSON.parse(node.data.code)["busId"];
appId = JSON.parse(node.data.code)["appId"];
var itemData = JSON.parse(node.data.code);
busId = itemData["busId"];
busName = itemData['busTypeName'];
appId = itemData["appId"];
}
var el = null;
if (node.data.children) {
... ... @@ -473,7 +476,7 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols
url: common.domainName + "/api-web/datavis/getResTotal/?busId=" + bizId
, done: function (res) {
if (res.data!=null){
laytpl($('#bizindexTpl').html()).render({list: res.data}, function (html) {
laytpl($('#bizindexTpl').html()).render({list: res.data,bizId:bizId,bizName:busName}, function (html) {
bizindexTable.html(html);
});
}else {
... ...
... ... @@ -193,7 +193,11 @@ const routes = [{
path: '/alarmsKnowledge',
name: 'alarmsKnowledge',
component: () => myImport('views/alarmsClearEditor/knowledge/index'),
}
},{
path: '/bus/doc',
name: 'busDoc',
component: () => myImport('views/busDoc/index')
},
];
// hash模式: createWebHashHistory
... ...