Merge branch 'dev_2024325_BZSQ' into 'dev_2024325_LCZGF_39'
标准/译文获取申请管理 主页 See merge request laws-foton-slrs/foton-laws-system-front!167
This commit is contained in:
@@ -40,7 +40,7 @@
|
||||
v-for="(children, childrenIndex) in item.children"
|
||||
:key="childrenIndex"
|
||||
:index="children.path"
|
||||
style="text-align: center;"
|
||||
style="padding-right: 15px; padding-left: 30px;font-size: 14px"
|
||||
v-if="!children.menuId || $hasPermission(children.menuId)"itemSplitInfo
|
||||
>
|
||||
<el-badge :value="getDynamicTotal.msgCount" class="item" v-if="children.title === '我的消息' && getDynamicTotal.msgCount !== 0">
|
||||
@@ -52,6 +52,9 @@
|
||||
<el-badge :value="getDynamicTotal.myStandCount" class="item" v-else-if="children.title === '我的企标' && getDynamicTotal.myStandCount !== 0">
|
||||
{{ children.title }}
|
||||
</el-badge>
|
||||
<el-badge is-dot class="item miniBadge" v-else-if="children.title === '标准/译文获取申请管理' && getStandardTranslationTodo !== 0">
|
||||
<div>{{children.title}}</div>
|
||||
</el-badge>
|
||||
<div v-else>
|
||||
{{ children.title }}
|
||||
</div>
|
||||
@@ -81,6 +84,7 @@
|
||||
name: 'NavMenu',
|
||||
data () {
|
||||
return {
|
||||
standardTranslation: 0,
|
||||
defaultActive: null, // 当前激活菜单的 index
|
||||
navMenuList: [
|
||||
// {
|
||||
@@ -161,6 +165,11 @@
|
||||
path: '/standQA',
|
||||
menuId: '2621269642ea4c6c8c42905863b2dc09'
|
||||
},
|
||||
{
|
||||
title: '标准/译文获取申请管理',
|
||||
path: '/standardTranslationAcquisitionRequest',
|
||||
menuId: 'd7ad73e98162894d020aa993c08a4532'
|
||||
},
|
||||
// {
|
||||
// title: '零部件编号申请',
|
||||
// path: '/partCodeApply',
|
||||
@@ -550,6 +559,11 @@
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.$http.get('/lawss/standardApplyFor/queryPendingApprovalCount', '', { _this: this }, res => {
|
||||
if (res.ok) {
|
||||
this.$store.commit('SET_STANDARD_TRANSLATION_TODO', res.data)
|
||||
}
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
handleSelect (key, keyPath) {
|
||||
@@ -573,7 +587,7 @@
|
||||
// return this.isCollapse ? require('assets/images/shangqi/img/logo4.png') : require('assets/images/shangqi/img/logo5.png')
|
||||
return this.isCollapse ? require('assets/images/shangqi/img/logo4.png') : require('assets/images/shangqi/img/logo2.png')
|
||||
},
|
||||
...mapGetters(['getDynamicTotal', 'isCollapse'])
|
||||
...mapGetters(['getDynamicTotal', 'isCollapse', 'getStandardTranslationTodo'])
|
||||
},
|
||||
watch: {
|
||||
// 监听路由 重新渲染面包屑
|
||||
@@ -606,6 +620,7 @@
|
||||
width: 58px;
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
user-select: none;
|
||||
box-sizing: border-box;
|
||||
position: absolute;
|
||||
@@ -785,7 +800,7 @@
|
||||
}
|
||||
}
|
||||
.el-menu-item {
|
||||
padding-left: 0 !important;
|
||||
//padding-left: 0 !important;
|
||||
font-size: 16px;
|
||||
font-weight: normal;
|
||||
height: 40px;
|
||||
@@ -812,5 +827,10 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.miniBadge{
|
||||
/deep/ .is-dot{
|
||||
left: -18px;
|
||||
top: 14px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -917,6 +917,7 @@ export default {
|
||||
res.data.forEach(item => {
|
||||
if (item.id && item.id == 'asdfadf') {
|
||||
item.disabled = true;
|
||||
this.nodeList.push(item.id)
|
||||
// if (item.childNodes && item.childNodes.length !== 0) {
|
||||
// this.addAttr(item.childNodes);
|
||||
// }
|
||||
|
||||
@@ -390,12 +390,13 @@ export default {
|
||||
},
|
||||
goNuwPage (item) {
|
||||
this.$store.commit('setDetailMap', this.$route.path)
|
||||
console.log(item);
|
||||
const params = {
|
||||
id: item.id,
|
||||
dictionaryName: item.dictionaryName,
|
||||
dictionType: item.dictionType,
|
||||
isRelate: item.isRelate,
|
||||
relateDicId: item.relateDicId
|
||||
relateDicId: item.relateDicId || '1'
|
||||
}
|
||||
if(item.dictionType && item.dictionType === 'TREE'){
|
||||
this.$router.push({
|
||||
@@ -408,7 +409,6 @@ export default {
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
handleSelectone (data) {
|
||||
this.selectedList = []
|
||||
|
||||
+268
@@ -0,0 +1,268 @@
|
||||
<template>
|
||||
<el-drawer
|
||||
:title="(id ? '编辑' : '新增' ) + '标准/译文获取申请'"
|
||||
:visible.sync="visible"
|
||||
:direction="direction"
|
||||
:append-to-body="true"
|
||||
:wrapper-closable="false"
|
||||
:before-close="handleClose"
|
||||
size="40%"
|
||||
>
|
||||
<loading :loading="showLoading">加载中...</loading>
|
||||
<el-form ref="addFormRef" :model="StandardApplyForEO" :rules="addFormRules" class="label-input-form">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="申请单位" prop="applyForUnitName" label-width="100px" class="add-form-item">
|
||||
<el-input v-model="StandardApplyForEO.applyForUnitName" readonly clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="申请人" prop="applyForUserName" label-width="100px" class="add-form-item">
|
||||
<el-input v-model="StandardApplyForEO.applyForUserName" readonly clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="类型" prop="type" label-width="100px" class="add-form-item">
|
||||
<el-select
|
||||
v-model="StandardApplyForEO.type"
|
||||
:placeholder="'请选择类型'"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="opt in typeList"
|
||||
:key="opt.value"
|
||||
:value="opt.value === undefined ? '' :opt.value"
|
||||
:label="opt.label"
|
||||
>
|
||||
{{ opt.label }}
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="标准类型" prop="standType" label-width="100px" class="add-form-item">
|
||||
<el-select
|
||||
v-model="StandardApplyForEO.standType"
|
||||
:placeholder="'请选择标准类型'"
|
||||
clearable
|
||||
@change="selectStandType"
|
||||
>
|
||||
<el-option
|
||||
v-for="opt in standTypeList"
|
||||
:key="opt.value"
|
||||
:value="opt.value === undefined ? '' :opt.value"
|
||||
:label="opt.label"
|
||||
>
|
||||
{{ opt.label }}
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="标准类别" prop="standLb" label-width="100px" class="add-form-item">
|
||||
<el-select
|
||||
v-model="StandardApplyForEO.standLb"
|
||||
:placeholder="'请选择标准类别'"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="opt in standLbList"
|
||||
:key="opt.value"
|
||||
:value="opt.value === undefined ? '' :opt.value"
|
||||
:label="opt.label"
|
||||
>
|
||||
{{ opt.label }}
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="标准编号" prop="standNum" label-width="100px" class="add-form-item">
|
||||
<el-input v-model="StandardApplyForEO.standNum" placeholder="请输入标准编号" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="标准年份" prop="standYear" label-width="100px" class="add-form-item">
|
||||
<el-input v-model="StandardApplyForEO.standYear" placeholder="请输入标准年份" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="需求时间" prop="requiredTime" label-width="100px" class="add-form-item">
|
||||
<el-input v-model="StandardApplyForEO.requiredTime" placeholder="请输入需求时间" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="标准名称" prop="standName" label-width="100px" class="add-form-item">
|
||||
<el-input v-model="StandardApplyForEO.standName" placeholder="请输入标准名称" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="原语言" prop="sourceLanguage" label-width="100px" class="add-form-item">
|
||||
<el-input v-model="StandardApplyForEO.sourceLanguage" placeholder="请输入原语言" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="目标语言" prop="targetLanguage" label-width="100px" class="add-form-item">
|
||||
<el-input v-model="StandardApplyForEO.targetLanguage" placeholder="请输入目标语言" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="理由" prop="reason" label-width="100px" class="add-form-item">
|
||||
<el-input v-model="StandardApplyForEO.reason" placeholder="请输入理由" type="textarea" onkeydown="return event.key !== 'Enter';" :autosize="{ minRows: 10,maxRows: 10}" clearable/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div class="drawer-footer">
|
||||
<el-button type="primary" class="common-button-primary" icon="el-icon-check" :loading="isSubmit" @click="submit">提交</el-button>
|
||||
<el-button class="common-button-default" icon="el-icon-close" @click="visible=false">取消</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'AddModal',
|
||||
data () {
|
||||
return {
|
||||
direction: 'rtl',
|
||||
visible: false,
|
||||
isSubmit: false,
|
||||
showLoading: false,
|
||||
id: '',
|
||||
StandardApplyForEO: {},
|
||||
typeList: [],
|
||||
standTypeList: [],
|
||||
standLbList: [],
|
||||
addFormRules: {
|
||||
applyForUnitName: [ { required: true, message: '申请单位不能为空', trigger: 'blur' } ],
|
||||
applyForUserName: [ { required: true, message: '申请人不能为空', trigger: 'blur' } ],
|
||||
type: [ { required: true, message: '类型不能为空', trigger: 'blur' } ],
|
||||
standType: [ { required: true, message: '标准类型不能为空', trigger: 'blur' } ],
|
||||
standLb: [ { required: true, message: '标准类别不能为空', trigger: 'blur' } ],
|
||||
standYear: [ { max: 100, message: '标准年份不能超过100个字符' } ],
|
||||
requiredTime: [ { max: 100, message: '需求时间不能超过100个字符' } ],
|
||||
sourceLanguage: [ { max: 100, message: '原语言不能超过100个字符' } ],
|
||||
targetLanguage: [ { max: 100, message: '目标语言不能超过100个字符' } ],
|
||||
standNum: [ { required: true, message: '标准编号不能为空', trigger: 'blur' }, { max: 100, message: '标准编号不能超过100个字符' } ],
|
||||
standName: [ { required: true, message: '标准名称不能为空', trigger: 'blur' }, { max: 500, message: '标准名称不能超过500个字符' } ],
|
||||
reason: [ { required: true, message: '理由不能为空', trigger: 'blur' }, {max: 500, message: '理由不能超过500个字符', trigger: 'blur'} ],
|
||||
},
|
||||
url: {
|
||||
addUrl: '/lawss/standardApplyFor/insert',
|
||||
editUrl: '/lawss/standardApplyFor/edit'
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.getDicTypeListCode()
|
||||
},
|
||||
methods: {
|
||||
getDicTypeListCode () {
|
||||
this.$http.get('/lawss/standardApplyFor/getStandTypeDropDownData', {}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.standTypeList = res.data
|
||||
})
|
||||
this.$http.get('sys/dictype/getDicTypeListCode', '', {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.typeList = res.data.BZJYWTYPE // 标准类别
|
||||
})
|
||||
},
|
||||
handleClose () {
|
||||
this.visible = false
|
||||
},
|
||||
addModel () {
|
||||
this.id = ''
|
||||
this.visible = true
|
||||
this.StandardApplyForEO = {}
|
||||
this.StandardApplyForEO.applyForUserId = this.$store.getters.userInfo.userId
|
||||
this.StandardApplyForEO.applyForUserName = this.$store.getters.userInfo.userName
|
||||
this.StandardApplyForEO.applyForUnitId = this.$store.getters.userInfo.upDeptId
|
||||
this.StandardApplyForEO.applyForUnitName = this.$store.getters.userInfo.upDeptName
|
||||
this.StandardApplyForEO = { ...this.StandardApplyForEO }
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addFormRef.clearValidate()
|
||||
this.getDicTypeListCode()
|
||||
})
|
||||
},
|
||||
showModal (item) {
|
||||
this.id = item.id
|
||||
this.visible = true
|
||||
this.showLoading = true
|
||||
this.StandardApplyForEO = JSON.parse(JSON.stringify(item))
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addFormRef.clearValidate()
|
||||
this.getDicTypeListCode()
|
||||
this.selectStandType(this.StandardApplyForEO.standType, 'callBack')
|
||||
})
|
||||
},
|
||||
selectStandType (value, tag) {
|
||||
if (value === '') {
|
||||
this.standLbList = []
|
||||
}
|
||||
this.$http.get('/lawss/standardApplyFor/getStandLbDropDownData', { dicId: value }, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.ok) {
|
||||
this.$nextTick(() => {
|
||||
this.standLbList = res.data
|
||||
if (tag !== 'callBack') {
|
||||
this.$set(this.StandardApplyForEO, 'standLb', null)
|
||||
}
|
||||
this.showLoading = false
|
||||
})
|
||||
return
|
||||
}
|
||||
this.standLbList = []
|
||||
this.$set(this.StandardApplyForEO, 'standLb', null)
|
||||
})
|
||||
},
|
||||
submit () {
|
||||
this.$refs.addFormRef.validate((valid) => {
|
||||
if (valid) {
|
||||
this.isSubmit = true
|
||||
const url = this.id ? this.url.editUrl : this.url.addUrl
|
||||
if (this.id) {
|
||||
delete this.StandardApplyForEO.updateTime
|
||||
delete this.StandardApplyForEO.updateBy
|
||||
}
|
||||
this.$http.postData(url, this.StandardApplyForEO, { _this: this },
|
||||
res => {
|
||||
if (res.ok) {
|
||||
this.$emit('updateList')
|
||||
this.$message.success(res.data)
|
||||
this.visible = false
|
||||
}else{
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
this.isSubmit = false
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.label-input-form {
|
||||
padding: 0 19px;
|
||||
}
|
||||
|
||||
.drawer-footer {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
padding: 0 20px;
|
||||
height: 70px;
|
||||
line-height: 69px;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
text-align: right;
|
||||
background: #fff;
|
||||
z-index: 999;
|
||||
}
|
||||
</style>
|
||||
+176
@@ -0,0 +1,176 @@
|
||||
<template>
|
||||
<el-drawer
|
||||
title="查看标准/译文获取申请"
|
||||
:visible.sync="visible"
|
||||
:direction="direction"
|
||||
:append-to-body="true"
|
||||
:wrapper-closable="false"
|
||||
:before-close="handleClose"
|
||||
size="40%"
|
||||
>
|
||||
<loading :loading="showLoading">加载中...</loading>
|
||||
<el-form ref="addFormRef" style="padding-bottom: 80px" :model="StandardApplyForEO" class="label-input-form detail-modal-form">
|
||||
<el-row class="formLine">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="申请单位" label-width="100px" class="add-form-item">
|
||||
<div class="content">{{ StandardApplyForEO.applyForUnitName ? StandardApplyForEO.applyForUnitName : '--' }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="申请人" label-width="100px" class="add-form-item">
|
||||
<div class="content">{{ StandardApplyForEO.applyForUserName ? StandardApplyForEO.applyForUserName : '--' }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row class="formLine">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="类型" label-width="100px" class="add-form-item">
|
||||
<div class="content">{{ StandardApplyForEO.typeShow ? StandardApplyForEO.typeShow : '--' }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="标准类型" label-width="100px" class="add-form-item">
|
||||
<div>{{ StandardApplyForEO.standTypeShow ? StandardApplyForEO.standTypeShow : '--' }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row class="formLine">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="标准类别" label-width="100px" class="add-form-item">
|
||||
<div class="content">{{ StandardApplyForEO.standLbShow ? StandardApplyForEO.standLbShow : '--' }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="标准编号" label-width="100px" class="add-form-item">
|
||||
<div class="content">{{ StandardApplyForEO.standNumShow ? StandardApplyForEO.standNumShow : '--' }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row class="formLine">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="标准年份" label-width="100px" class="add-form-item">
|
||||
<div class="content">{{ StandardApplyForEO.standYear ? StandardApplyForEO.standYear : '--' }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="需求时间" label-width="100px" class="add-form-item">
|
||||
<div class="content">{{ StandardApplyForEO.requiredTime ? StandardApplyForEO.requiredTime : '--' }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row class="formLine">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="标准名称" label-width="100px" class="add-form-item">
|
||||
<div class="content">{{ StandardApplyForEO.standName ? StandardApplyForEO.standName : '--' }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row class="formLine">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="原语言" label-width="100px" class="add-form-item">
|
||||
<div class="content">{{ StandardApplyForEO.sourceLanguage ? StandardApplyForEO.sourceLanguage : '--' }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="目标语言" label-width="100px" class="add-form-item">
|
||||
<div class="content">{{ StandardApplyForEO.targetLanguage ? StandardApplyForEO.targetLanguage : '--' }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row class="formLine">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="理由" label-width="100px" class="add-form-item reasonContent">
|
||||
<div class="contentLine">{{ StandardApplyForEO.reason ? StandardApplyForEO.reason : '--' }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col v-show="StandardApplyForEO.status !== 'pendingApproval' && StandardApplyForEO.status !== 'Staging'" :span="12" class="formLine">
|
||||
<el-form-item label="审批人" label-width="100px" class="add-form-item">
|
||||
<div class="content">{{ StandardApplyForEO.approveUserName ? StandardApplyForEO.approveUserName : '--' }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-show="StandardApplyForEO.status !== 'pendingApproval' && StandardApplyForEO.status !== 'Staging'" :span="12" class="formLine">
|
||||
<el-form-item label="审批时间" label-width="100px" class="add-form-item">
|
||||
<div class="content">{{ StandardApplyForEO.approveTime ? StandardApplyForEO.approveTime : '--' }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-show="StandardApplyForEO.status !== 'pendingApproval' && StandardApplyForEO.status !== 'Staging' && StandardApplyForEO.status !== 'pass'" :span="24" class="formLine">
|
||||
<el-form-item label="驳回原因" label-width="100px" class="add-form-item">
|
||||
<div class="contentLine">{{ StandardApplyForEO.refuseCause ? StandardApplyForEO.refuseCause : '--' }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div>
|
||||
<div class="drawer-footer">
|
||||
<el-button class="common-button-default" @click="visible=false">关闭</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'AddModal',
|
||||
data () {
|
||||
return {
|
||||
visible: false,
|
||||
showLoading: false,
|
||||
direction: 'rtl',
|
||||
StandardApplyForEO: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleClose () {
|
||||
this.visible = false
|
||||
},
|
||||
showModal (item) {
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.StandardApplyForEO = []
|
||||
this.StandardApplyForEO = item
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.label-input-form{
|
||||
padding: 0 19px;
|
||||
}
|
||||
.drawer-footer {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
padding: 0 20px;
|
||||
height: 70px;
|
||||
line-height: 69px;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
text-align: right;
|
||||
background: #fff;
|
||||
z-index: 999;
|
||||
}
|
||||
.content{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
min-height: 50px;
|
||||
overflow: auto;
|
||||
}
|
||||
.add-form-item{
|
||||
border-bottom: none;
|
||||
}
|
||||
.formLine{
|
||||
border-bottom: 1px dashed #e5e5e5
|
||||
}
|
||||
</style>
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
<template>
|
||||
<!--导出文件改名字模态框-->
|
||||
<el-dialog :visible.sync="exportModelFlag" title="导出文件" width="300px">
|
||||
<el-form :inline="true" class="label-input-form search-area">
|
||||
<el-form-item label="导出名称" class="search-item">
|
||||
<el-input v-model="exportName" placeholder="请输入导出文件名称" :maxlength="30" clearable label="导出名称"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="demo-drawer-footer">
|
||||
<el-button class="common-button-default" icon="el-icon-close" @click="cancel">取消</el-button>
|
||||
<el-button type="primary" round class="common-button-primary" icon="el-icon-check" @click="submit">提交</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'exportDialog',
|
||||
data () {
|
||||
return {
|
||||
exportModelFlag: false,
|
||||
exportName: ''
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openModel () {
|
||||
this.exportName = ''
|
||||
this.exportModelFlag = true
|
||||
},
|
||||
cancel () {
|
||||
this.exportModelFlag = false
|
||||
},
|
||||
submit () {
|
||||
this.$emit('exportData', this.exportName)
|
||||
this.exportModelFlag = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
/deep/ .label-input-form .add-form-item .el-form-item__content .el-input .el-input__inner {
|
||||
width: 280px;
|
||||
}
|
||||
/deep/ .el-dialog .el-dialog__header {
|
||||
width: 100%;
|
||||
font-size: 14px;
|
||||
color: #17233d;
|
||||
font-weight: bold;
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
/deep/ .el-dialog .el-dialog__body {
|
||||
padding: 15px 20px;
|
||||
}
|
||||
/deep/ .el-dialog .el-dialog__footer .el-button {
|
||||
height: 32px;
|
||||
padding: 8px 23px;
|
||||
}
|
||||
</style>
|
||||
+298
@@ -0,0 +1,298 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
title="标准/译文获取申请"
|
||||
width="70%"
|
||||
:visible.sync="visible"
|
||||
:before-close="handleClose"
|
||||
>
|
||||
<div class="operate">
|
||||
<el-button size="mini" type="primary" @click="standardTranslationAcquisitionRequestAdd">新增标准/译文获取申请</el-button>
|
||||
<el-upload
|
||||
:action="`/api/lawss/standardApplyFor/importData`"
|
||||
:headers="headers"
|
||||
style="margin: 0 10px"
|
||||
:on-success="importSuccess"
|
||||
:on-error="importError"
|
||||
:show-file-list="false"
|
||||
:multiple="false"
|
||||
accept=".xlsx,xls"
|
||||
>
|
||||
<el-button size="mini" type="primary">导入</el-button>
|
||||
</el-upload>
|
||||
<el-button size="mini" @click="templateDownload">模板下载</el-button>
|
||||
<el-button size="mini" @click="batchDelete()">批量删除</el-button>
|
||||
</div>
|
||||
<div class="table-container">
|
||||
<el-table
|
||||
ref="selections"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%; flex: auto;"
|
||||
class="drag-table"
|
||||
height="300px"
|
||||
row-key="id"
|
||||
border
|
||||
:data="StandardApplyForEO"
|
||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', fontWeight: 'bold', height: '48px'}"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
/>
|
||||
<el-table-column
|
||||
type="index"
|
||||
fixed="left"
|
||||
width="55"
|
||||
label="序号"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
label="类型"
|
||||
prop="typeShow"
|
||||
align="center"
|
||||
min-width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
label="标准编号"
|
||||
width="150"
|
||||
align="center"
|
||||
prop="standNumShow"
|
||||
/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
label="标准名称"
|
||||
prop="standName"
|
||||
align="center"
|
||||
min-width="150"
|
||||
/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
label="原语言"
|
||||
prop="sourceLanguage"
|
||||
align="center"
|
||||
min-width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
label="目标语言"
|
||||
prop="targetLanguage"
|
||||
align="center"
|
||||
min-width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
label="理由"
|
||||
prop="reason"
|
||||
align="center"
|
||||
min-width="300"
|
||||
/>
|
||||
<el-table-column label="操作" align="center" width="200" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<div class="table-operate-btn" @click="toView(scope.row)">查看</div>
|
||||
<div class="table-operate-btn" @click="edit(scope.row)">编辑</div>
|
||||
<div class="table-operate-btn" @click="batchDelete(scope.row.id)">删除</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:page="page"
|
||||
:total="total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"
|
||||
/>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button size="mini" type="primary" @click="cancel">取消</el-button>
|
||||
<el-button size="mini" type="primary" @click="submitData(1)">提交</el-button>
|
||||
</span>
|
||||
<loading :loading="tableLoading">数据加载中……</loading>
|
||||
<addModal ref="addModalRef" @updateList="getList" />
|
||||
<detailModal ref="detailModalRef" />
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import addModal from './addModal';
|
||||
import detailModal from './detailModal';
|
||||
export default {
|
||||
name: 'StandardTranslationAcquisitionRequestModal',
|
||||
components: {
|
||||
addModal,
|
||||
detailModal
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
visible: false,
|
||||
tableLoading: false,
|
||||
StandardApplyForEO: [],
|
||||
selectedList: [],
|
||||
page: 1,
|
||||
headers: {
|
||||
token: JSON.parse(localStorage.getItem('userInfo')).token
|
||||
},
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
total: 0,
|
||||
fileList: '',
|
||||
url: {
|
||||
deleteUrl: '/lawss/standardApplyFor/batchUpdateValidFlag',
|
||||
getList: '/lawss/standardApplyFor/queryStagingByPage',
|
||||
importData: '/lawss/standardApplyFor/importData'
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
showModal () {
|
||||
this.visible = true
|
||||
this.StandardApplyForEO = []
|
||||
this.page = 1
|
||||
this.getList()
|
||||
},
|
||||
handleClose () {
|
||||
this.visible = false
|
||||
this.$emit('updateIndexList')
|
||||
},
|
||||
toView (item) {
|
||||
this.$refs.detailModalRef.showModal(item)
|
||||
},
|
||||
edit (item) {
|
||||
this.$refs.addModalRef.showModal(item)
|
||||
},
|
||||
importSuccess (response) {
|
||||
if (response.ok) {
|
||||
this.$message({
|
||||
message: response.data,
|
||||
dangerouslyUseHTMLString: true,
|
||||
type: 'success'
|
||||
})
|
||||
}else {
|
||||
this.$message({
|
||||
message: response.message,
|
||||
dangerouslyUseHTMLString: true,
|
||||
type: 'warning'
|
||||
})
|
||||
}
|
||||
this.getList()
|
||||
},
|
||||
importError () {
|
||||
this.$message.error('操作失败')
|
||||
},
|
||||
templateDownload () {
|
||||
window.open('/api/lawss/standardApplyFor/exportTemplateFile?fileName=标准/译文获取申请模板.xlsx')
|
||||
},
|
||||
getList () {
|
||||
this.tableLoading = true
|
||||
this.$http.get(this.url.getList, { page: this.page, pageSize: this.pageSize }, {
|
||||
_this: this,
|
||||
}, res => {
|
||||
if (res.ok) {
|
||||
this.StandardApplyForEO = res.data.records
|
||||
this.total = res.data.total
|
||||
}else {
|
||||
this.StandardApplyForEO = []
|
||||
this.total = 0
|
||||
}
|
||||
this.tableLoading = false
|
||||
})
|
||||
},
|
||||
batchDelete (id) {
|
||||
let ids = ''
|
||||
let tipsText = ''
|
||||
if (id) {
|
||||
ids = id
|
||||
tipsText = '确认删除这条数据?'
|
||||
} else {
|
||||
if (this.selectedList && this.selectedList.length > 0) {
|
||||
ids = this.selectedList.join(',')
|
||||
tipsText = '确认删除这些数据?'
|
||||
}else{
|
||||
this.$message.warning('请至少勾选一条数据')
|
||||
return
|
||||
}
|
||||
}
|
||||
this.$confirm(tipsText, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
confirmButtonClass: 'common-button-primary',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
roundButton: false
|
||||
}).then(() => {
|
||||
this.$http.postData(this.url.deleteUrl, { ids: ids }, { _this: this }, res => {
|
||||
if (res.ok) {
|
||||
this.$message.success('操作成功')
|
||||
this.getList()
|
||||
this.selectedList = []
|
||||
}else{
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
// 取消删除,清空选择
|
||||
this.$refs.selections.clearSelection()
|
||||
})
|
||||
},
|
||||
submitData () {
|
||||
if (this.selectedList && this.selectedList.length > 0) {
|
||||
const query = {
|
||||
status: 'pendingApproval',
|
||||
ids: this.selectedList.join(',')
|
||||
}
|
||||
this.$http.postData('/lawss/standardApplyFor/batchUpdateStatus', query, { _this: this }, res => {
|
||||
if (res.ok) {
|
||||
this.$message.success('操作成功')
|
||||
this.getList()
|
||||
}else{
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.warning('请至少勾选一条数据')
|
||||
}
|
||||
},
|
||||
handleSelectionChange (value) {
|
||||
const ids = []
|
||||
value.forEach(item => {
|
||||
ids.push(item.id)
|
||||
})
|
||||
this.selectedList = [ ...ids ]
|
||||
},
|
||||
standardTranslationAcquisitionRequestAdd () {
|
||||
this.$refs.addModalRef.addModel()
|
||||
},
|
||||
pageChange (page) {
|
||||
this.page = page
|
||||
this.getList()
|
||||
},
|
||||
pageSizeChange (pageSize) {
|
||||
this.pageSize = pageSize
|
||||
this.getList()
|
||||
},
|
||||
cancel () {
|
||||
this.visible = false
|
||||
this.$emit('updateIndexList')
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.operate {
|
||||
display: flex;
|
||||
justify-content: right;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.table-operate-btn {
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
color: #409EFF;
|
||||
margin: 0 5px;
|
||||
}
|
||||
/deep/.el-input.is-disabled .el-input__inner{
|
||||
background-color: #fff;
|
||||
color: #606266;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,619 @@
|
||||
<template>
|
||||
<!--标准/译文获取申请管理-->
|
||||
<div class="standardTranslationAcquisitionRequest">
|
||||
<div class="search-area">
|
||||
<el-form :inline="true" :model="StandardApplyForEOPage">
|
||||
<el-form-item class="el-form-item search-item" label="类型">
|
||||
<el-select
|
||||
v-model="StandardApplyForEOPage.type"
|
||||
:placeholder="'请选择类型'"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="opt in typeList"
|
||||
:key="opt.value"
|
||||
:value="opt.value === undefined ? '' :opt.value"
|
||||
:label="opt.label"
|
||||
>
|
||||
{{ opt.label }}
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item class="el-form-item search-item" label="申请单位">
|
||||
<el-input
|
||||
v-model="applyForUnitName"
|
||||
:config="zrbmOptions"
|
||||
clearable
|
||||
placeholder="请选择申请单位"
|
||||
readonly
|
||||
@click.native="choiceZRBM('dep', '选择申请单位', StandardApplyForEOPage.applyForUnitIds)"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item class="el-form-item search-item" label="申请人">
|
||||
<el-input v-model="applyForUserName" placeholder="选择请选择申请人" @click.native="choiceWSSMR('wssmr', '请选择申请人', StandardApplyForEOPage.applyForUserIds)" />
|
||||
</el-form-item>
|
||||
<el-form-item class="el-form-item search-item" label="需求时间">
|
||||
<el-input v-model="StandardApplyForEOPage.requiredTime" clearable placeholder="请输入需求时间" />
|
||||
</el-form-item>
|
||||
<el-form-item class="el-form-item search-item" label="申请状态">
|
||||
<el-select
|
||||
v-model="StandardApplyForEOPage.status"
|
||||
:placeholder="'请选择申请状态'"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="opt in statusList"
|
||||
:key="opt.value"
|
||||
:value="opt.value === undefined ? '' :opt.value"
|
||||
:label="opt.label"
|
||||
>
|
||||
{{ opt.label }}
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button size="mini" type="primary" @click="searchData">查询</el-button>
|
||||
<el-button size="mini" @click="clearSerach">清空</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="table-container">
|
||||
<div class="operate-options">
|
||||
<div>
|
||||
<el-button v-btn-permission="'34ea84f51eb01a166b7acfe4f7b02c8d'" size="mini" type="danger" @click="batchOverrule(selectedList)">批量驳回</el-button>
|
||||
<el-button v-btn-permission="'a8218ff15358a5265e5571e49acf1f4e'" size="mini" type="primary" @click="batchPass(selectedList)">批量通过</el-button>
|
||||
<el-button v-btn-permission="'b899c22e27baa561b8c2ecb0f35d7302'" size="mini" @click="exportList">列表导出</el-button>
|
||||
</div>
|
||||
<div>
|
||||
<el-button v-btn-permission="'33809866b2fda3f52058299b5e2584c3'" size="mini" type="primary" @click="standardsAndTranslationRequestShowModal">标准/译文获取申请</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-table
|
||||
ref="selections"
|
||||
v-loading="tableLoading"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%; flex: auto;"
|
||||
class="drag-table"
|
||||
row-key="id"
|
||||
border
|
||||
:data="StandardApplyForEO"
|
||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', fontWeight: 'bold', height: '48px'}"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
/>
|
||||
<el-table-column
|
||||
type="index"
|
||||
fixed="left"
|
||||
width="55"
|
||||
label="序号"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
label="类型"
|
||||
prop="typeShow"
|
||||
align="center"
|
||||
min-width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
label="标准编号"
|
||||
width="150"
|
||||
align="center"
|
||||
prop="standNumShow"
|
||||
/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
label="标准名称"
|
||||
prop="standName"
|
||||
align="center"
|
||||
min-width="150"
|
||||
/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
label="原语言"
|
||||
prop="sourceLanguage"
|
||||
align="center"
|
||||
min-width="85"
|
||||
/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
label="目标语言"
|
||||
prop="targetLanguage"
|
||||
align="center"
|
||||
min-width="85"
|
||||
/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
label="理由"
|
||||
prop="reason"
|
||||
align="center"
|
||||
min-width="300"
|
||||
/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
label="申请状态"
|
||||
prop="statusShow"
|
||||
align="center"
|
||||
min-width="100"
|
||||
/>
|
||||
<el-table-column label="操作" align="center" width="200" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<div class="table-operate-btn" @click="toView(scope.row)">查看</div>
|
||||
<div v-show="scope.row.status ==='pendingApproval'" v-btn-permission="'3bc041e58bcb4b0510bcc1aad0b9ce89'" class="table-operate-btn" @click="batchPass([scope.row.id])">通过</div>
|
||||
<div v-show="scope.row.status ==='pendingApproval'" v-btn-permission="'92adace8c9a703b3b2472f684808db98'" class="table-operate-btn" @click="batchOverrule([scope.row.id])">驳回</div>
|
||||
<div
|
||||
v-if="account === scope.row.createBy"
|
||||
v-show="scope.row.status ==='pendingApproval'"
|
||||
v-btn-permission="'08d4e36d7580c108f3a4ee8a66bbe04e'"
|
||||
class="table-operate-btn"
|
||||
@click="ResubmitOrWithdraw (scope.row.id,'draft')"
|
||||
>
|
||||
撤回
|
||||
</div>
|
||||
<div
|
||||
v-if="account === scope.row.createBy"
|
||||
v-show="scope.row.status === 'refuse' || scope.row.status === 'draft'"
|
||||
v-btn-permission="'a2a193e87244b42fb2f989a1a9b40330'"
|
||||
class="table-operate-btn"
|
||||
@click="edit(scope.row)"
|
||||
>
|
||||
编辑
|
||||
</div>
|
||||
<div
|
||||
v-if="account === scope.row.createBy"
|
||||
v-show="scope.row.status === 'refuse' || scope.row.status === 'draft'"
|
||||
v-btn-permission="'c3944c3c309ba5bc5d11b6b5a2773454'"
|
||||
class="table-operate-btn"
|
||||
@click="ResubmitOrWithdraw (scope.row.id,'pendingApproval')"
|
||||
>
|
||||
重新提交
|
||||
</div>
|
||||
<div
|
||||
v-if="account === scope.row.createBy"
|
||||
v-show="scope.row.status === 'refuse' || scope.row.status === 'draft'"
|
||||
class="table-operate-btn"
|
||||
@click="batchDelete (scope.row.id)"
|
||||
>
|
||||
删除
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:page="StandardApplyForEOPage.page"
|
||||
:total="total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"
|
||||
/>
|
||||
</div>
|
||||
<standardsAndTranslationModal ref="standardsAndTranslationModalRef" @updateIndexList="getList" />
|
||||
<detailModal ref="detailModalRef" />
|
||||
<addModal ref="addModalRef" @updateList="getList" />
|
||||
<exportDialog ref="exportDialogRef" @exportData="exportName" />
|
||||
<Role-tree
|
||||
:is-title="drawerTitle"
|
||||
:is-visible.sync="modalShowRoleFlag"
|
||||
:nodeList="nodeList"
|
||||
@checkedRole="checkedRole"
|
||||
/>
|
||||
<Mechanism-tree
|
||||
:checkBox="true"
|
||||
:is-title="choiceTitle"
|
||||
:is-visible.sync="modalShowDepFlag"
|
||||
:nodeList="nodeListDep"
|
||||
@checkedRole="drawerCheckDep"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import standardsAndTranslationModal from './components/standardTranslationAcquisitionRequestModal';
|
||||
import detailModal from './components/detailModal';
|
||||
import addModal from './components/addModal';
|
||||
import exportDialog from './components/exportDialog';
|
||||
import axios from '@/common/axiosV2'
|
||||
|
||||
export default {
|
||||
name: 'StandardTranslationAcquisitionRequest',
|
||||
components: {
|
||||
standardsAndTranslationModal,
|
||||
detailModal,
|
||||
exportDialog,
|
||||
addModal
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
applyForUnitName: '',
|
||||
modalShowDepFlag: false,
|
||||
choiceTitle: '', // 人员选择
|
||||
zrbmOptions: {
|
||||
attrName: '责任部门',
|
||||
options: []
|
||||
},
|
||||
tableLoading: false,
|
||||
selectedTag: true,
|
||||
total: 0,
|
||||
StandardApplyForEOPage: {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
},
|
||||
applyForUserName: '',
|
||||
StandardApplyForEO: [],
|
||||
selectedList: [],
|
||||
url: {
|
||||
getList: '/lawss/standardApplyFor/queryByPage',
|
||||
updateState: '/lawss/standardApplyFor/batchUpdateStatus',
|
||||
exportData: '/lawss/standardApplyFor/exportStandardApplyForEOExcel',
|
||||
deleteUrl: '/lawss/standardApplyFor/batchUpdateValidFlag',
|
||||
},
|
||||
typeList: [],
|
||||
applicantUnitList: [],
|
||||
statusList: [
|
||||
{
|
||||
label: '通过',
|
||||
value: 'pass',
|
||||
},
|
||||
{
|
||||
label: '驳回',
|
||||
value: 'refuse',
|
||||
},
|
||||
{
|
||||
label: '待审批',
|
||||
value: 'pendingApproval',
|
||||
},
|
||||
{
|
||||
label: '草稿',
|
||||
value: 'draft',
|
||||
}
|
||||
],
|
||||
nodeList: [],
|
||||
userType: '',
|
||||
drawerTitle: '',
|
||||
modalShowRoleFlag: false,
|
||||
account: '',
|
||||
nodeListDep: []
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.account = JSON.parse(window.localStorage.getItem('userInfo')).account
|
||||
if (this.$route.query && this.$route.query.tag === 'fromSearchCenter') {
|
||||
this.standardsAndTranslationRequestShowModal()
|
||||
this.$router.replace({ query: { ...this.$route.query, tag: undefined } })
|
||||
}
|
||||
this.getList()
|
||||
this.getDicTypeListCode()
|
||||
},
|
||||
methods: {
|
||||
batchDelete (id) {
|
||||
let ids = ''
|
||||
let tipsText = ''
|
||||
if (id) {
|
||||
ids = id
|
||||
tipsText = '确认删除这条数据?'
|
||||
}
|
||||
this.$confirm(tipsText, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
confirmButtonClass: 'common-button-primary',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
roundButton: false
|
||||
}).then(() => {
|
||||
this.$http.postData(this.url.deleteUrl, { ids: ids }, { _this: this }, res => {
|
||||
if (res.ok) {
|
||||
this.$message.success('操作成功')
|
||||
this.getList()
|
||||
}else{
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
drawerCheckDep (data) {
|
||||
let idList = ''
|
||||
let nameList = ''
|
||||
data.forEach(item => {
|
||||
if (nameList.length > 0) {
|
||||
nameList += ','
|
||||
idList += ','
|
||||
}
|
||||
idList += item.id
|
||||
nameList += item.name
|
||||
})
|
||||
this.StandardApplyForEOPage.applyForUnitIds = idList;
|
||||
this.applyForUnitName = nameList;
|
||||
},
|
||||
choiceZRBM (type, title, id = '') {
|
||||
this.nodeListDep = []
|
||||
if (id) {
|
||||
this.$set(this, 'nodeListDep', id.split(','))
|
||||
}
|
||||
this.choiceTitle = title
|
||||
this.modalShowDepFlag = true
|
||||
},
|
||||
ResubmitOrWithdraw (id, status) {
|
||||
const query = {
|
||||
status: status ? status : '',
|
||||
ids: id
|
||||
}
|
||||
this.$http.postData('/lawss/standardApplyFor/batchUpdateStatus', query, { _this: this }, res => {
|
||||
if (res.ok) {
|
||||
this.$message.success('操作成功')
|
||||
this.getList()
|
||||
}else{
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
edit (item) {
|
||||
this.$refs.addModalRef.showModal(item)
|
||||
},
|
||||
checkedRole (data) {
|
||||
let idList = ''
|
||||
let nameList = ''
|
||||
data.forEach(item => {
|
||||
if (nameList.length > 0) {
|
||||
nameList += ','
|
||||
idList += ','
|
||||
}
|
||||
idList += item.id
|
||||
nameList += item.name
|
||||
})
|
||||
this.StandardApplyForEOPage.applyForUserIds = idList
|
||||
this.applyForUserName = nameList
|
||||
},
|
||||
choiceWSSMR (type, title, id) {
|
||||
this.nodeList = []
|
||||
if(id) {
|
||||
const nameId = id.split(',')
|
||||
let idList = []
|
||||
nameId.forEach(item => {
|
||||
idList.push(item)
|
||||
})
|
||||
idList = idList.join(',')
|
||||
this.nodeList.push(idList)
|
||||
}
|
||||
this.userType = type
|
||||
this.drawerTitle = title
|
||||
this.modalShowRoleFlag = true
|
||||
},
|
||||
getDicTypeListCode () {
|
||||
this.$http.get('sys/dictype/getDicTypeListCode', '', {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.typeList = res.data.BZJYWTYPE // 标准类别
|
||||
this.applicantUnitList = res.data.GKGLBM // 归口管理部门
|
||||
}, e => {
|
||||
})
|
||||
},
|
||||
searchData () {
|
||||
this.StandardApplyForEOPage.page = 1
|
||||
this.getList()
|
||||
},
|
||||
clearSerach () {
|
||||
this.applyForUnitName = ''
|
||||
this.applyForUserName = ''
|
||||
this.StandardApplyForEOPage = {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent
|
||||
}
|
||||
this.getList()
|
||||
},
|
||||
getList () {
|
||||
this.tableLoading = true
|
||||
this.$http.get(this.url.getList, {
|
||||
...this.StandardApplyForEOPage
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.ok) {
|
||||
this.StandardApplyForEO = res.data.records
|
||||
this.total = res.data.total
|
||||
}else {
|
||||
this.StandardApplyForEO = []
|
||||
this.total = 0
|
||||
}
|
||||
this.selectedList = []
|
||||
this.$refs.selections.clearSelection()
|
||||
this.tableLoading = false
|
||||
this.$http.get('/lawss/standardApplyFor/queryPendingApprovalCount', '', { _this: this }, res => {
|
||||
if (res.ok) {
|
||||
this.$store.commit('SET_STANDARD_TRANSLATION_TODO', res.data)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
batchPass (id) {
|
||||
if (id.length === 0) {
|
||||
this.$message({
|
||||
message: '请选择至少一条数据',
|
||||
type: 'warning',
|
||||
offset: 20
|
||||
})
|
||||
return
|
||||
}
|
||||
if (!this.selectedTag) {
|
||||
this.$message({
|
||||
message: '只能选择待审批的数据,请重新选择',
|
||||
type: 'warning',
|
||||
offset: 20
|
||||
})
|
||||
return
|
||||
}
|
||||
const ids = id.join(',')
|
||||
this.$confirm('确定通过?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
confirmButtonClass: 'common-button-primary',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
roundButton: false
|
||||
}).then(() => {
|
||||
this.$http.postData(this.url.updateState, { status: 'pass', ids: ids }, { _this: this }, res => {
|
||||
if (res.ok) {
|
||||
this.$message.success('操作成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
// 取消删除,清空选择
|
||||
this.$refs.selections.clearSelection()
|
||||
})
|
||||
},
|
||||
batchOverrule (id) {
|
||||
if (id.length === 0) {
|
||||
this.$message({
|
||||
message: '请选择至少一条数据',
|
||||
type: 'warning',
|
||||
offset: 20
|
||||
})
|
||||
return
|
||||
}
|
||||
if (!this.selectedTag) {
|
||||
this.$message({
|
||||
message: '只能选择待审批的数据,请重新选择',
|
||||
type: 'warning',
|
||||
offset: 20
|
||||
})
|
||||
return
|
||||
}
|
||||
const ids = id.join(',')
|
||||
this.$prompt('请输入驳回原因', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
confirmButtonClass: 'common-button-primary',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
roundButton: false,
|
||||
inputValidator: (value) => {
|
||||
if (value === null || value === undefined) {
|
||||
return '驳回原因不能为空'
|
||||
} else if (value.length > 500) {
|
||||
return '驳回原因不能超过500个字符'
|
||||
} else if (value.length === 0) {
|
||||
return '驳回原因不能为空'
|
||||
} else {
|
||||
return true
|
||||
}
|
||||
},
|
||||
inputErrorMessage: ''
|
||||
}).then(({ value }) => {
|
||||
this.$http.postData(this.url.updateState, { status: 'refuse', refuseCause: value, ids }, { _this: this }, res => {
|
||||
if (res.ok) {
|
||||
this.$message.success('操作成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
// 取消删除,清空选择
|
||||
this.$refs.selections.clearSelection()
|
||||
})
|
||||
},
|
||||
exportName (name) {
|
||||
const params = {
|
||||
...this.StandardApplyForEOPage,
|
||||
exportFileName: name ? name : '标准及译文获取申请',
|
||||
ids: this.selectedList.length > 0 ? this.selectedList.join(',') : '',
|
||||
};
|
||||
axios({
|
||||
url: '/api/lawss/standardApplyFor/exportStandardApplyForEOExcel',
|
||||
method: 'get',
|
||||
responseType: 'blob',
|
||||
params: params
|
||||
}).then(res => {
|
||||
const blob = new Blob([ res ], { type: 'application/vnd.ms-excel' });
|
||||
// 浏览器兼容,Google和火狐支持a标签的download,IE不支持
|
||||
if (window.navigator && window.navigator.msSaveBlob) {
|
||||
// IE浏览器、微软浏览器
|
||||
/* 经过测试,微软浏览器Microsoft Edge下载文件时必须要重命名文件才可以打开,
|
||||
IE可不重命名,以防万一,所以都写上比较好 */
|
||||
window.navigator.msSaveBlob(blob, name + '.xlsx');
|
||||
} else {
|
||||
// 其他浏览器
|
||||
const link = document.createElement('a'); // 创建a标签
|
||||
link.style.display = 'none';
|
||||
const objectUrl = URL.createObjectURL(blob);
|
||||
link.href = objectUrl;
|
||||
link.download = name ? name : '标准及译文获取申请' + '.xlsx';
|
||||
link.click();
|
||||
URL.revokeObjectURL(objectUrl);
|
||||
}
|
||||
})
|
||||
},
|
||||
exportList () {
|
||||
this.$refs.exportDialogRef.openModel()
|
||||
},
|
||||
toView (id) {
|
||||
this.$refs.detailModalRef.showModal(id)
|
||||
},
|
||||
standardsAndTranslationRequestShowModal () {
|
||||
this.$refs.standardsAndTranslationModalRef.showModal()
|
||||
},
|
||||
pageChange (page) {
|
||||
this.StandardApplyForEOPage.page = page
|
||||
this.getList()
|
||||
},
|
||||
pageSizeChange (pageSize) {
|
||||
this.StandardApplyForEOPage.pageSize = pageSize
|
||||
this.getList()
|
||||
},
|
||||
handleSelectionChange (value) {
|
||||
const ids = []
|
||||
value.forEach(item => {
|
||||
ids.push(item.id)
|
||||
this.selectedTag = true
|
||||
if (item.status !== 'pendingApproval') {
|
||||
this.selectedTag = false
|
||||
}
|
||||
})
|
||||
this.selectedList = [ ...ids ]
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.standardTranslationAcquisitionRequest {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.table-container {
|
||||
background-color: white;
|
||||
padding: 0 10px;
|
||||
flex-grow: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.drag-table {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.operate-options {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.table-operate-btn {
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
color: #409EFF;
|
||||
margin: 0 5px;
|
||||
}
|
||||
|
||||
.stand-date-range-picker {
|
||||
/deep/ .el-range-separator {
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -81,6 +81,7 @@
|
||||
<div>首页</div>
|
||||
</router-link>
|
||||
</div>
|
||||
<el-button @click="toStandardTranslationAcquisitionRequest" style="margin-left: auto" type="primary" size="mini">标准/译文获取申请</el-button>
|
||||
</div>
|
||||
<div class="main">
|
||||
<loading :loading="loading">数据获取中</loading>
|
||||
@@ -236,6 +237,15 @@ export default {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
toStandardTranslationAcquisitionRequest () {
|
||||
let url = this.$router.resolve({
|
||||
name: 'standardTranslationAcquisitionRequest',
|
||||
query: {
|
||||
tag: 'fromSearchCenter'
|
||||
}
|
||||
})
|
||||
window.open(url.href, '_blank')
|
||||
},
|
||||
onSearch () {
|
||||
this.searchForm.page = 1
|
||||
this.getData()
|
||||
|
||||
@@ -4112,6 +4112,16 @@ const routes = [
|
||||
menuId: ''
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/standardTranslationAcquisitionRequest',
|
||||
name: 'standardTranslationAcquisitionRequest',
|
||||
component: () => import('@/pages/regulatoryRepository/standardTranslationAcquisitionRequest'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '标准/译文获取申请管理',
|
||||
menuId: 'd7ad73e98162894d020aa993c08a4532'
|
||||
}
|
||||
},
|
||||
// 本地产品/项目库详情页
|
||||
{
|
||||
path: '/localProductDetail',
|
||||
|
||||
@@ -182,5 +182,8 @@ export default {
|
||||
},
|
||||
refreshFlag: state => {
|
||||
return state.refreshFlag
|
||||
},
|
||||
getStandardTranslationTodo: state => {
|
||||
return state.standardTranslationTodo
|
||||
}
|
||||
}
|
||||
|
||||
@@ -302,5 +302,8 @@ export default {
|
||||
try {
|
||||
localStorage.setItem('refreshFlag', flag)
|
||||
} catch (e) {}
|
||||
},
|
||||
SET_STANDARD_TRANSLATION_TODO (state, value) {
|
||||
state.standardTranslationTodo = value
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ let rukuBaseInfo = '' // 入库流程基础表单信息(后几步展示用)
|
||||
let accessStandRegRows = '' // 标准法规清单编辑
|
||||
let accessStandRegTabName = '' // 标准法规清单页面当前页签
|
||||
let refreshFlag = '' // 监听其他页面刷新
|
||||
let standardTranslationTodo = 0 // 标准/译文获取申请管理待办标记
|
||||
try {
|
||||
if (localStorage.theme) { defaultTheme = localStorage.theme }
|
||||
if (localStorage.token) { defaultToken = localStorage.token }
|
||||
@@ -102,5 +103,6 @@ export default {
|
||||
rukuBaseInfo,
|
||||
accessStandRegRows,
|
||||
accessStandRegTabName,
|
||||
refreshFlag
|
||||
refreshFlag,
|
||||
standardTranslationTodo
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user