This commit is contained in:
hanjian 2024-09-04 22:16:33 +08:00
parent a96e1c7bd9
commit aca571fda1
10 changed files with 73 additions and 67 deletions

View File

@ -127,10 +127,11 @@ export function updateAuthRole(data) {
} }
// 查询部门下拉树结构 // 查询部门下拉树结构
export function deptTreeSelect() { export function deptTreeSelect(query) {
return request({ return request({
url: '/system/user/deptTree', url: '/system/user/deptTree',
method: 'get' method: 'get',
params: query
}) })
} }

View File

@ -2,6 +2,7 @@
<el-drawer <el-drawer
:wrapperClosable='false' :wrapperClosable='false'
size="65%" size="65%"
:modal="true"
:visible.sync="visible" :visible.sync="visible"
:show-close="false" :show-close="false"
:append-to-body="true" :append-to-body="true"
@ -33,8 +34,14 @@
let protocol = window.location.protocol let protocol = window.location.protocol
let hostname = window.location.hostname; let hostname = window.location.hostname;
let workflowManageUrl = protocol + '//' + hostname + ':9080' + process.env.VUE_APP_WORKFLOW_MANAGE_URL let workflowManageUrl = protocol + '//' + hostname + ':9080' + process.env.VUE_APP_WORKFLOW_MANAGE_URL
workflowManageUrl = 'http://124.223.108.21:9080/ebpm-process-manage'
this.src = workflowManageUrl + '/workflow/trace/traceProcess.do?processInstanceId=' + procInstId this.src = workflowManageUrl + '/workflow/trace/traceProcess.do?processInstanceId=' + procInstId
} }
} }
} }
</script> </script>
<style>
.el-drawer .el-drawer__body{
padding: 0px 0px !important;
}
</style>

View File

@ -1,5 +1,5 @@
<template> <template>
<component :is="dashboard" ref="component" :data="data" :dataType="dataType" @close="close"> <component :is="dashboard" ref="component" :data="data" :dataType="dataType" @close="close" style="padding: 16px 32px">
<slot></slot> <slot></slot>
</component> </component>
</template> </template>

View File

