合并分支 'zhoulingpo' 到 'master'

Zhoulingpo

查看合并请求 faw-report-library/faw-report-library-web!5
This commit is contained in:
李雪涛
2023-05-08 16:19:50 +08:00
31 changed files with 1155 additions and 103 deletions
+1
View File
@@ -22,6 +22,7 @@
"quill-image-drop-module": "^1.0.3",
"quill-image-extend-module": "^1.1.2",
"quill-image-resize-module": "^3.0.0",
"svg-sprite-loader": "^6.0.11",
"uuid": "^3.4.0",
"vue": "^2.6.11",
"vue-axios": "^3.4.0",
+37
View File
@@ -1,6 +1,7 @@
import { instance as request } from '@/utils/request'
export default {
//外层
addDic (data) {
return request({
url: '/api/sys/dict/add',
@@ -29,4 +30,40 @@ export default {
params:data
})
},
//内层
addItemDic (data) {
return request({
url: '/api/sys/dictItem/add',
method: 'post',
data
})
},
editItemDic (data) {
return request({
url: '/api/sys/dictItem/edit',
method: 'put',
data
})
},
getItemDic (data) {
return request({
url: '/api/sys/dictItem/page',
method: 'get',
params:data
})
},
delItemDic (data) {
return request({
url: '/api/sys/dictItem/delete',
method: 'delete',
params:data
})
},
// 获取字典值
getCode(data) {
return request({
url: '/api/sys/dictItem/'+data,
method: 'get',
})
}
}
+35
View File
@@ -0,0 +1,35 @@
import { instance as request } from '@/utils/request'
export default {
// 新增|编辑
sysOrgAddUser (data) {
return request({
url: '/api/sys/org/saveOrUpdate',
method: 'POST',
data
})
},
// // 用户启用或禁用
// sysUserIsUse (data) {
// return request({
// url: `/api/sys/user/isUse/${data.USID}/${data.type}`,
// method: 'POST'
// })
// },
// 获取所有部门
sysOrgList (data) {
return request({
url: '/api/sys/org/page',
method: 'POST',
data
})
},
// 删除部门
sysOrgDelete (data) {
return request({
url: '/api/sys/org/delete',
method: 'POST',
params: data
})
}
}
+1
View File
@@ -86,6 +86,7 @@ export default {
this.$store.commit('saveUserInfo', null)
this.$store.commit('setHandleProcess', null)
this.$store.commit('savePathUrl', null)
this.$store.commit('removeDicts', null)
// var sevice = "http://"+window.location.host+"/";
// var serviceUrl = encodeURIComponent(sevice);
// 正式
+13 -1
View File
@@ -9,9 +9,21 @@
return {
processTypeList: [
{
label: '权限申请流程',
label: '下载申请流程',
value: '1'
},
{
label: '预览申请流程',
value: '2'
},
{
label: '预览+下载申请流程',
value: '3'
},
{
label: '上传审批流程',
value: '4'
},
],
formDisableFlag: false,
nowOrder: '',
+43
View File
@@ -0,0 +1,43 @@
<template>
<svg :class="svgClass" aria-hidden="true" v-on="$listeners">
<use :xlink:href="iconName" />
</svg>
</template>
<script>
export default {
name: 'SvgIcon',
props: {
iconClass: {
type: String,
required: true
},
className: {
type: String,
default: ''
}
},
computed: {
iconName() {
return `#icon-${this.iconClass}`
},
svgClass() {
if (this.className) {
return 'svg-icon ' + this.className
} else {
return 'svg-icon'
}
}
}
}
</script>
<style scoped>
.svg-icon {
width: 1em;
height: 1em;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
}
</style>
+58
View File
@@ -0,0 +1,58 @@
// 混入字典方法 做到按需加载
import interfaces from "@/api/modules/dictionary";
import store from "@/store";
import Vue from "vue";
class Dict {
constructor(dict) {
this.dict = dict;
}
async init(names) {
const ps = [];
names.forEach((name) => {
if (store.getters.dicts[name]) {
Vue.set(this.dict, name, store.getters.dicts[name]);
} else {
Vue.set(this.dict, name, []);
ps.push(
interfaces.getCode(name).then((res) => {
this.dict[name] = Object.freeze(res.data);
store.dispatch('setDicts_a', {
label: name,
value: Object.freeze(res.data),
})
})
);
}
});
await Promise.all(ps);
}
}
const install = function (Vue) {
Vue.mixin({
data() {
if (
this.$options.dicts instanceof Array &&
this.$options.dicts.length > 0
) {
return { dict: {} };
} else {
return {};
}
},
created() {
if (
this.$options.dicts instanceof Array &&
this.$options.dicts.length > 0
) {
new Dict(this.dict).init(this.$options.dicts);
}
},
});
};
export default { install };
+9
View File
@@ -0,0 +1,9 @@
import Vue from 'vue'
import SvgIcon from '@/components/SvgIcon'// svg component
// register globally
Vue.component('svg-icon', SvgIcon)
const req = require.context('./svg', false, /\.svg$/)
const requireAll = requireContext => requireContext.keys().map(requireContext)
requireAll(req)
+1
View File
@@ -0,0 +1 @@
<svg t="1683517822452" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3424" width="200" height="200"><path d="M194.792475 478.69343c16.167215 0 29.330002-13.163811 29.330002-29.346375 0-16.092513-13.015432-29.212322-29.801746-29.212322-0.086981 0-0.177032 0-0.264013 0l-60.606333 0.177032c-1.560542-0.206708-3.149736-0.325411-4.76963-0.325411-21.291932 0-38.636972 17.537422-38.636972 39.09439l-0.323365 423.853427c0 21.645996 16.9613 38.578644 38.636972 38.578644l1.677199 0.057305c0.707105 0.029676 1.385557 0.059352 2.032286 0.059352 0.823761 0 1.64957-0.029676 1.826602-0.11768l59.926858 0.086981c0.559748 0 1.001817-0.11768 1.089821-0.11768 0 0-0.029676 0-0.116657 0.057305l3.76986-0.147356 0-0.382717c13.517875-2.236947 23.64656-13.84124 23.64656-27.799136 0-13.987572-10.129708-25.589818-23.64656-27.828812l0-0.766456-49.827849 0 1.413186-385.92356L194.792475 478.69036z" fill="#231F20" p-id="3425"></path><path d="M918.228001 436.301947c-18.199501-29.66974-45.204551-44.821835-82.22163-46.322002-1.883907-0.25071-3.799536-0.412392-5.77247-0.412392l-195.744149-0.648776c13.398148-40.359196 20.732184-83.750449 20.732184-122.740462 0-27.255761-3.00545-54.686507-8.894577-81.543178l-1.206478-3.196809-0.089028 0.01535c-12.161994-46.837748-53.477982-79.259158-101.626585-79.259158-55.393611 0-97.18032 46.248324-97.18032 107.576087l-0.059352 3.047406c-0.057305 2.222621-0.116657 4.40124 0.059352 6.16849-2.796696 101.715613-83.869153 187.397041-188.559517 199.324698l-3.358491 0.36839-0.76441 274.43128 0 228.491994 13.930267 0.005117 0.587378 0.11154 3.179412-0.027629 0.01535-0.081864 485.653959 0.198521 8.685823-0.236384c19.84907 0 31.038924-5.03569 48.621371-16.344247 16.22452-10.482749 29.359678-25.266453 37.751812-42.316781 2.562359-3.76986 4.418636-7.862062 5.565762-12.251022l75.30101-336.657506c1.089821-4.225231 1.472538-8.643867 1.149173-12.56006C935.660023 478.42737 930.212964 455.900308 918.228001 436.301947zM879.148961 488.807788l-0.912789 3.799536 0.295735 0.074701-80.129992 355.2387-0.148379 0.353041c-2.296299 5.536087-6.15314 10.160407-11.101849 13.340843-3.415796 2.209318-7.185656 3.622504-11.161201 4.239558-0.470721-0.057305-0.941442-0.057305-1.413186-0.057305l-3.03308 0.086981-462.84344-0.530073-0.177032-392.299781c79.540567-35.986609 148.155295-73.959455 183.080735-167.79868l0.295735 0.074701 1.119497-3.328815c3.709485-11.263531 6.596232-22.350031 8.598842-32.909527 5.447059-28.577872 5.212722-56.422034 5.183046-58.041928-1.766226-13.502525 1.206478-24.738427 8.80555-33.394574 8.598842-9.777691 21.673625-14.151301 30.744211-14.151301 22.586414 0.766456 45.526893 30.966269 45.61592 48.163953 0.029676 0.26606 5.38873 26.945699 5.418406 55.186903 0.057305 27.65178-2.651386 45.277206-3.858888 51.828412l-0.500397 0-0.589424 3.062755c-5.595438 29.522384-15.518438 57.794287-29.41903 84.003206l-0.972141 2.856048 0.118704 0.132006c-1.885953 4.696975-2.856048 9.643638-2.856048 14.709003 0 25.032116 27.121707 25.032116 41.697681 25.032116l233.381351 0.264013 7.15598 0.221034c1.266853 0.045025 2.503007 0.089028 3.592828 0.118704l0 0.425695 5.538133-0.248663c10.453073 0 19.937075 5.344728 25.412786 14.296611C880.709503 471.080032 881.829 480.283648 879.148961 488.807788z" fill="#231F20" p-id="3426"></path></svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

+1
View File
@@ -0,0 +1 @@
<svg t="1683517728690" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2927" width="200" height="200"><path d="M64 483.04V872c0 37.216 30.144 67.36 67.36 67.36H192V416.32l-60.64-0.64A67.36 67.36 0 0 0 64 483.04zM857.28 344.992l-267.808 1.696c12.576-44.256 18.944-83.584 18.944-118.208 0-78.56-68.832-155.488-137.568-145.504-60.608 8.8-67.264 61.184-67.264 126.816v59.264c0 76.064-63.84 140.864-137.856 148L256 416.96v522.4h527.552a102.72 102.72 0 0 0 100.928-83.584l73.728-388.96a102.72 102.72 0 0 0-100.928-121.824z" p-id="2928" fill="#13227a"></path></svg>

After

Width:  |  Height:  |  Size: 603 B

+3 -2
View File
@@ -35,13 +35,14 @@ import VueQuillEditor from 'vue-quill-editor'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
import dict from '@/components/dict'
import './icon'
VXETable.setup({
table: {
resizable: true
}
})
Vue.use(dict);
Vue.use(VXETable)
Vue.use(VueQuillEditor)
Vue.use(ElementUI, { size: 'mini', zIndex: 3000 })
+9
View File
@@ -32,6 +32,15 @@ const routes = [
crumb: ['角色管理']
}
},
// 组织机构管理
{
path: 'Org',
name: 'Org',
component: () => import('../../views/System/Org.vue'),
meta: {
crumb: ['组织机构管理']
}
},
// // 角色管理
// {
// path: 'mail',
+15 -3
View File
@@ -14,7 +14,8 @@ export default new Vuex.Store({
menuName: '',
activeTab: '',
handleProcess: '',
marketpre:''
marketpre:'',
dicts:{}
},
getters: {
marketpre: (state) => state.marketpre,
@@ -22,9 +23,16 @@ export default new Vuex.Store({
menuName: (state) => state.menuName,
userInfo: (state) => state.userInfo,
activeTab: (state) =>state.activeTab,
handleProcess: (state) =>state.handleProcess
handleProcess: (state) =>state.handleProcess,
dicts: (state) =>state.dicts
},
mutations: {
setDicts(state, obj) {
state.dicts[obj.label] = obj.value;
},
removeDicts(state, obj) {
state.dicts = {}
},
setMarketpre(state, data){
state.marketpre = data
},
@@ -53,7 +61,11 @@ export default new Vuex.Store({
state.menuName = data
}
},
actions: {},
actions: {
setDicts_a({ commit }, obj) {
commit('setDicts', obj)
},
},
modules: {},
plugins: [createPersistedState()]
})
+2
View File
@@ -82,6 +82,7 @@ instance.interceptors.response.use(function (response) {
if (error.response.data.status == 401) {
store.commit('savePathUrl', null)
store.commit('setHandleProcess', null)
store.commit('removeDicts', null)
router.push('/login')
Message.error('登录超时过期')
// window.open(BASE_URL.BASE_CHANGAN + "/logout?service=" + BASE_URL.BASE_LOCAL + "/login?loginType=1", '_self');
@@ -95,6 +96,7 @@ instance.interceptors.response.use(function (response) {
if (error.response.status === 500) {
store.commit('savePathUrl', null)
store.commit('setHandleProcess', null)
store.commit('removeDicts', null)
router.push('/login')
Message.error('登录超时过期')
// window.open(BASE_URL.BASE_CHANGAN + "/logout?service=" + BASE_URL.BASE_LOCAL + "/login?loginType=1", '_self');
+2 -1
View File
@@ -22,11 +22,12 @@ Vue.directive('watermark', {
can.style.display = 'none'
const cans = can.getContext('2d')
cans.rotate(-20 * Math.PI / 180)
cans.font = font || '13px Microsoft Yahei'
cans.font = font || '13px Helvetica Neue'
cans.fillStyle = textColor || 'rgba(100, 100, 100, 0.2)'
cans.textAlign = 'left'
cans.textBaseline = 'Middle'
cans.fillText(str, fillTextX, can.height)
console.log(cans)
// 设置背景图(整个项目中都添加水印建议使用此方法)
// parentNode.style.backgroundImage = "url(" + can.toDataURL("image/png") + ")";
+113 -1
View File
@@ -7,6 +7,10 @@
</div>
<div class="desc">
<el-row>
<el-col :span="24" class="desc-item">
<label>上传人</label>
<div>{{ row.createUserName }}</div>
</el-col>
<el-col :span="24" class="desc-item">
<label>关键词</label>
<div>{{ getKeyContent(row.keyContent) }}</div>
@@ -19,6 +23,14 @@
<label>所属部门</label>
<div>{{ row.department || '-' }}</div>
</el-col>
<el-col :span="24" class="desc-item">
<label>报告涉密等级</label>
<div>{{ row.confidentialLevel || '-' }}</div>
</el-col>
<el-col :span="24" class="desc-item">
<label>标签</label>
<div>{{ row.labelList || '-' }}</div>
</el-col>
</el-row>
</div>
<div class="report-download">
@@ -28,6 +40,43 @@
<div class="preview-box" v-watermark="{ text: watermarkText }">
<div class="preview-content" v-html="content"></div>
</div>
<div class="report-jug">
<div class="report-jug-left">
报告满意度:<el-rate allow-half :max="10" v-model="value1" @click="saveScore"></el-rate>
</div>
<div class="pointclick">
<svg-icon v-if="!isShow" icon-class="pointe" @click="isShow=!isShow" class-name="icon" ></svg-icon>
<svg-icon v-else icon-class="pointe_fill" @click="isShow=!isShow" class-name="icon" ></svg-icon>
</div>
</div>
<div class="juggle_box showLimit">
<el-row >
<el-col :span="1">
<span>评论</span>
</el-col>
<el-col :span="21">
<el-input type="textarea" v-model="juggle" maxlength="1000" show-word-limit></el-input>
</el-col>
<el-col :span="2">
<el-button size="medium" type="primary" class="fabiaoBtn" @click="">发表评论</el-button>
</el-col>
</el-row>
<div class="all_juggle">
<div class="juggle_left">sss</div>
<div class="juggle_right">
<div class="content">ssss</div>
<div class="bottom">
<div class="time">time</div>
<el-button class="delbtn" size="medium" plain type="primary" @click="">删除</el-button>
</div>
</div>
</div>
</div>
<div>
</div>
</div>
</template>
@@ -39,6 +88,8 @@ export default {
name: 'ReportDetail',
data () {
return {
isShow: false,
value1:'',
watermarkText: '', // 水印
content: '',
row: {}
@@ -81,10 +132,13 @@ export default {
// cancelButtonText: '取消',
// type: 'warning'
// }).then(() => {
this.$api.report.reportDownload({ fileId: row.fileId }).then(res => {
this.$api.report.reportDownload({ fileId: row.fileId,repostId:row.id }).then(res => {
downloadFile(res)
})
// })
},
saveScore(){
}
},
created () {
@@ -179,6 +233,64 @@ export default {
}
}
.report-jug{
display: flex;
justify-content: space-between;
padding: 10px;
.report-jug-left{
display: flex;
}
}
.juggle_box{
padding: 10px;
.all_juggle{
margin-top: 20px;
display: flex;
width: 100%;
border: 1px solid #e6f6fe;
min-height: 150px;
.juggle_left{
width: 15%;
text-align: center;
border-right: 1px solid #e6f6fe;
margin: 0 auto;
}
.juggle_right{
position: relative;
width: 85%;
padding: 20px;
.content{
width: 100%;
}
.bottom{
position: absolute;
display: flex;
justify-content: space-between;
width: calc(100% - 40px);
bottom: 10px;
left: 20px;
height: 30px;
.time{
line-height: 30px;
color: #ccc;
}
.delbtn{
vertical-align: center;
}
}
}
}
.fabiaoBtn{
margin-left: 20px;
height: 100%;
}
}
.isBackground{
background-color: pink;
}
}
.pointclick{
cursor: pointer;
}
</style>
+32 -5
View File
@@ -97,8 +97,16 @@
</el-row>
</div>
<el-row class="tag-btn">
<el-button @click="permissionApp">权限申请</el-button>
<el-button @click="permissionApp">权限申请</el-button>
<div class="tag-right">
<el-button @click="">时间</el-button>
<el-button @click="">点击量</el-button>
<el-button @click="">下载量</el-button>
</div>
</el-row>
<div class="table">
<el-row>
<el-col :span="4" class="treeList ">
@@ -172,16 +180,30 @@
<!-- </div>-->
</template>
</vxe-column>
<vxe-column show-overflow show-header-overflow field="year" title="摘要"></vxe-column>
<vxe-column show-overflow show-header-overflow field="year" title="报告年份"></vxe-column>
<vxe-column show-overflow show-header-overflow field="keyContent" title="关键字">
<template #default="{ row }">
{{ getKeyContent(row.keyContent) }}
<vxe-column show-overflow show-header-overflow field="year" title="报告评级">
<template #default="{row}">
<el-rate
v-model="value"
disabled
show-score
text-color="#ff9900"
score-template="{value}">
</el-rate>
</template>
</vxe-column>
<vxe-column show-overflow show-header-overflow field="year" title="点赞数"></vxe-column>
<vxe-column show-overflow show-header-overflow field="year" title="点击率"></vxe-column>
<vxe-column show-overflow show-header-overflow field="year" title="下载量"></vxe-column>
<vxe-column show-overflow show-header-overflow field="year" title="上传人"></vxe-column>
<vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right">
<template #default="{ row }">
<el-button type="text" @click="previewRow(row)">预览</el-button>
<el-button type="text" v-if="isAdmin || row.power == 2 || !row.power " @click="downloadRow(row)">下载</el-button>
<el-button type="text" v-if="" @click="permissionApp(row)">申请权限</el-button>
</template>
</vxe-column>
@@ -229,6 +251,7 @@ export default {
name: 'ReportList',
data() {
return {
value:3.7,
watermarkText: '', // 水印
fullscreen: false,
q: {
@@ -459,7 +482,7 @@ export default {
// cancelButtonText: '取消',
// type: 'warning'
// }).then(() => {
this.$api.report.reportDownload({fileId: row.fileId}).then(res => {
this.$api.report.reportDownload({fileId: row.fileId,repostId:row.id}).then(res => {
downloadFile(res)
})
// })
@@ -528,7 +551,11 @@ export default {
}
.tag-btn {
padding: 18px 13px 11px;
.tag-right{
float: right;
}
}
.tag-search {
+1 -1
View File
@@ -964,7 +964,7 @@ export default {
// cancelButtonText: '取消',
// type: 'warning'
// }).then(() => {
this.$api.report.reportDownload({ fileId: row.fileId }).then(res => {
this.$api.report.reportDownload({ fileId: row.fileId,repostId:row.id }).then(res => {
downloadFile(res);
})
// })
+523
View File
@@ -0,0 +1,523 @@
<template>
<div class="content-height system-user">
<div class="title">
<span>组织机构管理</span>
</div>
<div class="search">
<el-row>
<el-col :span="20">
<div class="search-box-left">
<label>部门名称:</label>
<el-input v-model="q.orgName" placeholder="请输入部门名称"></el-input>
<!-- <label>角色名:</label>-->
<!-- <el-select v-model="q.roleName" class="icon-auth" placeholder="请选择角色名">-->
<!-- <el-option label="全部" value=""></el-option>-->
<!-- <template v-for="item in roleList">-->
<!-- <el-option :label="item.rname" :value="item.rname" :key="item.rid"></el-option>-->
<!-- </template>-->
<!-- </el-select>-->
</div>
</el-col>
<el-col :span="4" align="right">
<div class="search-box-right">
<el-button type="primary" @click="search">查询</el-button>
<el-button @click="reset">重置</el-button>
</div>
</el-col>
<el-col :span="24">
<div class="operate-box">
<el-button @click="add">新增部门</el-button>
<el-button @click="getSelectUser">批量删除</el-button>
<!-- <el-button @click="downloadTemp">模板下载</el-button>-->
<!-- <el-upload-->
<!-- class="upload-demo"-->
<!-- action="/library/api/sys/user/import"-->
<!-- :show-file-list="false"-->
<!-- :on-success="uploadPDFSuccess"-->
<!-- style="display: inline-block;margin-right: 10px;margin-left: 10px;">-->
<!-- <el-button @click="newAddFunc">批量导入</el-button>-->
<!-- </el-upload>-->
</div>
</el-col>
</el-row>
</div>
<div class="table">
<vxe-table ref="userTable" :data="tableData" :empty-render="{name: 'NotData'}" align="center" border stripe
v-table-min-height="'calc(100vh - 320px)'">
<vxe-column show-overflow type="checkbox" width="77"></vxe-column>
<vxe-column show-overflow show-header-overflow type="seq" title="序号" width="77">
<template #default="{ row, rowIndex }">
{{ rowIndex + (q.pageNo - 1) * q.pageSize + 1 }}
</template>
</vxe-column>
<vxe-column show-overflow show-header-overflow field="orgCode" title="部门编码"></vxe-column>
<vxe-column show-overflow show-header-overflow field="orgName" title="部门名称"></vxe-column>
<vxe-column show-overflow show-header-overflow field="orgLevel" title="部门级别"></vxe-column>
<vxe-column show-overflow show-header-overflow field="orgShortName" title="部门简称"></vxe-column>
<vxe-column show-overflow show-header-overflow field="attribution" title="归属地"></vxe-column>
<vxe-column show-overflow show-header-overflow field="bmdm14" title="部门14位码"></vxe-column>
<vxe-column show-overflow show-header-overflow field="updateTime" title="更新时间"></vxe-column>
<!-- <vxe-column show-overflow show-header-overflow title="启用/禁用" width="100" fixed="right">-->
<!-- <template #default="{ row }">-->
<!-- <el-switch v-model="row.ISUSE" active-value="1" inactive-value="0"-->
<!-- @change="(val) => sysUserIsUse(val, row)"></el-switch>-->
<!-- </template>-->
<!-- </vxe-column>-->
<vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right">
<template #default="{ row }">
<el-button type="text" @click="openRowData('view', row)">查看</el-button>
<el-button type="text" @click="openRowData('modify', row)">编辑</el-button>
<el-button type="text" class="del-btn" @click="deleteRow(row)">删除</el-button>
</template>
</vxe-column>
</vxe-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="q.pageNo"
:page-sizes="[5, 10, 20]"
:page-size="q.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total"/>
</div>
<!-- 新增/编辑/查看 用户 -->
<el-dialog :title="dialogTitle + '部门'" :visible.sync="dialogUser" width="750px" :close-on-click-modal="false"
:close-on-press-escape="false" modal-append-to-body append-to-body>
<div class="user-form showLimit">
<el-form :model="form" label-width="186px" :disabled="mode === 'view'">
<el-form-item label="部门名称:" required>
<el-input v-model="form.orgName" maxlength="50" show-word-limit placeholder="请输入部门名称"></el-input>
</el-form-item>
<el-form-item label="部门编码:" required>
<el-input v-model="form.orgCode" maxlength="50" show-word-limit placeholder="请输入部门编码"></el-input>
</el-form-item>
<el-form-item label="部门级别:" required>
<el-input v-model="form.orgLevel" maxlength="10" show-word-limit placeholder="请输入部门级别"></el-input>
</el-form-item>
<el-form-item label="父部门编码:" >
<el-input v-model="form.supOrgCode" maxlength="50" show-word-limit placeholder="请输入父部门编码"></el-input>
</el-form-item>
<el-form-item label="部门简称:" >
<el-input v-model="form.orgShortName" maxlength="50" show-word-limit placeholder="请输入部门简称"></el-input>
</el-form-item>
<el-form-item label="归属地:" >
<el-input v-model="form.attribution" maxlength="50" show-word-limit placeholder="请输入归属地"></el-input>
</el-form-item>
<el-form-item label="部门14位码:" >
<el-input v-model="form.bmdm14" maxlength="50" show-word-limit placeholder="部门14位码"></el-input>
</el-form-item>
<!--<el-form-item label="密码:" :required="mode === 'add'" v-if="mode !== 'view'">-->
<!--<el-input v-model="form.password" maxlength="20" type="password" placeholder="请输入密码"></el-input>-->
<!--</el-form-item>-->
<!--<el-form-item label="确认密码:" :required="mode === 'add'" v-if="mode !== 'view'">-->
<!--<el-input v-model="repassword" maxlength="20" type="password" placeholder="请确认密码"></el-input>-->
<!--</el-form-item>-->
<!-- <el-form-item label="手机号:">-->
<!-- <el-input v-model="form.orgCode" placeholder="请输入手机号"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="部门:">-->
<!-- <el-input v-model="form.department" maxlength="50" show-word-limit placeholder="请输入部门"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="邮箱:">-->
<!-- <el-input v-model="form.email" placeholder="请输入邮箱"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="角色:" required>-->
<!-- <el-select v-model="form.roleIdList[0]" class="icon-auth" placeholder="请选择角色">-->
<!-- <template v-for="item in roleList">-->
<!-- <el-option :label="item.rname" :value="item.rid" :key="item.rid"></el-option>-->
<!-- </template>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="姓名:" required>-->
<!-- <el-input v-model="form.usname" maxlength="20" show-word-limit placeholder="请输入姓名"></el-input>-->
<!-- </el-form-item>-->
</el-form>
<div class="done">
<el-button v-if="mode !== 'view'" type="primary" @click="sysOrgAddOrg">确定</el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import { Base64 } from 'js-base64'
export default {
name: 'User',
data () {
return {
q: {
orgName: '', // 用户名
// roleName: '', // 角色名称
pageNo: 1,
pageSize: 10
},
total: 0,
tableData: [],
mode: '',
dialogUser: false,
form: {
orgName: '', // 部门名称
orgCode: '', // 部门编码
orgLevel: '', // 部门级别
supOrgCode: '', // 父部门编码
orgShortName: '', // 部门简称
attribution: '', //归属地
bmdm14: '', // 部门14位码
// roleIdList: [''] // 角色
},
repassword: '',
roleList: []
}
},
methods: {
search () {
this.q.pageNo = 1
this.sysOrgList()
},
// 多选用户
getSelectUser () {
const users = this.$refs.userTable.getCheckboxRecords()
if (!users.length) {
return this.$message.warning('请选择数据后在进行操作')
}
const ids = users.map(item => item.id).join(',')
this.deleteOrg(ids)
},
// 获取所有用户
sysOrgList () {
this.$api.org.sysOrgList(this.q).then(({ data }) => {
this.tableData = data.records
this.total = data.total
this.q.pageNo = data.current
this.q.pageSize = data.size
if (!data.records.length && this.q.pageNo !== 1) {
this.q.pageNo = 1
this.sysOrgList()
}
})
},
// 重置
reset () {
this.q = {
orgName: '', // 部门名称
// roleName: '', // 角色名称
pageNo: 1,
pageSize: 10
}
this.total = 0
this.tableData = []
this.sysOrgList()
},
// 单页数据量
handleSizeChange (val) {
this.q.pageSize = val
this.q.pageNo = 1
this.sysOrgList()
},
// 第几页
handleCurrentChange (val) {
this.q.pageNo = val
this.sysOrgList()
},
// 新增
add () {
this.mode = 'add'
this.form = {
orgName: '', // 部门名称
orgCode: '', // 部门编码
orgLevel: '', // 部门级别
supOrgCode: '', // 父部门编码
orgShortName: '', // 部门简称
attribution: '', //归属地
bmdm14: '', // 部门14位码
// roleIdList: [''] // 角色
}
this.repassword = ''
this.dialogUser = true
},
// // 启用/禁用
// sysUserIsUse (val, row) {
// this.$confirm(val === '0' ? '此操作将禁用所选用户, 是否继续?' : '此操作将启用所选用户, 是否继续?', '提示', {
// confirmButtonText: '确定',
// cancelButtonText: '取消',
// type: 'warning'
// }).then(() => {
// this.$api.user.sysUserIsUse({ USID: row.USID, type: val }).then(_ => {
// this.$message.success('操作成功')
// this.sysUserList()
// })
// }).catch(() => {
// row.ISUSE = val === '1' ? '0' : '1'
// })
// },
// 删除
deleteRow (row) {
this.deleteOrg(row.id)
},
// 验证
checkUserForm () {
if (!this.form.orgName) {
return this.$message.warning('请检查部门名称') && false
}
if (!this.form.orgCode) {
return this.$message.warning('请检查部门编码') && false
}
if (!this.form.orgLevel || !(/^[a-zA-Z0-9]*$/.test(this.form.orgLevel))) {
return this.$message.warning('部门级别只能为纯数字') && false
}
return true
},
// 新增用户
sysOrgAddOrg () {
if (!this.checkUserForm()) return
const data = JSON.parse(JSON.stringify(this.form))
this.$api.org.sysOrgAddUser(data).then(_ => {
this.$message.success('操作成功')
this.dialogUser = false
this.reset()
})
},
// 编辑查看用户
openRowData (mode, row) {
this.mode = mode
this.form = {
orgName: row.orgName, // 部门名称
orgLevel: row.orgLevel, // 部门级别
orgCode: row.orgCode, // 部门级别
supOrgCode: row.supOrgCode, // 父部门编码
orgShortName: row.orgShortName, // 部门简称
id: row.id, // ID
attribution: row.attribution, // 归属地
bmdm14: row.bmdm14 // 部门14位码
}
this.repassword = ''
this.dialogUser = true
},
newAddFunc () {
},
// uploadPDFSuccess (response, file, fileList) {
// if (response.ok) {
// this.$message.success('导入成功')
// this.reset()
// } else {
// this.$message.error(response.message)
// }
// },
// downloadTemp () {
// window.open('/library/api/sys/user/template')
// },
// 多选部门
getSelectOrg () {
const users = this.$refs.userTable.getCheckboxRecords()
if (!users.length) {
return this.$message.warning('请选择数据后在进行操作')
}
const ids = users.map(item => item.id).join(',')
this.deleteUser(ids)
},
// 删除用户
deleteOrg (ids) {
this.$confirm('此操作将删除所选用户, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$api.org.sysOrgDelete({ ids }).then(_ => {
this.$message.success('操作成功')
this.sysOrgList()
})
})
},
// 角色列表
getSysOrg () {
this.$api.role.getSysOrg().then(({ data }) => {
this.roleList = data
})
}
},
computed: {
dialogTitle () {
switch (this.mode) {
case 'add':
return '新增'
case 'modify':
return '编辑'
case 'view':
return '查看'
}
}
},
created () {
this.sysOrgList()
this.getSysOrg()
}
}
</script>
<style lang="scss" scoped>
.system-user {
.title {
border-bottom: 1px solid #EBEEF5;
height: 42px;
line-height: 42px;
margin: 0 18px 0 22px;
span {
font-size: 16px;
font-weight: 600;
color: #262626;
}
}
.search {
.search-box-left {
padding-top: 20px;
display: flex;
justify-content: flex-start;
align-items: center;
label {
font-size: 14px;
font-weight: 400;
color: #595959;
margin-right: 5px;
padding-left: 22px;
}
.year {
::v-deep .el-input__inner {
padding: 0 15px !important;
}
}
::v-deep .el-input {
width: 167px;
margin-right: 5px;
}
@media screen and (max-width: 1366px) {
::v-deep .el-input {
width: 135px;
margin-right: 5px;
}
}
::v-deep .el-button {
float: right;
}
}
.search-box-right {
padding-top: 20px;
display: flex;
justify-content: flex-end;
align-items: center;
padding-right: 14px;
}
.operate-box {
padding-left: 13px;
padding-bottom: 11px;
padding-top: 18px;
}
}
.table {
margin: 0 14px 0 13px;
::v-deep .el-pagination {
margin-top: 13px;
padding-left: 20px;
padding-bottom: 10px;
}
}
}
.user-form {
padding-top: 26px;
::v-deep .el-form {
padding-right: 79px;
.el-form-item {
margin-bottom: 10px;
.el-form-item__label {
height: 36px;
line-height: 36px;
font-size: 14px;
font-weight: 500;
color: #262626;
}
.el-input__inner {
min-height: 36px;
}
.el-input__inner,
.el-textarea__inner {
font-size: 14px;
font-weight: 400;
color: #434343;
}
.el-select {
width: 100%;
}
.el-date-editor {
width: 100%;
.el-input__inner {
padding-left: 15px;
}
.el-input__suffix {
font-size: 16px;
margin-top: 2px;
}
}
.icon-auth {
.el-icon-arrow-up {
margin-top: 2px;
transform: rotateZ(0) !important;
}
.el-icon-arrow-up:before {
content: '';
background: url("../../assets/imgs/icon-user.png") no-repeat center center;
display: inline-block;
width: 12px;
height: 14px;
background-size: 100% 100%;
}
}
.el-button {
width: 80px;
height: 36px;
padding: 0;
text-align: center;
}
}
}
.done {
text-align: center;
padding: 40px 0;
::v-deep .el-button {
width: 80px;
height: 36px;
padding: 0;
}
}
}
</style>
+59 -23
View File
@@ -59,9 +59,9 @@
<!-- 新增/编辑/查看 用户 -->
<el-dialog :title="dialogTitle" :visible.sync="dialogUser" width="750px" :close-on-click-modal="false"
:close-on-press-escape="false" modal-append-to-body append-to-body>
<div class="user-form">
<el-form :model="form" label-width="186px" :disabled="mode === 'view'">
<el-form-item label="数据字典编码:" required>
<div class="user-form showLimit">
<el-form ref="dicRef" :rules="formRule" :model="form" label-width="186px" :disabled="mode === 'view'">
<el-form-item label="数据字典编码:" prop="dicCode">
<el-input v-model="form.dicCode" :disabled="mode === 'view' || mode === 'modify' " maxlength="20" show-word-limit placeholder="请输入数据字典编码"></el-input>
</el-form-item>
<!--<el-form-item label="密码:" :required="mode === 'add'" v-if="mode !== 'view'">-->
@@ -70,12 +70,12 @@
<!--<el-form-item label="确认密码:" :required="mode === 'add'" v-if="mode !== 'view'">-->
<!--<el-input v-model="repassword" maxlength="20" type="password" placeholder="请确认密码"></el-input>-->
<!--</el-form-item>-->
<el-form-item label="数据字典名称:">
<el-input v-model="form.dicName" placeholder="请输入数据字典名称"></el-input>
<el-form-item label="数据字典名称:" prop="dicName">
<el-input v-model="form.dicName" placeholder="请输入数据字典名称" maxlength="20" show-word-limit></el-input>
</el-form-item>
<el-form-item label="描述:" required>
<el-input v-model="form.description" maxlength="20" show-word-limit placeholder="请输入描述"></el-input>
<el-form-item label="描述:" >
<el-input type="textarea" v-model="form.description" maxlength="500" show-word-limit placeholder="请输入描述"></el-input>
</el-form-item>
</el-form>
<div class="done">
@@ -107,6 +107,23 @@ export default {
dicName:'',
description:''
},
formRule:{
dicCode:[
{
required:true,
message:'数据字典编码不能为空',
trigger:'change'
}
],
dicName:[
{
required:true,
message:'数据字典名称不能为空',
trigger:'change'
}
],
},
repassword: '',
roleList: []
}
@@ -146,8 +163,19 @@ export default {
this.q.pageNo = val
this.sysUserList()
},
checkUserForm () {
if (!this.form.dicCode) {
return this.$message.warning('请检查数据字典编码') && false
}
if (!this.form.dicName) {
return this.$message.warning('请检查数据字典名称') && false
}
return true
},
// 新增
add () {
this.mode = 'add'
this.form = {
dicCode:'',
@@ -156,6 +184,10 @@ export default {
}
this.repassword = ''
this.dialogUser = true
this.$nextTick(()=>{
this.$refs.dicRef.clearValidate()
})
},
// // 启用/禁用
// sysUserIsUse (val, row) {
@@ -174,23 +206,26 @@ export default {
// },
// 删除
deleteRow (row) {
this.deleteUser([row.id])
this.deleteUser(row.id)
},
// 新增用户
sysUserAddUser () {
if(this.mode=='add'){
this.$api.dictionary.addDic(this.form).then((res)=>{
this.$message.success("新增成功")
this.sysUserList()
})
}else{
this.$api.dictionary.editDic(this.form).then((res)=>{
this.$message.success("编辑成功")
this.sysUserList()
})
}
if(this.checkUserForm()){
if(this.mode=='add'){
this.$api.dictionary.addDic(this.form).then((res)=>{
this.$message.success("新增成功")
this.sysUserList()
})
}else{
this.$api.dictionary.editDic(this.form).then((res)=>{
this.$message.success("编辑成功")
this.sysUserList()
})
}
this.dialogUser = false
}
this.dialogUser = false
},
// 编辑查看用户
openRowData (mode, row) {
@@ -200,7 +235,8 @@ export default {
path:'/system/dicdeatil',
query:{
id:this.$route.query.id,
pId:row.id
pId:row.id,
pName: row.dicName
}
})
}else if(mode=='add'){
@@ -224,7 +260,7 @@ export default {
if (!users.length) {
return this.$message.warning('请选择数据后在进行操作')
}
const ids = users.map(item => item.id)
const ids = users.map(item => item.id).join(',')
this.deleteUser(ids)
},
// 删除用户
@@ -347,7 +383,7 @@ export default {
padding-right: 79px;
.el-form-item {
margin-bottom: 10px;
//margin-bottom: 10px;
.el-form-item__label {
height: 36px;
+109 -43
View File
@@ -5,15 +5,15 @@
<span class="back" title="返回" @click="back"><i class="el-icon-back" ></i>
</span>
<div class="title">
{{dictionaryName}}
ddfdddd</div>
{{dicName}}
</div>
</div>
<div class="search">
<el-row>
<el-col :span="20">
<div class="search-box-left">
<label>选项:</label>
<el-input v-model="q.account" placeholder="请输入选项"></el-input>
<el-input v-model="q.itemName" placeholder="请输入选项"></el-input>
</div>
</el-col>
<el-col :span="4" align="right">
@@ -39,9 +39,11 @@
{{ rowIndex + (q.pageNo - 1) * q.pageSize + 1 }}
</template>
</vxe-column>
<vxe-column show-overflow show-header-overflow field="ACCOUNT" title="选项"></vxe-column>
<vxe-column show-overflow show-header-overflow field="CELLPHONE_NUMBER" title="值"></vxe-column>
<vxe-column show-overflow show-header-overflow field="CREATEDATE" title="排序"></vxe-column>
<vxe-column show-overflow show-header-overflow field="itemName" title="选项"></vxe-column>
<vxe-column show-overflow show-header-overflow field="itemValue" title="选项值"></vxe-column>
<vxe-column show-overflow show-header-overflow field="itemOrder" title="排序"></vxe-column>
<vxe-column show-overflow show-header-overflow field="itemDescription" title="描述"></vxe-column>
<!-- <vxe-column show-overflow show-header-overflow title="启用/禁用" width="100" fixed="right">-->
<!-- <template #default="{ row }">-->
<!-- <el-switch v-model="row.ISUSE" active-value="1" inactive-value="0"-->
@@ -68,22 +70,23 @@
</div>
<el-dialog :title="dialogTitle " :visible.sync="dialogUser" width="750px" :close-on-click-modal="false"
:close-on-press-escape="false" modal-append-to-body append-to-body>
<div class="user-form">
<el-form :model="form" label-width="186px" :disabled="mode === 'view'">
<el-form-item label="选项:" props="account">
<el-input v-model="form.account" maxlength="20" show-word-limit placeholder="请输入选项"></el-input>
<div class="user-form showLimit">
<el-form ref="addForm" :model="form" label-width="186px" :disabled="mode === 'view'"
:rules="formRule">
<el-form-item label="选项:" required>
<el-input v-model="form.itemName" maxlength="20" show-word-limit placeholder="请输入选项"></el-input>
</el-form-item>
<el-form-item label="选项值:" required>
<el-input v-model="form.itemValue" maxlength="20" placeholder="请输入值" show-word-limit></el-input>
</el-form-item>
<!--<el-form-item label="密码:" :required="mode === 'add'" v-if="mode !== 'view'">-->
<!--<el-input v-model="form.password" maxlength="20" type="password" placeholder="请输入密码"></el-input>-->
<!--</el-form-item>-->
<!--<el-form-item label="确认密码:" :required="mode === 'add'" v-if="mode !== 'view'">-->
<!--<el-input v-model="repassword" maxlength="20" type="password" placeholder="请确认密码"></el-input>-->
<!--</el-form-item>-->
<el-form-item label="排序:">
<el-input v-model="form.cellPhoneNumber" placeholder="请输入排序"></el-input>
<el-form-item label="排序:" required>
<el-input v-model="form.itemOrder"show-word-limit maxlength="10" placeholder="请输入排序"></el-input>
</el-form-item>
<el-form-item label="备注:">
<el-input v-model="form.department" maxlength="50" show-word-limit placeholder="请输入备注"></el-input>
<el-form-item label="备注:" >
<el-input type="textarea" v-model="form.itemDescription" maxlength="500" show-word-limit placeholder="请输入备注"></el-input>
</el-form-item>
</el-form>
<div class="done">
@@ -99,55 +102,114 @@
export default {
name: 'standLawsAttrDetails',
data(){
const validateData= (rule, value, callback) =>{
let test=/^[0-9]*$/
if (!test.test(value)) {
callback(new Error('请输入数字值'));
}else{
callback()
}
}
return{
form:{
itemName:'',
itemValue:'',
itemDescription:'',
itemOrder:''
},
total:0,
q:{
pageNo:1,
pageSize:10,
account:''
itemName:''
},
tableData:[{inde:1}],
mode:'',
dialogUser:false
dialogUser:false,
dicId:'',
dicName:'',
formRule:{
itemName:[{
required:true,
message:'选项不能为空',
trigger:'change'
}],
itemValue:[{
required:true,
message:'选项值不能为空',
trigger:'change'
}],
itemOrder:[{
required:true,
message:'排序不能为空',
trigger:'change'
},{
validator:validateData, trigger:'change'
}],
}
}
},
mounted() {
this.dicName=this.$route.query.pName
this.dicId=this.$route.query.pId
this.loadData()
},
methods:{
// 编辑查看用户
openRowData (mode, row) {
this.mode = mode
this.form = {
account: row.ACCOUNT, // 用户名
cellPhoneNumber: row.CELLPHONE_NUMBER, // 手机号
department: row.DEPARTMENT, // 部门
email: row.EMAIL, // 邮箱
password: '', // 密码
usid: row.USID, // 用户ID
usname: row.USNAME, // 姓名
roleIdList: [row.ROLEID] // 角色
}
this.form=JSON.parse(JSON.stringify(row))
this.dialogUser = true
},
sysUserAddUser(){
if( this.checkUserForm()){
if(this.mode=='add'){
this.$api.dictionary.addItemDic(this.form).then((res)=>{
this.$message.success("新增成功")
this.loadData()
})
}else{
this.$api.dictionary.editItemDic(this.form).then((res)=>{
this.$message.success("编辑成功")
this.loadData()
})
}
this.dialogUser = false
}
},
checkUserForm () {
if (!this.form.itemName) {
return this.$message.warning('请检查选项') && false
}
if (!this.form.itemValue) {
return this.$message.warning('请检查选项值') && false
}
if (this.form.itemOrder && !(/^[0-9]*$/.test(this.form.itemOrder))) {
return this.$message.warning('请检查排序') && false
}
return true
},
// 新增
add () {
this.mode = 'add'
this.form = {
account: '', // 用户名
cellPhoneNumber: '', // 手机号
department: '', // 部门
email: '', // 邮箱
password: '', // 密码
usid: '',
usname: '', // 姓名
roleIdList: [''] // 角色
itemName:'',
itemValue:'',
itemDescription:'',
itemOrder:'',
dicId:this.dicId
}
this.dialogUser = true
this.$nextTick(()=>{
this.$refs.addForm.clearValidate()
})
},
// 批量删除
getSelectUser () {
@@ -169,9 +231,9 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$api.user.sysUserDelete({ ids }).then(_ => {
this.$api.dictionary.delItemDic({ ids }).then(_ => {
this.$message.success('操作成功')
this.sysUserList()
this.loadData()
})
})
},
@@ -184,7 +246,10 @@ export default {
this.loadData()
},
loadData(){
this.$api.dictionary.getItemDic({...this.q,dicId:this.dicId}).then((res)=>{
this.tableData = res.data.records
this.total=res.data.total
})
},
search() {
this.q.pageNo = 1
@@ -194,7 +259,8 @@ export default {
this.q = {
pageNo:1,
pageSize:10,
account:''
itemName:'',
dicId: this.dicId
}
this.loadData()
},
@@ -312,7 +378,7 @@ export default {
padding-right: 79px;
.el-form-item {
margin-bottom: 10px;
//margin-bottom: 10px;
.el-form-item__label {
height: 36px;
@@ -156,7 +156,7 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
if (this.$route.query.taskDefinitionKey == 'aid4' ){
if (this.$route.query.taskDefinitionKey == 'reEdit' ){
// 有idde
console.log(this.value)
debugger
@@ -217,7 +217,7 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
if (this.$route.query.taskDefinitionKey == 'aid4' ){
if (this.$route.query.taskDefinitionKey == 'reEdit' ){
if(row.id && row.id !=''){
// this.$api.permissionProcess.deletReport({ids:[row.id]}).then(()=>{
this.$emit('updateTable',this.value.filter(item => item.id !== row.id),[row.reportId])
+2 -2
View File
@@ -236,7 +236,7 @@ export default {
})
}
if (this.$route.query.taskDefinitionKey == 'aid4' ) {
if (this.$route.query.taskDefinitionKey == 'reEdit' ) {
this.taskId = this.$store.getters.handleProcess.taskId
this.prcNum = this.$store.getters.handleProcess.prcNum
this.prcId = this.$store.getters.handleProcess.prcId
@@ -376,7 +376,7 @@ export default {
},
handleReset() {
this.processForm.prcName = ''
if(this.$route.query.taskDefinitionKey == 'aid4'){
if(this.$route.query.taskDefinitionKey == 'reEdit'){
this.processForm.prcName = this.prcName
}
this.applicationForm = {
@@ -35,8 +35,8 @@
<el-col :span="9" :offset="6">
<el-form-item label="报告涉密等级:" prop="confidentialLevel">
<el-select :disabled="formControl" v-model="form.confidentialLevel" placeholder="请选择报告涉密等级">
<el-option v-for="item in confidentialLevelOptions" :key="item.value" :label="item.label"
:value="item.value">
<el-option v-for="item in dict['classified_level']" :key="item.itemValue" :label="item.itemName"
:value="item.itemValue">
</el-option>
</el-select>
</el-form-item>
@@ -67,7 +67,7 @@
<el-col :span="9" :offset="6">
<el-form-item label="报告隐私等级:" prop="privacyLevelOptions">
<el-select :disabled="formControl" v-model="form.privacyLevelOptions" placeholder="请选择报告隐私等级">
<el-option v-for="item in privacyLevelOptions" :key="item.value" :label="item.label" :value="item.value">
<el-option v-for="item in dict['privacy_level']" :key="item.itemValue" :label="item.itemName" :value="item.itemValue">
</el-option>
</el-select>
</el-form-item>
@@ -148,6 +148,7 @@ import newTranslate from "../../../components/newTranslate";
import VueTagsInput from '@johmun/vue-tags-input';
export default {
dicts:['classified_level','privacy_level'],
components: {
VueTagsInput,
newTranslate
@@ -244,6 +245,12 @@ export default {
fileList:[]
}
},
watch:{
processForm(val){
debugger
this.form=this.processForm
}
},
methods: {
loadMore(){
this.q.pageNo++
+3 -3
View File
@@ -102,7 +102,7 @@ export default {
},
PERMISSION,
submitjson:{},
prcType:1
prcType:2
}
},
created () {
@@ -110,7 +110,7 @@ export default {
this.prcNum=this.$store.getters.handleProcess.prcNum
this.prcId=this.$store.getters.handleProcess.prcId
this.prcName=this.$store.getters.handleProcess.prcName
this.$set(this.processForm,'prcName',this.prcName)
let params={
prcId: this.prcId,
@@ -121,7 +121,7 @@ export default {
}
this.getProcessDetail(params).then(res=>{
this.processForm = JSON.parse(this.processOld.dataJson)
this.$set(this.processForm,'prcName',this.prcName)
this.disabled=false
this.formControl= true
if(this.$route.query.type=='yiban'){
+2 -3
View File
@@ -188,7 +188,7 @@ export default {
})
}
if (this.$route.query.taskDefinitionKey == 'aid4' ) {
if (this.$route.query.taskDefinitionKey == 'reEdit' ) {
this.taskId = this.$store.getters.handleProcess.taskId
this.prcNum = this.$store.getters.handleProcess.prcNum
this.prcId = this.$store.getters.handleProcess.prcId
@@ -231,7 +231,7 @@ export default {
methods: {
handleReset() {
this.processForm.prcName = ''
if(this.$route.query.taskDefinitionKey == 'aid4'){
if(this.$route.query.taskDefinitionKey == 'reEdit'){
this.processForm.prcName = this.prcName
}
this.applicationForm = {
@@ -244,7 +244,6 @@ export default {
twoApprove: ''
}
this.$nextTick(() => {
this.$refs.applicationFormRef.clearValidate()
this.$refs.assignFormRef.clearValidate()
})
@@ -118,7 +118,7 @@ export default {
this.$store.commit('setHandleProcess',params)
switch (row.prcType) {
case '1' :
if (row.taskDefinitionKey == 'aid1' || row.taskDefinitionKey == 'aid4') {
if (row.taskDefinitionKey == 'start' || row.taskDefinitionKey == 'reEdit') {
this.$router.push({
path: '/permission/launch',
query: {
@@ -136,7 +136,27 @@ export default {
taskDefinitionKey:row.taskDefinitionKey
}
})
}
};break;
case '2' :
if (row.taskDefinitionKey == 'start' || row.taskDefinitionKey == 'reEdit') {
this.$router.push({
path: '/reportprocess/launch',
query: {
id: this.$route.query.id,
type:'yiban',
taskDefinitionKey:row.taskDefinitionKey
}
})
}else{
this.$router.push({
path: '/reportprocess/examine',
query: {
id: this.$route.query.id,
type:'yiban',
taskDefinitionKey:row.taskDefinitionKey
}
})
};break;
}
},
}
@@ -109,7 +109,7 @@ export default {
switch (row.prcType) {
case '1' :
debugger
if (row.taskDefinitionKey == 'aid4') {
if (row.taskDefinitionKey == 'reEdit') {
this.$router.push({
path: '/permission/launch',
query: {
@@ -127,7 +127,27 @@ export default {
prcName: row.prcName
}
})
}
};break;
case '2' :
if (row.taskDefinitionKey == 'start' || row.taskDefinitionKey == 'reEdit') {
this.$router.push({
path: '/reportprocess/launch',
query: {
id: this.$route.query.id,
prcName: row.prcName,
taskDefinitionKey:row.taskDefinitionKey
}
})
}else{
this.$router.push({
path: '/reportprocess/examine',
query: {
id: this.$route.query.id,
prcName: row.prcName,
taskDefinitionKey:row.taskDefinitionKey
}
})
};break;
}
},
},
@@ -121,7 +121,7 @@ export default {
pId: this.pId
}
if(this.prcType == '1'){
if(this.aid=='aid2'){
if(this.aid=='oneApply'){
params.replaceMap="oneApprove:"+ this.form.assignee+','+"oneApproveName:"+ this.form.assigneeName
}else{
params.replaceMap="twoApprove:"+ this.form.assignee+','+"twoApproveName:"+ this.form.assigneeName
@@ -106,8 +106,8 @@ export default {
res.isViewDetails = 1
res.prcType = prcType
res.prcNum = row.prcNum
if (res.taskDefinitionKey == 'aid1' ||
res.taskDefinitionKey == 'aid4' ) {
if (res.taskDefinitionKey == 'start' ||
res.taskDefinitionKey == 'reEdit' ) {
this.$router.push({
path: '/permission/launch',
query: res,
+22 -3
View File
@@ -1,6 +1,9 @@
const webpack = require('webpack')
const path = require('path')
function resolve (dir) {
return path.join(__dirname, dir)
}
module.exports = {
lintOnSave: false,
// publicPath: '/mi',
outputDir: 'dist', // 运行时生成的生产环境构建文件的目录(默认''dist'',构建之前会被清除)
assetsDir: 'static', // 放置生成的静态资源(s、css、img、fonts)的(相对于 outputDir 的)目录(默认'')
@@ -18,13 +21,28 @@ module.exports = {
},
// 请求静态图片配置项
'/api/home/pic': {
target: 'http://localhost:7061', // 图片请求的nginx网址
target: 'http://10.94.1.164:7061', // 图片请求的nginx网址
changeOrigin: true
}
}
},
chainWebpack: config => {
config.module
.rule('svg')
.exclude.add(resolve('src/icon'))
.end()
config.module
.rule('icons')
.test(/\.svg$/)
.include.add(resolve('src/icon'))
.end()
.use('svg-sprite-loader')
.loader('svg-sprite-loader')
.options({
symbolId: 'icon-[name]'
})
.end()
config.plugin('html').tap(args => {
args[0].title = '大众'
return args
@@ -50,5 +68,6 @@ module.exports = {
// Enumerable: "linq"
})
]
}
},
}