合并分支 'dev_20230216' 到 'master'

Dev 20230216

查看合并请求 laws-foton-slrs/foton-laws-system-front!31
This commit is contained in:
高嵩
2023-04-04 09:33:37 +08:00
21 changed files with 745 additions and 54 deletions
@@ -833,6 +833,32 @@
@click="editResolveList"
>编辑
</el-button>
<el-upload
style="display: inline-block;margin:0 5px;"
:show-file-list = 'false'
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'bd291146ac1e42c48968c5142ae55375' : '960a97045a6e47b0b8e33ebc347e5fd9'"
:limit="1"
ref="importSplitResultFile"
:action="splitResultPath"
:file-list="defaultImportSplitResultFileList"
:data="uploadFilesplitEo"
:headers="headers"
:on-success="uploadSplitResultSuccess"
:on-remove="removeSplitResultFile"
:before-upload="beforeSplitResultImport"
:on-change="handleUploadChange"
>
<el-button size="mini" icon="el-icon-upload">拆分结果上传
</el-button>
</el-upload>
<el-button
size="mini"
type="primary"
@click="uploadImportSplitResultModal"
>模板下载
</el-button>
<!--<el-button size="mini" type="primary" @click="handleImportSplitResult">拆分结果提交-->
<!--</el-button>-->
</div>
<div class="content">
<el-table
@@ -968,8 +994,6 @@
:total="total7"
@pageChange="pageChange7"
@pageSizeChange="pageSizeChange7"></pagination>
<!-- <el-pagination-->
<!-- @size-change="pageSizeChange"-->
<!-- @current-change="pageChange"-->
@@ -2140,12 +2164,134 @@ export default {
itemsText: '',
itemsTextDialogs: false,
textStatusMap: {},
standMap: {}
standMap: {},
splitResultPath: 'api/lawss/sarFileSplitItems/importSplitItemsZip',
defaultImportSplitResultFileList:[],
// 记录上传文件相关信息
uploadFilesplitEo: {
standId: '',
fileType: '',
attId: '',
fileName: '',
standNumSplit: '',
standNameSplit: '',
defaultFileList: [],
splitType: '全部章节'
},
headers:{
token: localStorage.getItem('userInfo')?.token
}
}
},
props: {},
watch: {},
methods: {
// 模板下载
uploadImportSplitResultModal () {
window.open('/api/lawss/sarFileSplitItems/exportTemplate')
},
uploadSplitResultSuccess (res, file, fileList) {
if (res.ok) {
this.uploadFilesplitEo.attId = res.data.attId
this.uploadFilesplitEo.fileName = res.data.name
if (res.data.standNum != null && res.data.standNum !== '') {
this.uploadFilesplitEo.standNumSplit = res.data.standNum
}
if (res.data.standName != null && res.data.standName !== '') {
this.uploadFilesplitEo.standNameSplit = res.data.standName
}
this.defaultImportSplitResultFileList.push(file)
this.$message.success('文件上传成功')
setTimeout(()=>{
this.handleImportSplitResult();
},1000)
} else {
this.defaultImportSplitResultFileList = []
this.uploadFilesplitEo.attId = ''
this.$message.error(res.message)
}
},
handleImportSplitResult(){
console.log(123333)
if (this.defaultImportSplitResultFileList.length) {
const file = this.defaultImportSplitResultFileList[0]
const fileTypeResult = this.beforeSplitResultImport(file.raw)
const _formData = new FormData()
_formData.append('standNumSplit', this.uploadFilesplitEo.standNumSplit)
_formData.append('standId', this.uploadFilesplitEo.standId)
_formData.append('standNameSplit', this.uploadFilesplitEo.standNameSplit)
_formData.append('fileType', this.uploadFilesplitEo.fileType)
_formData.append('file', file.raw)
if (fileTypeResult) {
this.importSplitResultLoading = true
this.$http.postData('lawss/sarFileSplitItems/importSplitItemsZip', _formData, {
}, res => {
this.importSplitResultLoading = false
if (res.ok) {
this.visibleImportSplitResultDialog = false
this.$message({
dangerouslyUseHTMLString: true,
message: res.message,
type: 'success'
})
} else {
this.$message({
dangerouslyUseHTMLString: true,
message: res.message,
type: 'warning'
})
}
})
}
} else {
this.$message.warning('请上传文件')
}
},
// 上传按钮 文件上传之前的钩子
beforeSplitResultImport(file) {
if (this.sarStandardsInfoEO.standYear) {
this.sarStandardsInfoEO.lawsNumber = this.sarStandardsInfoEO.standSortShow + ' ' + this.sarStandardsInfoEO.standNumber + '-' + this.sarStandardsInfoEO.standYear
} else {
this.sarStandardsInfoEO.lawsNumber = this.sarStandardsInfoEO.standSortShow + ' ' + this.sarStandardsInfoEO.standNumber
}
this.sarStandardsInfoEO.lawsName = this.sarStandardsInfoEO.standName
this.sarStandardsInfoEO.stateName = this.sarStandardsInfoEO.standStateShow
// this.sarStandardsInfoEO.resType = this.$route.params.pageType
this.uploadFilesplitEo.standNumSplit = this.sarStandardsInfoEO.lawsNumber
this.uploadFilesplitEo.standNameSplit = this.sarStandardsInfoEO.lawsName
this.uploadFilesplitEo.standId = this.sarStandardsInfoEO.id
this.uploadFilesplitEo.fileType = this.$route.params.pageType
var filename = file.name
var index1 = filename.lastIndexOf('.')
var index2 = filename.length
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名
if (this.defaultImportSplitResultFileList.length > 1) {
this.$message.warning('只能导入一个文件')
return false
}
if (fileSuffix !== '.zip') {
this.$message.warning('文件' + file.name + '格式不正确,请上传zip文件')
return false
}
if (file.size / 1024 / 1024 > 200) {
this.$message.warning('文件大小不能超过200M')
return false
}
return true
},
removeSplitResultFile (file, fileList) {
this.defaultImportSplitResultFileList = fileList
this.uploadFilesplitEo.attId = fileList.length > 0 ? this.uploadFilesplitEo.attId : ''
this.uploadFilesplitEo.defaultFileList = fileList
},
// 导入拆分结果
handleUploadChange (file, fileList) {
this.defaultImportSplitResultFileList = fileList
this.uploadFilesplitEo.defaultFileList = fileList
// this.$refs['uploadFileSplitEO'].validateField('defaultFileList')
},
filterApplyArctic(row) {
if (row.applyArctic) {
return row.applyArctic.replaceAll('\"', '').replaceAll('\[', '').replaceAll('\]', '')
@@ -16,11 +16,11 @@
size="small"
class="common-button-primary"
icon="el-icon-check"
@click="handleReceive(item)" v-if="(item.prcType == 25 && item.taskInfo == '技术标准起草') || (item.prcType == 3 && item.taskInfo == '意见反馈') ||
@click="handleReceive(item)" v-if="item.showreceive && ((item.prcType == 25 && item.taskInfo == '技术标准起草') || (item.prcType == 3 && item.taskInfo == '意见反馈') ||
(item.prcType == 9 && item.taskInfo == '解读') || (item.prcType == 6 && item.taskInfo === '合规评估') || (item.prcType == 6 && item.taskInfo == '批准') ||
(item.prcType == 2 && item.taskInfo === '调研结果反馈') || (item.prcType == 8 && item.taskInfo === '合规排查(上传合规举证材料)') ||
(item.prcType == 10 && item.taskInfo === '清单完善1') || (item.prcType == 26 && item.taskInfo === '立项确认') ||
(item.prcType == 'buss3' && item.taskInfo === '复审')? true : false">接受任务</el-button>
(item.prcType == 'buss3' && item.taskInfo === '复审'))? true : false">接受任务</el-button>
<!-- <el-tooltip class="item" effect="dark" :content="getPrcNameFilter(item)" placement="left" v-else>-->
<!-- <span @click="dealWith(item)"-->
<!-- style="line-height: 30px; font-size: 13px;">{{ getPrcNameFilter(item).substring(0, 32) + '...' }}</span>-->
@@ -41,6 +41,7 @@ export default {
toDoTaskList: [],// 代办数据
total: 0,
pageNo: 1,
showreceive:true,
}
},
computed: {},
@@ -1992,18 +1993,16 @@ export default {
}
case '27':
this.$router.push({
name: 'MyQuestions',
query:{
name: 'MyQuestions2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType,
}
})
break
break
}
},
},
+4 -1
View File
@@ -30,6 +30,7 @@
<div class="action-bar">
<el-button size="small" type="primary" @click="spiltStandFile" v-btn-permission="'633d92e841ab4d49fb57b48b45fd0db8'">拆分</el-button>
<el-button size="small" type="danger" @click="batchDelete" v-btn-permission="'e214975dcab66d2e27bf2ed9897f521c'">删除</el-button>
<el-button size="small" type="primary" @click="clickButtonToImport" v-btn-permission="'449d7543121f8588b0bddc4038d14863'">导入拆分结果</el-button>
</div>
<div class="table-wrap">
<div style="position: absolute;height: 100%;width: 100%;">
@@ -816,7 +817,7 @@ export default {
methods: {
// 模板下载
uploadImportModal () {
window.open('/api/att/attFile/uploadModalFile?fileName=标准拆分导入拆分结果模板.zip')
window.open('/api/lawss/sarFileSplitItems/exportTemplate')
},
// 点击手动查找标准/政策按钮,弹出抽屉事件
selectLaws () {
@@ -924,6 +925,7 @@ export default {
handleConfirm () {
this.uploadFilesplitEo.standNumSplit = this.standSelected[0].lawsNumber
this.uploadFilesplitEo.standNameSplit = this.standSelected[0].lawsName
this.uploadFilesplitEo.standId = this.standSelected[0].id
this.isDrawer = false
},
// 政策、标准取消关闭抽屉事件
@@ -1566,6 +1568,7 @@ export default {
const fileTypeResult = this.beforeSplitResultImport(file.raw)
const _formData = new FormData()
_formData.append('standNumSplit', this.uploadFilesplitEo.standNumSplit)
_formData.append('standId', this.uploadFilesplitEo.standId)
_formData.append('standNameSplit', this.uploadFilesplitEo.standNameSplit)
_formData.append('fileType', this.uploadFilesplitEo.fileType)
_formData.append('file', file.raw)
@@ -0,0 +1,301 @@
<!--我的回答-->
<template>
<div>
<el-divider style="margin: 10px 0;"></el-divider>
<div id="message-content">
<el-form ref="form" :model="form" :rules="rules">
<el-form-item prop="reply">
<el-input
type="textarea"
:rows="2"
placeholder="请输入回答内容"
v-model="form.reply">
</el-input>
</el-form-item>
<div>
<el-button
type="primary"
class="common-button-primary"
size="small"
style="float: right;"
@click="handleSubmit"
>提交</el-button>
<el-button
type="primary"
class="common-button-primary"
size="small"
style="float: right;margin-right: 10px;"
@click="openUploadFileDialog"
>上传文件</el-button>
<el-button
type="primary"
class="common-button-primary"
size="small"
style="float: right;"
@click="queArchive"
>问题归档</el-button>
<el-button
type="primary"
class="common-button-primary"
size="small"
style="float: right;margin-right: 10px;"
@click="invitation"
>邀请</el-button>
</div>
</el-form>
</div>
<el-dialog
width='400px'
:visible.sync="importModalshowflagtemp"
title="上传文件"
:footer-hide="true"
append-to-body
>
<el-upload
multiple
drag
:on-success="uploadSuccess"
:before-upload="beforeUpload"
:on-remove="removeOneFile"
:action="actionPath"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
name="file"
:limit="5"
:on-exceed="handleExceed"
:file-list="fileList"
ref="importFileAboutStand">
<i class="el-icon-upload"></i>
<div class="el-upload__text">点击或拖拽上传文件</div>
</el-upload>
</el-dialog>
<!--归档弹窗 -->
<el-dialog
title="问题归档"
:visible.sync="dialogVisible"
width="650px"
:before-close="handleClose">
<div>
<el-form ref="queForm" :rules="queRules" class="label-input-form" label-width="80px" :model="questionForm">
<div v-for="(item,index) in queList" :key="index">
<el-form-item label="回答" prop="problemDescription" class="serch-form-item">
<el-input v-model="item.reply"></el-input>
</el-form-item>
</div>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button class="common-button-default" size="mini" @click="dialogVisible = false"> </el-button>
<el-button class="common-button-primary" size="mini" type="primary" :loading="submitBtnLoading" @click="queSubmit"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
name: "answerItem",
props: {
list: {
type: Array,
required: false
},
asdId:{
type: String,
required: true
}
},
data(){
return{
roleFlag: false,
nodeList: [],
flag:'',
mergeSelectList: [],
// 上传地址
actionPath: 'api/att/attFile/uploadNew',
importModalshowflagtemp: false,
submitBtnLoading: false,
dialogVisible: false,
queList:[],
queRules:{},
questionForm:{
problemDescription: '', //回答
},
fileList: [],
form:{
reply: '',
answerer: this.$store.getters.userInfo.userId,
},
rules: {
reply: [
{ required: true, message: '请输入回复内容', trigger: 'blur' },
{ min: 1, max: 500, message: '长度在 1 到 500 个字符', trigger: 'blur' }
]
},
}
},
methods:{
handleExceed(files, fileList) {
this.$message.warning(`当前限制选择 5 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
},
deleteReplyToenNotice(){
let taskId = this.$route.query.taskIds
return new Promise((resolve,reject) => {
this.$http.post('lawss/activiti/deleteReplyToenNotice',{
taskId,
answerer: this.$store.getters.userInfo.usid || this.$store.getters.userInfo.userId
},
{
_this: this
}, res => {
resolve(res)
}, e => {
reject(e)
})
})
},
//提交
handleSubmit(){
this.$refs['form'].validate((valid) => {
if (valid) {
this.$emit('emitInsState',false)
// let asdId = sessionStorage.getItem('queId')
this.form.fileList = this.fileList
this.form.askId = this.asdId
this.$http.postData('lawss/Reply/insertReply',{ ...this.form },{
_this: this
}, res => {
if(this.list.length === 0){
this.deleteReplyToenNotice()
.then(res => {
this.$http.post("lawss/activiti/completeTask", {
json: JSON.stringify(this.form),
taskId: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
});
this.form.reply = ''
this.fileList = []
this.$emit('emitInsState',true)
}).catch(e => console.log(e))
}else{
this.$http.post("lawss/activiti/completeTask", {
json: JSON.stringify(this.form),
taskId: this.$route.query.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
});
if(res.respCode === '200'){
this.form.reply = ''
this.fileList = []
this.$emit('emitInsState',true)
console.log('----------1111----------')
//此处需要调用父组件中的方法,将问题列表进行刷新操作
}
}
}, e => {
})
}
})
},
//上传文件
openUploadFileDialog(){
this.importModalshowflagtemp = true
},
//上传成功
uploadSuccess(res,file,fileList){
if(res.ok){
this.fileList.push(res.data)
this.$message.success('上传成功')
}else{
this.$message.warning(res.message)
fileList.pop()
}
// this.importModalshowflagtemp = false
},
//文件上传前
beforeUpload(file){
console.log(file);
var filename = file.name;
var index1 = filename.lastIndexOf('.')
var index2 = filename.length
var fileSuffix = filename.substring(index1, index2)
//把后缀转大写
if(fileSuffix){
fileSuffix = fileSuffix.toUpperCase()
}
// 判断上传文件格式
if (fileSuffix === ".PDF" || fileSuffix === ".DOC" || fileSuffix === ".DOCX" || fileSuffix === ".PPT"
|| fileSuffix === ".PPTX" || fileSuffix === ".XLS" || fileSuffix === ".XLSX"
|| fileSuffix === ".PNG" || fileSuffix === ".JPG" || fileSuffix === ".JPEG") {
return true;
} else {
this.$message.error("文件" + file.name + "格式不正确,请上传pdf、doc、docx、ppt、pptx、xls、xlsx、png、jpg、jpeg等文件");
return false;
}
// 判断文件上传大小
if (file.size / 1024 / 1024 > 300) {
this.$message.warning("文件" + file.name + "大小不能超过300M");
return false;
}
return true;
},
//删除文件
removeOneFile(){
this.fileList.forEach((item,index) => {
if(item.name === file.name || item.id === file.id){
this.fileList.splice(index, 1)
}
})
},
handleClose(){
this.queList = []
this.dialogVisible = false
},
queSubmit(){
console.log(this.queList);
let queList = JSON.stringify(this.queList)
this.$emit('emitInsState',false)
this.$http.postData('lawss/Reply/updateReply',queList,
{
_this: this
}, res => {
if(res.respCode === '200'){
this.$emit('emitInsState',true)
}
}, e => {
})
},
//问题归档
queArchive(){
console.log(this.mergeSelectList);
this.mergeSelectList = this.mergeSelectList.filter ( item => item.state !== 'yes' && item.checked);
for (let i = 0; i < this.mergeSelectList.length; i++) {
if(this.mergeSelectList[i].checked){
this.queList.push(this.mergeSelectList[i])
}
}
if(this.queList && this.queList.length > 0){
this.dialogVisible = true
}else {
this.$message.warning('请选择归档内容')
}
},
//邀请
invitation(){
this.$emit('roleFlagBoo',true)
},
},
created () {
this.mergeSelectList = JSON.parse(JSON.stringify(this.list))
},
};
</script>
<style lang="less" scoped>
#message-content{
}
</style>
@@ -0,0 +1,218 @@
<!--我的问答-->
<template>
<div id="my-questions">
<div class="search-area">
<el-form :model="form" :inline="true" label-width="80px">
<el-form-item label="标准类型">
<el-input v-model="form.classification" readonly></el-input>
</el-form-item>
<el-form-item label="标准号">
<el-input v-model="form.standardEncdoing" readonly></el-input>
</el-form-item>
<el-form-item label="标准名称">
<el-input v-model="form.standardName" readonly></el-input>
</el-form-item>
<el-form-item label="问题">
<el-input v-model="form.problemDescription" readonly></el-input>
</el-form-item>
</el-form>
</div>
<div class="tab-box">
<template v-for="(item, index) in answerList">
<div class="clearfix">
<div class="answer-box" >
<question-item-info :key="qiiKey"
:answer="item"
:fileList="fileListSetFunc(item)"
:questionerForm="form"></question-item-info>
</div>
</div>
</template>
<loading :loading="dataLoading">正在加载数据</loading>
</div>
<div class="info-answer">
<answer-item2 :key="aiKey" :list="answerList" :asdId="asdId" @roleFlagBoo="roleFlagBooFunc" @emitInsState="emitInsState"></answer-item2>
</div>
<!-- 选择回答人-->
<Role-tree
is-title="选择回答人"
:is-visible.sync="roleFlag"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
<script>
import questionItemInfo from "@/pages/personal/pages/my-questions/components/questionItemInfo";
import answerItem2 from "@/pages/personal/pages/my-questions/components/answerItem2";
export default {
name: "index2",
components:{
questionItemInfo,
answerItem2
},
data(){
return{
form:{
classification:"",
standardEncdoing:"",
standardName:"",
problemDescription:"",
fileList:[]
},
answerList:[],
qiiKey:1,
aiKey:1,
dataLoading:true,
// 选择回答人
roleFlag: false,
nodeList: [],
asdId:""
}
},
mounted(){
this.getData()
},
methods:{
getData(){
let taskId = this.$route.query.taskIds
this.$http.get('lawss/activiti/selectAskId',{
taskId,
},
{
_this: this
}, val => {
this.asdId = val
this.$http.post('lawss/AskQuestions/selectQuestionReplyInfo',{
id: val
},
{
_this: this
}, res => {
this.form=res.data[0]
if(res.data[1].length){
res.data[1].forEach(item => {
item.checkedShow = true
if(item.state && item.state === 'yes'){
item.checked = true
}else {
item.checked = false
}
})
}
this.answerList = res.data[1]
this.dataLoading = false
}, e => {
})
}, e => {
})
},
fileListSetFunc(item){
return this.assemble(item.appendixId,item.appendixName)
},
assemble(ids,names){
let list= [];
if(ids && ids !== '' && names && names !== ''){
let idArray=ids.split(',');
let nameArray=names.split(',');
for(let i=0; i<idArray.length; i++){
list.push({id:idArray[i],name:nameArray[i]});
}
}
return list;
},
// 邀请
roleFlagBooFunc(boo){
if(boo){
this.roleFlag = true
}
},
checkedRole(data){
if(data[0].id){
let asdId = sessionStorage.getItem('queId')
this.$http.postData('lawss/AskUser/insertAskUser',{
asdId: asdId,
usid: data[0].id,
},{
_this: this
}, res => {
}, e => {
})
}
},
emitInsState(state){
if(state){
this.getData()
}else {
this.dataLoading = true
}
},
}
};
</script>
<style lang="less" scoped>
.search-area {
display: flex;
justify-content: space-between;
background: #FFF;
padding: 10px 10px 0;
border-bottom: 1px solid #DCDFE6;
}
.search-area .el-form-item {
margin-bottom: 10px;
}
/deep/ .search-area .el-form-item .el-form-item__label{
color: #333;
padding-right: 5px;
}
/deep/ .search-area .el-form-item .el-form-item__content {
line-height: 30px;
.el-input input{
height: 30px;
width: 350px;
}
}
#my-questions {
height: calc(100vh - 75px);
display: flex;
flex-direction: column;
background: #F5F7FA;
margin-bottom: 10px;
.tab-box {
height: 68%;
background-color: #fff;
overflow: auto;
}
}
.answer-box{
height: auto;
width: auto;
background: #F5F7FA;
float: right;
margin: 20px 10px 0 80px;
word-break: break-word; /* 文本行的任意字内断开 */
word-wrap: break-word; /* IE */
white-space: -moz-pre-wrap; /* Mozilla */
white-space: -hp-pre-wrap; /* HP printers */
white-space: -o-pre-wrap; /* Opera 7 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: pre; /* CSS2 */
white-space: pre-wrap; /* CSS 2.1 */
white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
}
.info-answer{
height: 200px;
width: 100%;
position: absolute;
bottom: 0;
//border-top: 1px solid #cccccc;
}
</style>
@@ -797,7 +797,6 @@
v-show="verifySarStandard && !disabledXX"
show-save
show-submit
:show-receive="showreceive"
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@@ -1766,9 +1765,9 @@
issueTime: [
{required: false, message: '请选择企标发布日期', trigger: 'change'}
],
putTime: [
{required: true, message: '请选择企标实施日期', trigger: 'change'}
],
// putTime: [
// {required: true, message: '请选择企标实施日期', trigger: 'change'}
// ],
FBGBUSSName: [
{required: false, message: '请上传发布稿', validator: validateFBGBUSS, trigger: 'blur'}
],
@@ -3452,7 +3451,7 @@
this.form.DTQBBHBUSS = processForm.rqbName
this.form.CYBZ = processForm.esStandRelations
this.form.YYBZ = processForm.esMatingRelations
this.form.CYCD = processForm.useLevel === '29l0zgltnq' ? 'IDT等同采用' : processForm.useLevel === '9te26649ne' ? 'NEQ非等效采用' : 'MOD修改采用'
// this.form.CYCD = processForm.useLevel === '29l0zgltnq' ? 'IDT等同采用' : processForm.useLevel === '9te26649ne' ? 'NEQ非等效采用' : 'MOD修改采用'
this.$http.get('lawss/activiti/judgeAcceptTack', {
nowEsId: this.nowEsId,
oaFlag: '1',
@@ -959,9 +959,9 @@
issueTime: [
{ required: false, message: '请选择企标发布日期', trigger: 'change'}
],
putTime: [
{ required: true, message: '请选择企标实施日期', trigger: 'change' }
],
// putTime: [
// { required: true, message: '请选择企标实施日期', trigger: 'change' }
// ],
FBGBUSSName: [
{ required: true, message: '请上传发布稿',validator: validateFBGBUSS, trigger: 'blur' }
],
@@ -958,9 +958,9 @@
issueTime: [
{ required: false, message: '请选择企标发布日期', trigger: 'change'}
],
putTime: [
{ required: true, message: '请选择企标实施日期', trigger: 'change' }
],
// putTime: [
// { required: true, message: '请选择企标实施日期', trigger: 'change' }
// ],
FBGBUSSName: [
{ required: true, message: '请上传发布稿',validator: validateFBGBUSS, trigger: 'blur' }
],
@@ -666,6 +666,12 @@
}
callback()
};
const validateMadelSubName = (rule, value, callback) => {
if(this.madelSubList.length === 0){
callback(new Error('请上传培训文件!'))
}
callback()
};
const validateBZSMBUSS = (rule, value, callback) => {
if(this.BZSMBUSSFileList.length === 0){
callback(new Error('请上传编辑说明文件!'))
@@ -1043,6 +1049,9 @@
QCRBUSS: [
{ required: true, message: '请选择起草人', trigger: 'change' }
],
madelSubName: [
{ required: true, message: '请上传培训文件',validator: validateMadelSubName, trigger: 'blur' }
],
},
zrUserIds: [], // 选择多个会签责任人
userType:'', // 选择用户ID判断
@@ -2500,7 +2509,7 @@
// this.form.country = []
// }
this.fileInfoHandle()
this.$refs['formTongGuo'].validate((valid) => {
this.$refs['form'].validate((valid) => {
if (valid) {
this.isSubmit = true
this.saveLoading = true
@@ -1087,9 +1087,9 @@
issueTime: [
{ required: false, message: '请选择企标发布日期', trigger: 'change' }
],
putTime: [
{ required: true, message: '请选择企标实施日期', trigger: 'change' }
],
// putTime: [
// { required: true, message: '请选择企标实施日期', trigger: 'change' }
// ],
FBGBUSSName: [
{ required: true, message: '请上传发布稿',validator: validateFBGBUSS, trigger: 'blur' }
],
@@ -1071,9 +1071,9 @@
issueTime: [
{ required: false, message: '请选择企标发布日期', trigger: 'change'}
],
putTime: [
{ required: true, message: '请选择企标实施日期', trigger: 'change' }
],
// putTime: [
// { required: true, message: '请选择企标实施日期', trigger: 'change' }
// ],
FBGBUSSName: [
{ required: true, message: '请上传发布稿',validator: validateFBGBUSS, trigger: 'blur' }
],
@@ -955,9 +955,9 @@
issueTime: [
{ required: false, message: '请选择企标发布日期', trigger: 'change'}
],
putTime: [
{ required: true, message: '请选择企标实施日期', trigger: 'change' }
],
// putTime: [
// { required: true, message: '请选择企标实施日期', trigger: 'change' }
// ],
FBGBUSSName: [
{ required: true, message: '请上传发布稿',validator: validateFBGBUSS, trigger: 'blur' }
],
@@ -1341,9 +1341,9 @@
issueTime: [
{ required: false, message: '请选择企标发布日期', trigger: 'change'}
],
putTime: [
{ required: true, message: '请选择企标实施日期', trigger: 'change' }
],
// putTime: [
// { required: true, message: '请选择企标实施日期', trigger: 'change' }
// ],
FBGBUSSName: [
{ required: true, message: '请上传发布稿',validator: validateFBGBUSS, trigger: 'blur' }
],
@@ -1319,9 +1319,9 @@
issueTime: [
{ required: false, message: '请选择企标发布日期', trigger: 'change'}
],
putTime: [
{ required: true, message: '请选择企标实施日期', trigger: 'change' }
],
// putTime: [
// { required: true, message: '请选择企标实施日期', trigger: 'change' }
// ],
FBGBUSSName: [
{ required: true, message: '请上传发布稿',validator: validateFBGBUSS, trigger: 'blur' }
],
@@ -1113,9 +1113,9 @@
issueTime: [
{required: false, message: '请选择企标发布日期', trigger: 'change'}
],
putTime: [
{required: true, message: '请选择企标实施日期', trigger: 'change'}
],
// putTime: [
// {required: true, message: '请选择企标实施日期', trigger: 'change'}
// ],
FBGBUSSName: [
{required: true, message: '请上传发布稿', validator: validateFBGBUSS, trigger: 'blur'}
],
@@ -909,9 +909,9 @@
issueTime: [
{ required: false, message: '请选择企标发布日期', trigger: 'change'}
],
putTime: [
{ required: true, message: '请选择企标实施日期', trigger: 'change' }
],
// putTime: [
// { required: true, message: '请选择企标实施日期', trigger: 'change' }
// ],
FBGBUSSName: [
{ required: true, message: '请上传发布稿',validator: validateFBGBUSS, trigger: 'blur' }
],
@@ -1102,9 +1102,9 @@
issueTime: [
{ required: false, message: '请选择企标发布日期', trigger: 'change'}
],
putTime: [
{ required: true, message: '请选择企标实施日期', trigger: 'change' }
],
// putTime: [
// { required: true, message: '请选择企标实施日期', trigger: 'change' }
// ],
FBGBUSSName: [
{ required: true, message: '请上传发布稿',validator: validateFBGBUSS, trigger: 'blur' }
],
@@ -1070,9 +1070,9 @@
issueTime: [
{ required: false, message: '请选择企标发布日期', trigger: 'change'}
],
putTime: [
{ required: true, message: '请选择企标实施日期', trigger: 'change' }
],
// putTime: [
// { required: true, message: '请选择企标实施日期', trigger: 'change' }
// ],
FBGBUSSName: [
{ required: true, message: '请上传发布稿',validator: validateFBGBUSS, trigger: 'blur' }
],
@@ -1320,9 +1320,9 @@
issueTime: [
{ required: false, message: '请选择企标发布日期', trigger: 'change'}
],
putTime: [
{ required: true, message: '请选择企标实施日期', trigger: 'change' }
],
// putTime: [
// { required: true, message: '', trigger: 'change' }
// ],
FBGBUSSName: [
{ required: true, message: '请上传发布稿',validator: validateFBGBUSS, trigger: 'blur' }
],
@@ -286,6 +286,9 @@
<el-button class="common-button-default" v-btn-permission="'6d0daae8471f16d635bec1529801670a'"
size="mini" @click="MobileStandard('2')"><i class="iconfont">&#xe611;</i>移动标准
</el-button>
<el-button class="common-button-default" v-btn-permission="'6d0daae8471f16d635bec1529801670a'"
size="mini" @click="handlemoudel()"><i class="iconfont">&#xe6de;</i>模板下载
</el-button>
</div>
<!--表格-->
<div class="content">
@@ -2646,6 +2649,10 @@ export default {
this.replaceLawsNumForm.pageSize = pageSize
this.getReplaceLawsNumRow()
},
//
handlemoudel(){
window.open('/api/lawss/sarBussionessStand/exportTemplateFile?fileName=企业标准导入模板')
},
getResetLawsNumRow () {
this.replaceLawsNumForm = {
standCode: '', //
@@ -4466,7 +4473,7 @@ export default {
addImportModal(flag) {
this.importModalshowflag = true
this.showUploadlist = true
this.importExcelUrl = '/api/lawss/sarBussionessStand/importSarBussionessStandFile'
this.importExcelUrl = '/api/lawss/sarBussionessStand/importSarBussionessStandFile?menuId=' + this.selectSarMenu.id + '&userId=' + this.$store.getters.userInfo.userId
},
//
clickDropMenu(name, treeNode) {
+9
View File
@@ -330,6 +330,15 @@ const routes = [
// menuId: ''
}
},
{
path: '/questions2',
name: 'MyQuestions2',
component: resolve => require(['@/pages/personal/pages/my-questions/index2.vue'], resolve),
meta: {
requireAuth: false,
title: '我的问答'
}
},
{
path: '/questionDetail',
name: 'QuestionDetail',