@ -25,18 +25,6 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8">
<el-form-item label="手机号码" prop="phonenumber">
<el-input
v-model="queryParams.phonenumber"
placeholder="请输入手机号码"
clearable
style="width: 200px"
size="mini"
@keyup.enter.native="getList"
/>
</el-form-item>
</el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
@ -177,6 +165,10 @@
open: { open: {
type: Boolean, type: Boolean,
default:false, default:false,
},
deptFilter: {
type: Boolean,
default:false,
} }
// value: { // value: {
// type: Object, // type: Object,
@ -191,9 +183,7 @@
}, },
data() { data() {
return { return {
loading: false, loading: false,
// open: false, // open: false,
activeName: 'first', activeName: 'first',
defaultProps: { defaultProps: {
@ -204,7 +194,7 @@
deptOptions: undefined, deptOptions: undefined,
deptName: '', deptName: '',
showSearch: true, showSearch: true,
userInfo: this.$store.getters.userInfo,
userList: [], userList: [],
allUserList: [], allUserList: [],
allUserMap: new Map(), allUserMap: new Map(),
@ -302,7 +292,8 @@
}, },
/** 查询部门下拉树结构 */ /** 查询部门下拉树结构 */
getDeptTree() { getDeptTree() {
deptTreeSelect().then(response => { let deptId = this.deptFilter ? this.userInfo.dept.deptId : ''
deptTreeSelect({deptId: deptId}).then(response => {
this.deptOptions = response.data; this.deptOptions = response.data;
}); });
}, },
@ -310,18 +301,15 @@
// checkedUsers ['admin','ry'] // checkedUsers ['admin','ry']
getAllUserList(checkedUsers = []) { getAllUserList(checkedUsers = []) {
// //
listUser({pageNum: 1,pageSize: 2147483647,status: "0"}).then(response => { let deptId = this.deptFilter ? this.userInfo.dept.deptId : ''
listUser({pageNum: 1, pageSize: 2147483647, status: "0", deptId: deptId}).then(response => {
this.allUserList = response.rows; this.allUserList = response.rows;
this.allUserMap = new Map(); this.allUserMap = new Map();
this.checkedUsers = checkedUsers; this.checkedUsers = checkedUsers;
this.allUserList.forEach(item => { this.allUserList.forEach(item => {
this.allUserMap.set(item.userName, item); this.allUserMap.set(item.userName, item);
}); });
this.updateCheckedUsers(); this.updateCheckedUsers();
// console.log(this.allUserList, this.allUserMap);
this.getList(); this.getList();
} }
); );
@ -329,6 +317,7 @@
/** 查询用户列表 */ /** 查询用户列表 */
getList() { getList() {
this.queryParams.deptId = this.deptFilter ? this.userInfo.dept.deptId : ''
listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => { listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.userList = response.rows; this.userList = response.rows;
// console.log(this.userList); // console.log(this.userList);

View File

@ -134,7 +134,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="关联工具" align="center" prop="toolName" width="100" /> <el-table-column label="关联工具" align="center" prop="toolName" width="100" />
<el-table-column label="上传状态" align="center" prop="docStatus" width="100" > <el-table-column label="文档状态" align="center" prop="docStatus" width="100" >
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.doc_upload_status" :value="scope.row.docStatus"/> <dict-tag :options="dict.type.doc_upload_status" :value="scope.row.docStatus"/>
</template> </template>

View File

@ -135,7 +135,7 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<!-- && !scope.row.downloadStatus--> <!-- && !scope.row.downloadStatus-->
<el-button type="text" icon="el-icon-info" v-if="scope.row.recordStatus=='done' && !scope.row.downloadStatus" @click="applyUse(scope.row)">申请使用</el-button> <el-button type="text" icon="el-icon-info" v-if="checkApplyUseBtn(scope.row)" @click="applyUse(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)">详情</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)">
@ -209,7 +209,7 @@
<el-drawer <el-drawer
:visible.sync="drawerShow" :visible.sync="drawerShow"
direction="rtl" direction="rtl"
size="90%" size="80%"
:with-header="false" :with-header="false"
:wrapperClosable="false" :wrapperClosable="false"
:show-close="false" :show-close="false"
@ -475,8 +475,15 @@ export default {
let _this = this let _this = this
_this.handleOpen({...row,type:'use_apply',procInstId:undefined}) _this.handleOpen({...row,type:'use_apply',procInstId:undefined})
}, },
submitApply(){ checkApplyUseBtn(row){
let result = false;
if(row.recordStatus=='done' && !row.downloadStatus){
result = true;
}
if(row.isHasApplyUse){
result = false;
}
return result;
}, },
/**=============================申请使用End================================*/ /**=============================申请使用End================================*/
/** 搜索按钮操作 */ /** 搜索按钮操作 */

View File

@ -72,20 +72,6 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="12">
<el-form-item label="负责人" prop="toolPrincipals">
<el-input v-if="editStatus" v-model="form.toolPrincipalsName" placeholder="请选择负责人" maxlength="11" @focus="toolPrincipalsChoose = true"/>
<span v-else>{{form.toolPrincipalsName}}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="归属部门" prop="toolRespDept">
<treeselect :disabled="!editStatus" v-model="form.toolRespDept" :options="deptOptions" @select="handleSelectNode" :show-count="true" placeholder="请选择归属部门" />
</el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="工具来源" prop="toolSource"> <el-form-item label="工具来源" prop="toolSource">
@ -134,6 +120,21 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="12">
<el-form-item label="负责人" prop="toolPrincipals">
<el-input v-if="editStatus" v-model="form.toolPrincipalsName" placeholder="请选择负责人" maxlength="11" @focus="toolPrincipalsChoose = true"/>
<span v-else>{{form.toolPrincipalsName}}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="归属部门">
{{userInfo.dept.deptName}}
<!-- <treeselect :disabled="!editStatus" v-model="form.toolRespDept" :options="deptOptions" @select="handleSelectNode" :show-count="true" placeholder="请选择归属部门" />-->
</el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="测试情况" prop="testSituation"> <el-form-item label="测试情况" prop="testSituation">
@ -282,7 +283,7 @@
ref="monitorDrawer" ref="monitorDrawer"
></monitor-drawer> ></monitor-drawer>
<tool-selector ref="toolSelect" @selectHandle="selectHandle"></tool-selector> <tool-selector ref="toolSelect" @selectHandle="selectHandle"></tool-selector>
<bl-user-selector ref="peopleSelect" :type="'single'" :isCheck="true" :open="toolPrincipalsChoose" @cancel="toolPrincipalsChoose=false" @submit="submitPeople"></bl-user-selector> <bl-user-selector ref="peopleSelect" :type="'single'" :isCheck="true" :open="toolPrincipalsChoose" :deptFilter="true" @cancel="toolPrincipalsChoose=false" @submit="submitPeople"></bl-user-selector>
<el-dialog :title="viewDialogTitle" :visible.sync="viewDialogOpen" fullscreen width="500px" append-to-body :before-close="handleBeforeClose"> <el-dialog :title="viewDialogTitle" :visible.sync="viewDialogOpen" fullscreen width="500px" append-to-body :before-close="handleBeforeClose">
@ -382,14 +383,13 @@ export default {
{ required: true, message: "负责人不能为空", trigger: "blur" } { required: true, message: "负责人不能为空", trigger: "blur" }
], ],
toolRespDept: [ toolRespDept: [
{ required: true, message: "请选择归属部门", trigger: "blur" } { required: true, message: "请选择归属部门", trigger: "change" }
], ],
toolSource: [ toolSource: [
{ required: true, message: "请输入工具来源", trigger: "blur" }, { required: true, message: "请选择工具来源", trigger: "change" }
{ max: 50, message: '工具来源不能超过50个字', trigger: 'blur' }
], ],
toolType: [ toolType: [
{ required: true, message: "请选择工具类别", trigger: "blur" } { required: true, message: "请选择工具类别", trigger: "change" }
], ],
toolUse: [ toolUse: [
{ required: true, message: "请输入工具用途", trigger: "blur" }, { required: true, message: "请输入工具用途", trigger: "blur" },
@ -405,10 +405,10 @@ export default {
{ required: true, message: "请输入适用条件", trigger: "blur" }, { required: true, message: "请输入适用条件", trigger: "blur" },
], ],
operateExplain: [ operateExplain: [
{ required: true, message: "请选择状态", trigger: "blur" }, { required: true, message: "请输入操作说明", trigger: "blur" },
], ],
status: [ status: [
{ required: true, message: "请输入操作说明", trigger: "blur" }, { required: true, message: "请选择状态", trigger: "change" },
], ],
}, },
kuozhanshuju: {}, kuozhanshuju: {},
@ -584,6 +584,7 @@ export default {
formData.recordStatus = "draft"; formData.recordStatus = "draft";
formData.editStatus = _this.editStatus formData.editStatus = _this.editStatus
formData.association = JSON.stringify(_this.form.association) formData.association = JSON.stringify(_this.form.association)
formData.toolRespDept = _this.userInfo.dept.deptId
if (formData.toolId) { if (formData.toolId) {
this.$set(formData,'documentList',_this.docList) this.$set(formData,'documentList',_this.docList)
updateTool(formData).then((res) => { updateTool(formData).then((res) => {

View File

@ -8,10 +8,9 @@
</div> </div>
<div class="cell-btn"> <div class="cell-btn">
<el-button type="primary" v-if="pListData&&pListData.procInstId" @click="handleMonitor">流程监控</el-button> <el-button type="primary" v-if="pListData&&pListData.procInstId" @click="handleMonitor">流程监控</el-button>
<el-button v-if="editStatus&&pListData.procInstId" type="danger" @click="deleteForm">撤销</el-button> <el-button v-if="editStatus&&pListData.procInstId" type="danger" @click="deleteForm" icon="el-icon-close">撤销</el-button>
<el-button v-if="(editStatus||workflowStatus)" type="primary" @click="submitForm">提交</el-button> <el-button v-if="(editStatus||workflowStatus)" type="primary" @click="submitForm" icon="el-icon-finished">提交</el-button>
<el-button v-if="editStatus" type="primary" @click="saveForm" >保存</el-button> <el-button @click="close" icon="el-icon-close">关闭</el-button>
<el-button @click="close">关闭</el-button>
</div> </div>
</div> </div>
<template v-if="attributeModelBool('approve') && workflowStatus"> <template v-if="attributeModelBool('approve') && workflowStatus">
@ -59,9 +58,8 @@
<div> <div>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="申请人" prop="userId"> <el-form-item label="申请人">
<el-input v-if="editStatus" v-model="form.nickName" placeholder="请输入申请人" @focus="toolPrincipalsChoose = true"/> <span>{{form.nickName}}</span>
<span v-else>{{form.nickName}}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -99,19 +97,25 @@
<el-form-item label="负责人">{{applyToolDetail ? applyToolDetail.toolPrincipalsName:''}}</el-form-item> <el-form-item label="负责人">{{applyToolDetail ? applyToolDetail.toolPrincipalsName:''}}</el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="归属部门">{{applyToolDetail ? applyToolDetail.toolRespDept:''}}</el-form-item> <el-form-item label="归属部门">{{applyToolDetail ? applyToolDetail.toolRespDeptName:''}}</el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="工具来源">{{applyToolDetail ? applyToolDetail.toolSource:''}}</el-form-item> <el-form-item label="工具来源">
<dict-tag :options="dict.type.tool_source" :value="applyToolDetail.toolSource"/>
</el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="工具用途">{{applyToolDetail ? applyToolDetail.toolUse:''}}</el-form-item> <el-form-item label="工具用途">{{applyToolDetail ? applyToolDetail.toolUse:''}}</el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="工具类别">{{applyToolDetail ? applyToolDetail.toolType:''}}</el-form-item> <el-form-item label="工具类别">
<dict-tag :options="dict.type.tool_type" :value="applyToolDetail.toolType"/>
</el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="状态">{{applyToolDetail ? applyToolDetail.status:''}}</el-form-item> <el-form-item label="状态">
<dict-tag :options="dict.type.tool_status" :value="applyToolDetail.status"/>
</el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="测试情况">{{applyToolDetail ? applyToolDetail.testSituation:''}}</el-form-item> <el-form-item label="测试情况">{{applyToolDetail ? applyToolDetail.testSituation:''}}</el-form-item>
@ -182,7 +186,7 @@ import blUserSelector from '@/components/user-selector/src/user-selector.vue'
import { getTool } from "@/api/tool/tool"; import { getTool } from "@/api/tool/tool";
// PDF // PDF
export default { export default {
dicts: ['sys_normal_disable','tool_type'], dicts: ['sys_normal_disable','tool_type', 'tool_source', 'tool_status'],
components: { components: {
blUserSelector, blUserSelector,
Treeselect, AddDoc, Treeselect, AddDoc,

View File

@ -186,7 +186,6 @@ export default {
}, },
created() { created() {
this.getOptionsList(); this.getOptionsList();
console.log("xuanren", this.pListData);
if (this.pListData.procDefKey != "") { if (this.pListData.procDefKey != "") {
this.procDefKey = this.pListData.procDefKey; this.procDefKey = this.pListData.procDefKey;
} }
@ -338,14 +337,12 @@ export default {
}, },
processNodeClick2(val) { processNodeClick2(val) {
let _this = this let _this = this
console.log("业务数据====>", this.pListData);
if (this.nextData != "") { if (this.nextData != "") {
if (val.actDefName == this.nextData.actDefName) { if (val.actDefName == this.nextData.actDefName) {
return; return;
} }
} }
this.nextData = val; this.nextData = val;
console.log("nextData", this.nextData);
this.userList = []; // this.userList = []; //
this.receiveUserList = []; // this.receiveUserList = []; //
let params = { let params = {

View File

@ -1,5 +1,5 @@
<template> <template>
<main-component ref="mainComponent" :code="code" :data="data" @close="handleCloseChange" class="iframe-drawer"></main-component> <main-component ref="mainComponent" :code="code" :data="data" @close="handleCloseChange" class="iframe-drawer" style="padding: 16px 32px"></main-component>
</template> </template>
<script> <script>