1、修复禅道bug

This commit is contained in:
pan 2024-09-08 23:11:17 +08:00
parent a1a3cec421
commit 937f2826f0
14 changed files with 189 additions and 79 deletions

View File

@ -12,9 +12,7 @@
{docRespDeptName} {docRespDeptName}
文档来源 文档来源
{docSourceName} {docSourceName}
关联工具 文档状态
{toolName}
上传状态
{statusName} {statusName}
创建时间 创建时间
{createTime} {createTime}

View File

@ -12,16 +12,8 @@
{toolRespDeptName} {toolRespDeptName}
状态 状态
{statusName} {statusName}
工具用途 流程状态
{toolUse} {recordStatusName}
测评情况 创建时间
{testSituation} {createTime}
功能描述
{functionDesc}
适用条件
{applyCondition}
操作说明
{operateExplain}
备注
{remark}
{/list} {/list}

View File

@ -68,7 +68,7 @@ export function getStatistics(query) {
export function getExportWordList(query) { export function getExportWordList(query) {
return request({ return request({
url: '/document/export/word/list', url: '/document/export/word/list',
method: 'get', method: 'post',
params: query data: query
}) })
} }

View File

@ -491,9 +491,11 @@ export default {
failCount++; failCount++;
} }
} }
this.$message.success('上传完成!成功:' + this.uploadedCount+',失败:' + failCount); setTimeout(function () {
this.progressFlag = false; self.$message.success('上传完成!成功:' + this.uploadedCount+',失败:' + failCount);
this.progressPercent = 0; self.progressFlag = false;
self.progressPercent = 0;
}, 500);
}, },
updateProgress() { updateProgress() {
if (this.uploadedCount === this.totalFiles) { if (this.uploadedCount === this.totalFiles) {

View File

@ -1,6 +1,6 @@
import Cookies from 'js-cookie' import Cookies from 'js-cookie'
const TokenKey = 'Admin-Token' const TokenKey = 'Admin-Token-Tool'
export function getToken() { export function getToken() {
return Cookies.get(TokenKey) return Cookies.get(TokenKey)

View File

@ -83,7 +83,7 @@
<div class="ltext"> <div class="ltext">
<div class="nt"><span class="name">{{repItem.nickName}}</span><span class="time">{{ parseTime(repItem.createTime, '{y}-{m}-{d} {h}:{i}') }}</span></div> <div class="nt"><span class="name">{{repItem.nickName}}</span><span class="time">{{ parseTime(repItem.createTime, '{y}-{m}-{d} {h}:{i}') }}</span></div>
<div class="te">{{repItem.content}}</div> <div class="te">{{repItem.content}}</div>
<!-- <div class="hb"><a class="btn" @click="toggleReplyFormSon(index,repIdex)"><i class="el-icon-chat-line-round"></i>回复</a></div> <div class="hb"><a class="btn" @click="toggleReplyFormSon(index,repIdex)"><i class="el-icon-chat-line-round"></i>回复</a></div>
<div class="pltextarea" v-if="item.showReplyFormSon[repIdex]"> <div class="pltextarea" v-if="item.showReplyFormSon[repIdex]">
<el-input type="textarea" v-model="item.replyContentSon[repIdex]" placeholder="请输入您的意见" :rows="2" maxlength="1000" show-word-limit></el-input> <el-input type="textarea" v-model="item.replyContentSon[repIdex]" placeholder="请输入您的意见" :rows="2" maxlength="1000" show-word-limit></el-input>
<div class="plbtn"> <div class="plbtn">
@ -91,7 +91,7 @@
<el-divider direction="vertical"></el-divider> <el-divider direction="vertical"></el-divider>
<el-button @click="submitReplySon(index,repIdex, item)">发布</el-button> <el-button @click="submitReplySon(index,repIdex, item)">发布</el-button>
</div> </div>
</div>--> </div>
</div> </div>
</div> </div>
</template> </template>
@ -414,15 +414,14 @@
}); });
self.cancelReplySon(parentIndex, repIndex) self.cancelReplySon(parentIndex, repIndex)
self.getDiscussionsList() self.getDiscussionsList()
//
this.$set(parentItem.replyContentSon, repIndex, '');
this.$set(parentItem.showReplyFormSon, repIndex, false);
}).catch(err =>{ }).catch(err =>{
console.error("submitReplySon==err==", err) console.error("submitReplySon==err==", err)
self.$modal.msgError("发布失败"); self.$modal.msgError("发布失败");
}); });
}) })
//
this.$set(parentItem.replyContentSon, repIndex, '');
this.$set(parentItem.showReplyFormSon, repIndex, false);
}, },
/** 回复 **/ /** 回复 **/
submitReply(index, item) { submitReply(index, item) {

View File

@ -86,17 +86,33 @@
</el-card> </el-card>
<el-card class="lrtt"> <el-card class="lrtt">
<div class="lt"> <div class="lt">
<el-input placeholder="请输入..." prefix-icon="el-icon-search"></el-input> <el-input
v-model="categoryNameParam"
placeholder="请输入部门名称"
clearable
size="small"
prefix-icon="el-icon-search"
style="margin-bottom: 20px"
/>
<!-- <el-input placeholder="请输入..." prefix-icon="el-icon-search"
clearable size="small" style="margin-bottom: 20px"
v-model="categoryNameParam"></el-input>-->
<div class="divide"></div><!--divide 分隔--> <div class="divide"></div><!--divide 分隔-->
<el-tree :data="docCategory" :props="docCategoryProps" @node-click="handleNodeClick"> <el-tree :data="docCategory" :props="docCategoryProps"
ref="tree" :expand-on-click-node="false"
:filter-node-method="filterNode"
node-key="id"
default-expand-all
highlight-current
@node-click="handleNodeClick">
<span class="custom-tree-node" slot-scope="{ node, data }"> <span class="custom-tree-node" slot-scope="{ node, data }">
<span>{{ node.label }}</span> <span>{{ node.label }}</span>
<el-dropdown> <el-dropdown>
<span class="el-dropdown-link"><i class="el-icon-more"></i></span> <span class="el-dropdown-link"><i class="el-icon-more"></i></span>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="handleDocCategoryAdd(data)"><i class="el-icon-plus"></i>添加</el-dropdown-item> <el-dropdown-item @click.native="handleDocCategoryAdd(data)"><i class="el-icon-plus"></i>添加</el-dropdown-item>
<el-dropdown-item v-if="data.types != 'system'" @@click.native="handleDocCategoryUpdate(data)"><i class="el-icon-edit"></i>编辑</el-dropdown-item> <el-dropdown-item v-if="data.types != 'system'" @click.native="handleDocCategoryUpdate(data)"><i class="el-icon-edit"></i>编辑</el-dropdown-item>
<el-dropdown-item v-if="data.types != 'system'" @@click.native="handleDocCategoryDelete(data)"><i class="el-icon-delete"></i>删除</el-dropdown-item> <el-dropdown-item v-if="data.types != 'system'" @click.native="handleDocCategoryDelete(data)"><i class="el-icon-delete"></i>删除</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</span> </span>
@ -120,7 +136,7 @@
</div><!--operate 操作按钮--> </div><!--operate 操作按钮-->
<el-table v-loading="loading" :data="docList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="docList" ref="tableRef" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="文档编号" prop="docCode" width="120" /> <el-table-column label="文档编号" prop="docCode" width="120" />
<el-table-column label="文档名称" prop="docName" :show-overflow-tooltip="true" /> <el-table-column label="文档名称" prop="docName" :show-overflow-tooltip="true" />
@ -209,8 +225,11 @@
<el-dialog :title="docCategoryTitle" :visible.sync="docCategoryOpen" width="50%" append-to-body> <el-dialog :title="docCategoryTitle" :visible.sync="docCategoryOpen" width="50%"
<el-form ref="docCategoryForm" :model="docCategoryForm" :rules="docCategoryRules" label-width="80px"> :close-on-press-escape="false" :close-on-click-modal="false"
:show-close="false" :wrapperClosable="false"
append-to-body>
<el-form ref="docCategoryFormRefs" :model="docCategoryForm" :rules="docCategoryRules" label-width="80px">
<el-form-item label="父分类" prop="parentId"> <el-form-item label="父分类" prop="parentId">
<treeselect v-model="docCategoryForm.parentId" :options="docCategory" :show-count="true" placeholder="如果不选择,默认为顶级节点" /> <treeselect v-model="docCategoryForm.parentId" :options="docCategory" :show-count="true" placeholder="如果不选择,默认为顶级节点" />
</el-form-item> </el-form-item>
@ -269,6 +288,7 @@
<el-dialog :title="exportTitle" :visible.sync="exportDrawerOpen" <el-dialog :title="exportTitle" :visible.sync="exportDrawerOpen"
:wrapperClosable="false" :wrapperClosable="false"
:modal-append-to-body="false" :show-close="false" :close-on-press-escape="false" :modal-append-to-body="false" :show-close="false" :close-on-press-escape="false"
v-loading="wordLoading" element-loading-text="正在下载数据,请稍候"
width="980px" append-to-body> width="980px" append-to-body>
<div class="el-form-border"> <div class="el-form-border">
<el-form ref="exportFrom" label-width="180px"> <el-form ref="exportFrom" label-width="180px">
@ -292,7 +312,7 @@
<el-checkbox label="docCode">文档编号</el-checkbox> <el-checkbox label="docCode">文档编号</el-checkbox>
<el-checkbox label="docName">文档名称</el-checkbox> <el-checkbox label="docName">文档名称</el-checkbox>
<el-checkbox label="docType">文档类别</el-checkbox> <el-checkbox label="docType">文档类别</el-checkbox>
<el-checkbox label="docPrincipals">负责人</el-checkbox> <el-checkbox label="docPrincipalsName">负责人</el-checkbox>
<el-checkbox label="docRespDeptName">归属单位</el-checkbox> <el-checkbox label="docRespDeptName">归属单位</el-checkbox>
<el-checkbox label="docSource">文档来源</el-checkbox> <el-checkbox label="docSource">文档来源</el-checkbox>
<el-checkbox label="docStatus">文档状态</el-checkbox> <el-checkbox label="docStatus">文档状态</el-checkbox>
@ -397,11 +417,17 @@ export default {
docPrincipals: '', docPrincipals: '',
docSource: '', docSource: '',
docStatus: '', docStatus: '',
docCategoryId: '',
createById: this.$store.getters.userId, createById: this.$store.getters.userId,
permissionCheck: true, permissionCheck: true,
downloadCheck:true downloadCheck:true
}, },
//
queryCategoryParams: {
pageNum: 1,
pageSize: 10,
docCategoryId: '',
categoryName: '',
},
// //
form: { form: {
docName: '', docName: '',
@ -444,7 +470,7 @@ export default {
loadingDownload: false, loadingDownload: false,
acceptType: "zip,rar,7z", acceptType: "zip,rar,7z",
// //
columnList: ['docCode', 'docName', 'docType', 'docPrincipals', 'docRespDeptName', 'docSource', 'docStatus', 'createTime'], columnList: ['docCode', 'docName', 'docType', 'docPrincipalsName', 'docRespDeptName', 'docSource', 'docStatus', 'createTime'],
checkList: [], checkList: [],
exportDrawerOpen: false, exportDrawerOpen: false,
docTitle: '', docTitle: '',
@ -475,8 +501,16 @@ export default {
docDetail: {}, docDetail: {},
detailDocOpen: false, detailDocOpen: false,
detailOpen: false, detailOpen: false,
categoryNameParam: undefined,
wordLoading: false,
}; };
}, },
watch: {
//
categoryNameParam(val) {
this.$refs.tree.filter(val);
}
},
created() { created() {
this.getList(); this.getList();
this.getDeptTree(); this.getDeptTree();
@ -529,6 +563,7 @@ export default {
this.dateRange = []; this.dateRange = [];
this.queryParams.docCategoryId = ''; this.queryParams.docCategoryId = '';
this.resetForm("queryForm"); this.resetForm("queryForm");
this.$refs.tree.setCurrentKey(null);
this.handleQuery(); this.handleQuery();
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
@ -634,17 +669,20 @@ export default {
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleDocCategoryUpdate(row) { handleDocCategoryUpdate(row) {
this.resetDocCategoryForm(); let self = this
self.docCategoryOpen = true;
self.$nextTick(() => {
self.resetDocCategoryForm();
})
const id = row.id; const id = row.id;
getCategory(id).then(response => { getCategory(id).then(response => {
this.docCategoryForm = response.data; self.docCategoryForm = response.data;
this.docCategoryOpen = true; self.docCategoryTitle = "修改文档资源分类";
this.docCategoryTitle = "修改文档资源分类";
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
docCategorySubmitForm() { docCategorySubmitForm() {
this.$refs["docCategoryForm"].validate(valid => { this.$refs["docCategoryFormRefs"].validate(valid => {
if (valid) { if (valid) {
if (this.docCategoryForm.id != null) { if (this.docCategoryForm.id != null) {
updateCategory(this.docCategoryForm).then(response => { updateCategory(this.docCategoryForm).then(response => {
@ -670,7 +708,12 @@ export default {
}, },
/** 重置 **/ /** 重置 **/
resetDocCategoryForm(){ resetDocCategoryForm(){
this.$refs.docCategoryForm.resetFields(); this.docCategoryForm = {
categoryName: null,
categoryDescription: null,
parentId: null
},
this.$refs.docCategoryFormRefs.resetFields();
}, },
/** /**
* 处理下载 * 处理下载
@ -772,6 +815,11 @@ export default {
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
let self = this let self = this
console.info("this.checkList.======", this.checkList)
if(this.checkList.length == 0){
this.$modal.msgWarning(`最少选择一个字段`);
return
}
if (this.statevalue == 1) { if (this.statevalue == 1) {
let excludeFields = this.columnList.filter(item=>!this.checkList.includes(item)) let excludeFields = this.columnList.filter(item=>!this.checkList.includes(item))
@ -787,7 +835,7 @@ export default {
excludeFields:excludeFields, excludeFields:excludeFields,
} }
} }
this.download('/document/export', params , `文档资源信息数据_${new Date().getTime()}.xlsx`) this.download('/document/export', params , `document_${new Date().getTime()}.xlsx`)
} }
if (this.statevalue == 2) { if (this.statevalue == 2) {
let params = { let params = {
@ -798,16 +846,30 @@ export default {
docIdList: self.selection.map(item=>item.docId) docIdList: self.selection.map(item=>item.docId)
} }
} }
self.wordLoading = true
getExportWordList(params).then(r => { getExportWordList(params).then(r => {
if (r.data.length != 0) { if (r.data.length != 0) {
const data = { const data = {
form: null, form: null,
list: r.data list: r.data
} }
exportDocx('document.docx', data, `document.docx`) exportDocx('document.docx', data, `document_${new Date().getTime()}.docx`)
setTimeout(() => {
if(self.batchExportFlag){
self.clearSelected()
}
self.wordLoading = false
self.exoportDrawerOpen = false;
}, 1000);
} else { } else {
self.wordLoading = false
self.exportDrawerOpen = false
this.$message.error('没有数据'); this.$message.error('没有数据');
} }
}).catch((err) => {
console.error("err=============", err)
self.wordLoading = false
self.exportDrawerOpen = false
}) })
} }
@ -834,6 +896,10 @@ export default {
break; break;
} }
}, },
clearSelected() {
// tab
this.$refs.tableRef.clearSelection();
},
/** 关闭详情 **/ /** 关闭详情 **/
handleFileCloseDetail(){ handleFileCloseDetail(){
this.fileDetailDrawerOpen = false; this.fileDetailDrawerOpen = false;

View File

@ -100,7 +100,10 @@
</el-card> </el-card>
<!-- 添加或修改部门对话框 --> <!-- 添加或修改部门对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="600px"
:close-on-press-escape="false" :close-on-click-modal="false"
:show-close="false" :wrapperClosable="false"
append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row> <el-row>
<el-col :span="24" v-if="form.parentId !== 0"> <el-col :span="24" v-if="form.parentId !== 0">
@ -112,7 +115,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="部门名称" prop="deptName"> <el-form-item label="部门名称" prop="deptName">
<el-input v-model="form.deptName" placeholder="请输入部门名称" /> <el-input v-model="form.deptName" placeholder="请输入部门名称" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -124,19 +127,19 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="负责人" prop="leader"> <el-form-item label="负责人" prop="leader">
<el-input v-model="form.leader" placeholder="请输入负责人" maxlength="20" /> <el-input v-model="form.leader" placeholder="请输入负责人" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="联系电话" prop="phone"> <el-form-item label="联系电话" prop="phone">
<el-input v-model="form.phone" placeholder="请输入联系电话" maxlength="11" /> <el-input v-model="form.phone" placeholder="请输入联系电话" maxlength="11" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="邮箱" prop="email"> <el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" /> <el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">

View File

@ -154,10 +154,13 @@
</el-card> </el-card>
<!-- 添加或修改角色配置对话框 --> <!-- 添加或修改角色配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px"
append-to-body :close-on-press-escape="false" :close-on-click-modal="false"
:show-close="false" :wrapperClosable="false"
append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="角色名称" prop="roleName"> <el-form-item label="角色名称" prop="roleName">
<el-input v-model="form.roleName" placeholder="请输入角色名称" /> <el-input v-model="form.roleName" placeholder="请输入角色名称" maxlength="50" show-word-limit/>
</el-form-item> </el-form-item>
<el-form-item prop="roleKey"> <el-form-item prop="roleKey">
<span slot="label"> <span slot="label">
@ -166,7 +169,7 @@
</el-tooltip> </el-tooltip>
权限字符 权限字符
</span> </span>
<el-input v-model="form.roleKey" placeholder="请输入权限字符" /> <el-input v-model="form.roleKey" placeholder="请输入权限字符" maxlength="70" show-word-limit/>
</el-form-item> </el-form-item>
<el-form-item label="角色顺序" prop="roleSort"> <el-form-item label="角色顺序" prop="roleSort">
<el-input-number v-model="form.roleSort" controls-position="right" :min="0" /> <el-input-number v-model="form.roleSort" controls-position="right" :min="0" />
@ -206,7 +209,10 @@
</el-dialog> </el-dialog>
<!-- 分配角色数据权限对话框 --> <!-- 分配角色数据权限对话框 -->
<el-dialog :title="title" :visible.sync="openDataScope" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="openDataScope" width="500px"
:close-on-press-escape="false" :close-on-click-modal="false"
:show-close="false" :wrapperClosable="false"
append-to-body>
<el-form :model="form" label-width="80px"> <el-form :model="form" label-width="80px">
<el-form-item label="角色名称"> <el-form-item label="角色名称">
<el-input v-model="form.roleName" :disabled="true" /> <el-input v-model="form.roleName" :disabled="true" />

View File

@ -188,7 +188,10 @@
</el-card> </el-card>
<!-- 添加或修改用户配置对话框 --> <!-- 添加或修改用户配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="600px"
:close-on-press-escape="false" :close-on-click-modal="false"
:show-close="false" :wrapperClosable="false"
append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
@ -294,7 +297,10 @@
</el-dialog> </el-dialog>
<!-- 用户导入对话框 --> <!-- 用户导入对话框 -->
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px"
:close-on-press-escape="false" :close-on-click-modal="false"
:show-close="false" :wrapperClosable="false"
append-to-body>
<el-upload <el-upload
ref="upload" ref="upload"
:limit="1" :limit="1"

View File

@ -96,15 +96,15 @@
</div><!--operate 操作按钮--> </div><!--operate 操作按钮-->
<el-table v-loading="loading" :data="toolList" ref="tableRef" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="toolList" ref="tableRef" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center"/> <el-table-column type="selection" width="50" align="center"/>
<el-table-column label="工具编号" key="toolCode" prop="toolCode" width="150px"/> <el-table-column label="工具编号" key="toolCode" prop="toolCode" width="150px" :show-overflow-tooltip="true"/>
<el-table-column label="工具名称" key="toolName" prop="toolName" :show-overflow-tooltip="true" width="150px"/> <el-table-column label="工具名称" key="toolName" prop="toolName" :show-overflow-tooltip="true" width="150px"/>
<el-table-column label="工具类别" key="toolType" prop="toolType" :show-overflow-tooltip="true" > <el-table-column label="工具类别" key="toolType" prop="toolType" :show-overflow-tooltip="true" >
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.tool_type" :value="scope.row.toolType"/> <dict-tag :options="dict.type.tool_type" :value="scope.row.toolType"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="负责人" key="toolPrincipalsName" prop="toolPrincipalsName" width="120" :show-overflow-tooltip="true"/>
<el-table-column label="归属单位" key="toolRespDeptName" prop="toolRespDeptName" :show-overflow-tooltip="true" /> <el-table-column label="归属单位" key="toolRespDeptName" prop="toolRespDeptName" :show-overflow-tooltip="true" />
<el-table-column label="负责人" key="toolPrincipalsName" prop="toolPrincipalsName" width="120" />
<el-table-column label="状态" align="center" key="status" > <el-table-column label="状态" align="center" key="status" >
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.tool_status" :value="scope.row.status"/> <dict-tag :options="dict.type.tool_status" :value="scope.row.status"/>
@ -162,7 +162,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<!-- && !scope.row.downloadStatus v-if="checkApplyUseBtn(scope.row)"--> <!-- && !scope.row.downloadStatus v-if="checkApplyUseBtn(scope.row)"-->
<el-button type="text" icon="el-icon-info" @click="applyUse(scope.row)" v-if="checkApplyUseBtn(scope.row)">申请使用</el-button> <el-button type="text" icon="el-icon-info" @click="applyUse(scope.row)" v-if="checkApplyUseBtn(scope.row)">申请使用</el-button>
<el-button type="text" icon="el-icon-info" @click="handleDetail(scope.row)">详情</el-button> <el-button type="text" icon="el-icon-info" @click="handleDetail(scope.row)" v-hasPermi="['tool:detail']">详情</el-button>
<el-button type="text" icon="el-icon-download" v-if="scope.row.downloadStatus" @click="handleFileDownload(scope.row)">下载</el-button> <el-button type="text" icon="el-icon-download" v-if="scope.row.downloadStatus" @click="handleFileDownload(scope.row)">下载</el-button>
<el-dropdown size="mini" v-if="selectable(scope.row)" @command="(command) => handleCommand(command, scope.row)"> <el-dropdown size="mini" v-if="selectable(scope.row)" @command="(command) => handleCommand(command, scope.row)">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right" >更多</el-button> <el-button size="mini" type="text" icon="el-icon-d-arrow-right" >更多</el-button>
@ -185,8 +185,11 @@
</el-card><!--el-card--> </el-card><!--el-card-->
<!-- 工具导出对话框 --> <!-- 工具导出对话框 -->
<el-dialog :title="exportTitle" :visible.sync="exoportDrawerOpen" width="980px" append-to-body :close-on-press-escape="false" :close-on-click-modal="false" <el-dialog :title="exportTitle" :visible.sync="exoportDrawerOpen" width="980px"
:show-close="false" :wrapperClosable="false"> append-to-body :close-on-press-escape="false" :close-on-click-modal="false"
:show-close="false" :wrapperClosable="false"
v-loading="wordLoading" element-loading-text="正在下载数据,请稍候"
>
<div class="el-form-border"> <div class="el-form-border">
<el-form ref="exportFrom" label-width="180px"> <el-form ref="exportFrom" label-width="180px">
<el-row> <el-row>
@ -212,12 +215,14 @@
<el-checkbox label="toolPrincipalsName">负责人</el-checkbox> <el-checkbox label="toolPrincipalsName">负责人</el-checkbox>
<el-checkbox label="toolRespDeptName">归属单位</el-checkbox> <el-checkbox label="toolRespDeptName">归属单位</el-checkbox>
<el-checkbox label="status">状态</el-checkbox> <el-checkbox label="status">状态</el-checkbox>
<el-checkbox label="toolUse">工具用途</el-checkbox> <el-checkbox label="recordStatus">流程状态</el-checkbox>
<el-checkbox label="testSituation">测评情况</el-checkbox> <el-checkbox label="createTime">创建时间</el-checkbox>
<!-- <el-checkbox label="toolUse">工具用途</el-checkbox>-->
<!-- <el-checkbox label="testSituation">测评情况</el-checkbox>
<el-checkbox label="functionDesc">功能描述</el-checkbox> <el-checkbox label="functionDesc">功能描述</el-checkbox>
<el-checkbox label="applyCondition">适用条件</el-checkbox> <el-checkbox label="applyCondition">适用条件</el-checkbox>
<el-checkbox label="operateExplain">操作说明</el-checkbox> <el-checkbox label="operateExplain">操作说明</el-checkbox>
<el-checkbox label="remark">备注</el-checkbox> <el-checkbox label="remark">备注</el-checkbox>-->
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -290,6 +295,7 @@ import AddDoc from './AddDoc'
import mainComponent from "@/components/mainComponent/index.vue"; import mainComponent from "@/components/mainComponent/index.vue";
import { exportDocx } from '@/utils/docUtil/docutil.js'; import { exportDocx } from '@/utils/docUtil/docutil.js';
import { addCount } from "@/api/tool/downloadCount"; import { addCount } from "@/api/tool/downloadCount";
import { Loading, Message } from 'element-ui'
export default { export default {
name: "User", name: "User",
@ -323,7 +329,8 @@ export default {
// //
deptOptions: undefined, deptOptions: undefined,
toolPrincipalsData: [], toolPrincipalsData: [],
columnList: ['toolName', 'toolType', 'toolSource', 'toolPrincipalsName', 'toolRespDeptName', 'status', 'toolUse', 'testSituation', 'functionDesc', 'applyCondition', 'operateExplain', 'remark'], //'toolUse', 'testSituation', 'functionDesc', 'applyCondition', 'operateExplain', 'remark'
columnList: ['toolName', 'toolType', 'toolSource', 'toolPrincipalsName', 'toolRespDeptName', 'status', 'recordStatus','createTime'],
checkList: [], checkList: [],
toolDetail: {}, toolDetail: {},
// //
@ -409,6 +416,7 @@ export default {
exportTitle:'', exportTitle:'',
batchExportFlag: false, batchExportFlag: false,
selectedRows: [], // selectedRows: [], //
wordLoading: false,
}; };
}, },
@ -623,6 +631,10 @@ export default {
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
let self = this let self = this
if(this.checkList.length == 0){
this.$modal.msgWarning(`最少选择一个字段`);
return
}
if (this.statevalue == 1) { if (this.statevalue == 1) {
let excludeFields = this.columnList.filter(item=>!this.checkList.includes(item)) let excludeFields = this.columnList.filter(item=>!this.checkList.includes(item))
let params = { let params = {
@ -637,7 +649,7 @@ export default {
excludeFields:excludeFields, excludeFields:excludeFields,
} }
} }
this.download('/tool/export',params, `工具信息数据_${new Date().getTime()}.xlsx`) this.download('/tool/export',params, `tool_${new Date().getTime()}.xlsx`)
setTimeout(() => { setTimeout(() => {
if(self.batchExportFlag){ if(self.batchExportFlag){
self.clearSelected() self.clearSelected()
@ -654,6 +666,8 @@ export default {
toolIdList: self.selection.map(item=>item.toolId) toolIdList: self.selection.map(item=>item.toolId)
} }
} }
self.wordLoading = true
//
exportWordList(params).then(r => { exportWordList(params).then(r => {
if (r.data.length != 0) { if (r.data.length != 0) {
const data = { const data = {
@ -661,16 +675,22 @@ export default {
list: r.data list: r.data
} }
//publicN //publicN
exportDocx('tool.docx', data, `tool.docx`) exportDocx('tool.docx', data, `tool_${new Date().getTime()}.docx`)
setTimeout(() => { setTimeout(() => {
if(self.batchExportFlag){ if(self.batchExportFlag){
self.clearSelected() self.clearSelected()
} }
self.wordLoading = false
self.exoportDrawerOpen = false; self.exoportDrawerOpen = false;
}, 1000); }, 1000);
} else { } else {
self.wordLoading = false
this.$message.error('没有数据'); this.$message.error('没有数据');
} }
}).catch((err) => {
console.error("err=============", err)
self.wordLoading = false
self.exoportDrawerOpen = false;
}) })
} }
@ -714,7 +734,7 @@ export default {
return return
} }
_this.$modal.confirm('删除后,该流程待办任务将会被删除,请谨慎操作。是否确认执行?') _this.$modal.confirm('该流程待办任务将会被撤销,请谨慎操作。是否确认执行?')
.then(async() => { .then(async() => {
_this.loading = true _this.loading = true
for (let row of list) { for (let row of list) {
@ -733,7 +753,7 @@ export default {
} }
await addTool(formData) await addTool(formData)
} }
_this.$modal.msgSuccess("删除成功"); _this.$modal.msgSuccess("撤销成功");
_this.loading = false _this.loading = false
_this.getList(); _this.getList();
}) })

View File

@ -109,7 +109,7 @@
<div class="ltext"> <div class="ltext">
<div class="nt"><span class="name">{{repItem.nickName}}</span><span class="time">{{ parseTime(repItem.createTime, '{y}-{m}-{d} {h}:{i}') }}</span></div> <div class="nt"><span class="name">{{repItem.nickName}}</span><span class="time">{{ parseTime(repItem.createTime, '{y}-{m}-{d} {h}:{i}') }}</span></div>
<div class="te">{{repItem.content}}</div> <div class="te">{{repItem.content}}</div>
<!-- <div class="hb"><a class="btn" @click="toggleReplyFormSon(index,repIdex)"><i class="el-icon-chat-line-round"></i>回复</a></div> <div class="hb"><a class="btn" @click="toggleReplyFormSon(index,repIdex)"><i class="el-icon-chat-line-round"></i>回复</a></div>
<div class="pltextarea" v-if="item.showReplyFormSon[repIdex]"> <div class="pltextarea" v-if="item.showReplyFormSon[repIdex]">
<el-input type="textarea" v-model="item.replyContentSon[repIdex]" placeholder="请输入您的意见" :rows="2" maxlength="1000" show-word-limit></el-input> <el-input type="textarea" v-model="item.replyContentSon[repIdex]" placeholder="请输入您的意见" :rows="2" maxlength="1000" show-word-limit></el-input>
<div class="plbtn"> <div class="plbtn">
@ -117,7 +117,7 @@
<el-divider direction="vertical"></el-divider> <el-divider direction="vertical"></el-divider>
<el-button @click="submitReplySon(index,repIdex, item)">发布</el-button> <el-button @click="submitReplySon(index,repIdex, item)">发布</el-button>
</div> </div>
</div>--> </div>
</div> </div>
</div> </div>
</template> </template>
@ -477,15 +477,14 @@
}); });
self.cancelReplySon(parentIndex, repIndex) self.cancelReplySon(parentIndex, repIndex)
self.getDiscussionsList() self.getDiscussionsList()
//
this.$set(parentItem.replyContentSon, repIndex, '');
this.$set(parentItem.showReplyFormSon, repIndex, false);
}).catch(err =>{ }).catch(err =>{
console.error("submitReplySon==err==", err) console.error("submitReplySon==err==", err)
self.$modal.msgError("发布失败"); self.$modal.msgError("发布失败");
}); });
}) })
//
this.$set(parentItem.replyContentSon, repIndex, '');
this.$set(parentItem.showReplyFormSon, repIndex, false);
}, },
handleBeforeClose() { handleBeforeClose() {
this.viewDialogOpen = false this.viewDialogOpen = false

View File

@ -437,7 +437,7 @@ export default {
if (_this.editStatus&&_this.form.toolCode&&_this.form.toolRespDept) { if (_this.editStatus&&_this.form.toolCode&&_this.form.toolRespDept) {
checkToolExist({toolId:_this.form.toolId,toolCode:_this.form.toolCode,toolRespDept:_this.form.toolRespDept}).then((response) => { checkToolExist({toolId:_this.form.toolId,toolCode:_this.form.toolCode,toolRespDept:_this.form.toolRespDept}).then((response) => {
if (response.data) { if (response.data) {
callback(new Error(_this.form.toolRespDeptName+"下已存在编号为"+_this.form.toolCode+'的工具,请勿重复添加!')) callback(new Error(_this.userInfo.dept.deptName+"下已存在编号为"+_this.form.toolCode+'的工具,请勿重复添加!'))
} else { } else {
callback() callback()
} }
@ -808,7 +808,7 @@ export default {
}, },
deleteForm(){ deleteForm(){
let _this = this let _this = this
_this.$modal.confirm('删除后,该流程待办任务将会被删除,请谨慎操作。是否确认执行?') _this.$modal.confirm('该流程待办任务将会被撤销,请谨慎操作。是否确认执行?')
.then(()=> { .then(()=> {
_this.loading = true _this.loading = true
let formData = { let formData = {
@ -826,7 +826,7 @@ export default {
} }
addTool(formData).then((res) => { addTool(formData).then((res) => {
if (res.code === 200) { if (res.code === 200) {
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("撤销成功");
this.close(true); this.close(true);
} }
}); });

View File

@ -9,7 +9,7 @@
</el-form-item> </el-form-item>
</div> </div>
<div class="sr"> <div class="sr">
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery" v-loading="loading">搜索</el-button>
<el-button icon="el-icon-refresh-left" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh-left" @click="resetQuery">重置</el-button>
</div> </div>
</div><!--search 搜索--> </div><!--search 搜索-->
@ -244,28 +244,37 @@ export default {
}, },
/** 查询列表 */ /** 查询列表 */
getListData() { getListData() {
this.loading = true; let self = this
this.postList = []; self.loading = true;
workflowToDoList(this.queryParams).then((response) => { self.postList = [];
if (this.activeName == "taskToDo") { workflowToDoList(self.queryParams).then((response) => {
if (self.activeName == "taskToDo") {
// //
this.statustotal = response.data.totalCount; self.statustotal = response.data.totalCount;
// this.$store.commit("SET_THINGNUMBER", response.data.totalCount || 0); // this.$store.commit("SET_THINGNUMBER", response.data.totalCount || 0);
this.total = response.data.totalCount; self.total = response.data.totalCount;
} }
if (this.activeName == "taskDealed") { if (self.activeName == "taskDealed") {
// //
this.doneTotal = response.data.totalCount; self.doneTotal = response.data.totalCount;
this.total = response.data.totalCount; self.total = response.data.totalCount;
} }
if (this.activeName == "taskFinish") { if (self.activeName == "taskFinish") {
// //
this.finishedTotal = response.data.totalCount; self.finishedTotal = response.data.totalCount;
this.total = response.data.totalCount; self.total = response.data.totalCount;
} }
this.postList = response.data.result; self.postList = response.data.result;
this.loading = false; setTimeout(function () {
self.loading = false;
}, 500);
}).catch(err => {
console.info("err=============", err)
setTimeout(function () {
self.loading = false;
}, 500);
}); });
}, },
// //