Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
Mr.Z
2021-08-03 17:00:14 +08:00
21 changed files with 1949 additions and 728 deletions
+2 -2
View File
@@ -7,11 +7,11 @@ import axios from 'axios'
import router from '@/router'
import store from '@/store'
import {Message} from 'element-ui'
import { serverUrl } from '@/sysConfig'
import { baseUrl } from '@/sysConfig'
export const CancelToken = axios.CancelToken
// import 'element-ui/lib/theme-chalk/index.css'
const _axios = axios.create({
baseURL: process.env.NODE_ENV === 'production' ? serverUrl : '/'
baseURL: process.env.NODE_ENV === 'production' ? baseUrl : '/'
})
/**
+2 -1
View File
@@ -2,6 +2,7 @@ import axios from 'axios'
import router from '@/router'
import store from '@/store'
import {Message} from 'element-ui'
import { baseUrl } from '@/sysConfig'
// import 'element-ui/lib/theme-chalk/index.css'
/**
@@ -18,7 +19,7 @@ let formData = (data) => {
}
const service = axios.create({
baseURL: '/'
baseURL: process.env.NODE_ENV === 'production' ? baseUrl : '/'
})
service.defaults.timeout = 99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
@@ -1,51 +1,56 @@
<!-- 流程组件公共数据 -->
<script>
import { changeAssigneeNew } from 'api/process'
import { changeAssigneeNew } from "api/process";
export default {
name: 'ProcessMixins',
name: "ProcessMixins",
mixins: [],
components: {},
data () {
return {
processTypeList: [
{
label: '标准调研流程',
value: '2'
},
{
label:'标准入库流程',
value: '1'
},
{
label:'标准征求意见流程',
value: '3'
},
{
label:'标准清单发布/更新流程',
value: '4'
},
{
label: '项目合规评估流程',
value: '5'
},
{
label: '未符合项整改流程',
value: '8'
},
{
label: '标准解读流程',
value: '9'
},
],
formDisableFlag: false,
pickerOptions: {
disabledDate(time) {
const start = new Date(new Date().toLocaleDateString());
start.setTime(start.getTime());
return time.getTime() < start
}
}
data() {
return {
processTypeList: [
{
label: "标准调研流程",
value: "2"
},
{
label: "标准入库流程",
value: "1"
},
{
label: "标准征求意见流程",
value: "3"
},
{
label: "标准清单发布/更新流程",
value: "4"
},
{
label: "项目合规评估流程-标准",
value: "5"
},
{
label: "项目合规评估流程-项目",
value: "6"
},
{
label: "未符合项整改流程",
value: "8"
},
{
label: "标准解读流程",
value: "9"
}
],
formDisableFlag: false,
pickerOptions: {
disabledDate(time) {
const start = new Date(new Date().toLocaleDateString());
start.setTime(start.getTime());
return time.getTime() < start;
}
}
};
},
methods: {
/**
@@ -54,13 +59,13 @@ export default {
* @auth: chenxiaoxi
*/
getPrcName(prcType) {
let prcName = ''
let prcName = "";
this.processTypeList.map(item => {
if (item.value === prcType) {
prcName = item.label
prcName = item.label;
}
})
return prcName
});
return prcName;
},
/**
@@ -76,15 +81,15 @@ export default {
pId: this.$store.getters.getHandleInfo.prcId // 流程实例
}).then(res => {
if (res.success) {
this.$message.success('委托成功')
this.$message.success("委托成功");
setTimeout(() => {
this.$router.push('/processCenter')
}, 100)
this.visibleTree = false
this.$router.push("/processCenter");
}, 100);
this.visibleTree = false;
} else {
this.$message.warning(res.message)
this.$message.warning(res.message);
}
})
});
},
/**
@@ -93,7 +98,7 @@ export default {
* @auth: chenxiaoxi
*/
handleValidField(field) {
this.$refs['prcForm'].validateField(field)
this.$refs["prcForm"].validateField(field);
},
/**
@@ -104,20 +109,21 @@ export default {
getResByCurrentRoleId(roleIds, roleName, callback) {
// 获取当前 foRoleId 有 otherFORoleId 就一定是 其他起草人填写的 FO
// 否则一定是主起草人填写的 FO
this.$http.get('sys/role/getParentsByFOs', {
this.$http.get("sys/role/getParentsByFOs", {
ids: roleIds, // 当前登录人的角色
roleHierarchyName: roleName // 上级角色
}, {}, res => {
if (res.ok) {
callback.call(this, res.data)
callback.call(this, res.data);
} else {
this.$message.warning(res.message)
this.$message.warning(res.message);
}
})
},
});
}
},
computed: {},
watch: {},
mounted () {}
}
mounted() {
}
};
</script>
@@ -0,0 +1,873 @@
<template>
<div class="bzjdStep1-1">
<!-- 标准征求意见流程-->
<ProcessHeader toggle>
<template slot="proName">标准解读流程</template>
<template slot="proNode">申请人发起流程</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">人员信息</div>
</div>
<div class="content" v-show="active === '1'">
<div style="overflow: auto;">
<el-form
ref="bzzqyjForm"
:model="form"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准拆分数据" class="add-form-item form-item-disabled">
<div class="addButton">
<el-button size="small" type="primary" @click="addZqyjList">带入</el-button>
</div>
</el-form-item>
<el-form-item label="标准号/政策号" prop="itemsNum" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsNum"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称/政策名称" prop="itemsName" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<ProcessTitle>
<template slot="title">拆分信息</template>
</ProcessTitle>
<div class="action-bar">
<el-button type="primary" class="common-button-primary add-button" size="mini" @click="choiceZRRS('', 2, '')">批量编辑</el-button>
</div>
<el-table border
ref="selection"
:data="itemList"
tooltip-effect="dark"
style="width: 100%;"
height="100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="handleSelectionChange"
row-key="id">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="itemsNum"
label="条款号"
width="170"
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
label="条款名称"
width="170"
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
label="条款内容"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
label="责任人"
width="170"
align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.zrUserId" style="display: none;"/>
<el-input v-model="scope.row.zrUserIdName" placeholder="请选择责任人" @click.native="choiceZRRS(scope.row.zrUserId, 1, scope.$index)"/>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">数据获取中</loading>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
<el-form
ref="Form"
:model="roleForm"
:rules="roleFormRules"
class="label-input-form">
<el-timeline-item timestamp="发起流程" placement="top" :color="roleForm.applyUserId ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="applyUserId" style="margin-bottom: 0">
<h4>流程发起人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.applyUserId" style="display: none;"/>
<el-input v-model="roleForm.applyUserIdName" placeholder="流程发起人" disabled/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="批准解读流程" placement="top" :color="roleForm.deptUserId ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="deptUserId" style="margin-bottom: 0">
<h4>标准法规部部长</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.deptUserId" style="display: none;"/>
<el-input
v-model="roleForm.deptUserIdName"
placeholder="选择标准法规部部长"
@click.native="choiceZRRS(roleForm.deptUserId, 0, '')"
/>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
</el-form>
</el-timeline>
</div>
</div>
<ProcessFooter
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
>
</ProcessFooter>
<el-drawer
title="标准拆分数据库"
:visible.sync="listModel"
size="900px"
custom-class="demo-drawer"
>
<div class="standardForComments">
<div class="content">
<!-- 顶部工具栏 -->
<table-tools-bar>
<div slot="left">
<div class="search-area">
<el-form :model="standCommonlySearch" inline class="label-input-form">
<el-formItem label="标准号/名称" class="search-item">
<el-input v-model="standCommonlySearch.numOrName" class="s-c-input" placeholder="请输入标准号/名称" clearable :maxlength="100"></el-input>
</el-formItem>
<el-formItem class="search-item btn-box">
<el-button
type="primary"
size="mini"
class="common-button-primary"
@click="sarStandCompareHisInfo">查询</el-button>
<el-button
class="common-button-default"
size="mini"
@click="clearSearchStand">清空</el-button>
</el-formItem>
</el-form>
</div>
</div>
</table-tools-bar>
<div class="table-wrap">
<div style="position: absolute;height: calc(100% - 10px);width: 100%;">
<el-table
ref="selection"
:data="standInfoList"
tooltip-effect="dark"
style="width: 100%;padding:0 0 20px 0;"
height="100%"
border
@selection-change="handleSelection"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="showNumber"
label="标准号/政策号"
width="170"
align="center">
<!-- <template slot-scope="scope">-->
<!-- <div v-if=" scope.row.splitStatus === '0'">{{ scope.row.standNumSplit }}</div>-->
<!-- <div v-else>{{ scope.row.showNumber }}</div>-->
<!-- </template>-->
</el-table-column>
<el-table-column
prop="standName"
label="标准名称/政策名称"
show-overflow-tooltip
align="center">
<!-- <template slot-scope="scope">-->
<!-- <span v-if=" scope.row.splitStatus === '0'">{{ scope.row.standNameSplit }}</span>-->
<!-- <span v-else>{{ scope.row.standName }}</span>-->
<!-- </template>-->
</el-table-column>
<el-table-column
prop="fileTypeShow"
label="文本状态"
align="center">
</el-table-column>
<el-table-column
prop="fileName"
label="文件名称"
show-overflow-tooltip
align="center">
</el-table-column>
</el-table>
</div>
</div>
</div>
<pagination :page="standCommonlySearch.page" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
<loading :loading="spinShow">数据加载中</loading>
<div class="demo-drawer-footer">
<el-button size="mini" @click="closeDrawer">取消</el-button>
<el-button type="primary" size="mini" @click="enterDrawer">带入</el-button>
</div>
</div>
</el-drawer>
<el-drawer
title="国内标准库"
:visible.sync="listModel2"
size="900px"
custom-class="demo-drawer"
>
<div class="standardForComments">
<div class="content">
<!-- 顶部工具栏 -->
<div class="table-wrap">
<div style="position: absolute;height: calc(100% - 10px);width: 100%;">
<el-table
v-if="listModel2"
ref="selection"
:data="standInfoList2"
tooltip-effect="dark"
style="width: 100%;padding:0 0 20px 0;"
height="100%"
border
@selection-change="handleSelection2"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
label="标准号"
>
<template slot-scope="scope">
<div v-if="scope.row.standYear">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</div>
<div v-else>{{ scope.row.standSortShow }} {{ scope.row.standNumber }}</div>
</template>
</el-table-column>
<el-table-column
prop="standName"
label="标准名称">
</el-table-column>
<el-table-column
prop="issueTime"
width="110px"
label="发布日期">
<template slot-scope="scope">
{{ formatIssueDate(scope.row.issueTime) }}
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQ"
width="150px"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0,10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="ZCCSSRQ"
width="150px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0,10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="textStatus"
width="120px"
label="文本状态">
<template slot-scope="scope">
<span>{{ textStatusMap[scope.row.textStatus] }}</span>
</template>
</el-table-column>
</el-table>
</div>
</div>
</div>
<pagination :page="standCommonlySearch2.page" :total="total2" @pageChange="pageChange2" @pageSizeChange="pageSizeChange2"></pagination>
<div class="demo-drawer-footer">
<el-button size="mini" @click="closeDrawer2">取消</el-button>
<el-button type="primary" size="mini" @click="enterDrawer2">确定</el-button>
</div>
</div>
</el-drawer>
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="modalshowflag"
@checkedRole="saveUserInfo"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { saveTaskFirst, queryTaskFirst } from 'api/process'
export default {
name: "bzjdStep1-1",
data() {
return {
textStatusMap: {},
listModel2: false,
standInfoList2: [],
sarType: '',
loading: false,
standId: '',
commentText: '',
textarea: '', // 意见
title: '', // 新增抽屉标题
listModel: false, // 新增抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
// 基础信息form表单
form: {
id: '',
itemsNum: '',
itemsName: '',
standId: '',
itemsNum1: '',
itemsName1: '',
oldNumber: ''
},
formRules: {
itemsNum: [
{ required: true, message: '请输入标准号/政策号', trigger: 'change' },
],
itemsName: [
{ required: true, message: '请输入标准名称/政策名称', trigger: 'change' },
],
},
// 标准征求意见数据可库
standCommonlySearch: {
numOrName: '',
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
result: '1',
},
standCommonlySearch2: {
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
userId : this.$store.getters.userInfo.userId,
standType: 'INLAND'
},
spinShow: false,
standInfoList: [],
tableHeight: null,
total: 0,
total2: 0,
selectedList: [],
selectedList2: [],
data: [],
roleForm: {
applyUserIdName: this.$store.getters.userInfo.userName,
applyUserId: this.$store.getters.userInfo.userId,
deptUserId: '',
deptUserIdName: ''
},
roleFormRules: {
zrUserId: [
{ required: true, message: '请选择责任部门对接人', trigger: 'change' },
],
deptUserId: [
{ required: true, message: '请选择标准法规部部长', trigger: 'change' },
],
},
treeData: [],
nodeList: [],
nodeList2: [],
type: '',
drawerTitle: '',
modalshowflag: false,
modalshowflag2: false,
defaultProps: {
children: 'children',
label: 'name'
},
roleRow: {},
itemList: [],
zrType: '',
zrIndex: '',
zrIdList: []
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
getData () {
queryTaskFirst({
bpnId: this.$route.query.bpnId
}).then(res => {
let mes = JSON.parse(res.mes)
mes.form.date = new Date(this.$moment(mes.form.date).format('YYYY-MM-DD'))
this.form = mes.form
this.roleForm = mes.roleForm
this.commentText = mes.commentText
this.itemList = mes.itemList
this.sarType = mes.sarType
})
},
setMap(data){
data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label)
})
},
formatIssueDate(str) {
const momentDate = this.$moment(str)
if (momentDate.isValid()) {
return this.$moment(str).format('YYYY-MM-DD')
} else {
return str
}
},
addZqyjList() {
this.title = '标准拆分数据库'
this.listModel = true
},
/** 标准征求意见库方法*
* **********************************************/
// 清空
clearSearchStand () {
this.standCommonlySearch.page = 1
this.standCommonlySearch.start = ''
this.standCommonlySearch.end = ''
this.standCommonlySearch.categorg = ''
this.standCommonlySearch.cname = ''
this.sarStandCompareHis()
},
// 搜索
sarStandCompareHisInfo() {
this.splitInfoPage = 1
this.sarStandCompareHis()
},
// 查询表格
sarStandCompareHis () {
this.spinShow = true
var form = this.standCommonlySearch
this.$http.get('lawss/sarFileSplitInfo/getSarFileSplitInfoEOPage', form, {
_this: this
}, res => {
this.standInfoList = res.data.list
this.total = res.data.total
this.spinShow = false
}, e => {
})
},
sarStandCompareHis2 () {
var form = this.standCommonlySearch2
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', form, {
_this: this
}, res => {
this.standInfoList2 = res.data.list
this.standInfoList2.forEach(item => {
if (item.attrInfoMap && item.attrInfoMap.XCXSSRQ) {
item.XCXSSRQ = item.attrInfoMap.XCXSSRQ
}
if (item.attrInfoMap && item.attrInfoMap.ZCCSSRQ) {
item.ZCCSSRQ = item.attrInfoMap.ZCCSSRQ
}
})
this.total2 = res.data.count
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
}, res => {
this.setMap(res.data.WBZTCLASS)
})
}, e => {
})
},
pageChange (page) {
this.standCommonlySearch.page = page
this.sarStandCompareHis()
},
// 分页每页显示数改变后方法
pageSizeChange (pageSize) {
this.$store.getters.userInfo.configContent = pageSize
this.standCommonlySearch.pageSize = pageSize
this.sarStandCompareHis()
},
pageChange2 (page) {
this.standCommonlySearch2.page = page
this.sarStandCompareHis2()
},
// 分页每页显示数改变后方法
pageSizeChange2 (pageSize) {
this.$store.getters.userInfo.configContent = pageSize
this.standCommonlySearch2.pageSize = pageSize
this.sarStandCompareHis2()
},
/** 选择带入数据的方法操作
* */
handleSelection(data) {
this.selectedList = [];
for (let i = 0; i < data.length; i++) {
this.selectedList.push(data[i].id);
}
},
handleSelection2 (data) {
this.selectedList2 = [];
for (let i = 0; i < data.length; i++) {
this.selectedList2.push(data[i].id);
}
},
closeDrawer() {
this.listModel = false
},
enterDrawer() {
if (this.selectedList.length === 1) {
this.loading = true
let deposit = new Map();
this.standInfoList.forEach(item => {
deposit.set(item.id, item);
});
let bringData = [];
for (let i = 0; i < this.selectedList.length; i++) {
bringData.push(deposit.get(this.selectedList[i]));
}
this.form.itemsNum = bringData[0].showNumber
this.form.itemsName = bringData[0].standName
// if (bringData[0].splitStatus === '0') {
// this.form.itemsNum = bringData[0].standNumSplit
// this.form.itemsName = bringData[0].standNameSplit
// } else {
// this.form.itemsNum = bringData[0].showNumber
// this.form.itemsName = bringData[0].standName
// }
this.form.standId = bringData[0].id
this.sarType = bringData[0].standType
this.standId = bringData[0].standId
this.listModel = false;
this.listModel2 = true
this.$http.get('lawss/sarFileSplitItems/getSplitItemsByPage', {
infoId: this.form.standId,
page: 1,
pageSize: 9999
}, {
_this: this
}, res => {
if (res.ok) {
res.data.list.forEach(item => {
item.zrUserId = ''
item.zrUserIdName= ''
})
this.itemList = res.data.list
}
this.loading = false
})
} else if (this.selectedList.length > 1) {
this.$message.warning("只能选择一条数据进行带入");
} else {
this.$message.warning("请选择一条数据进行带入");
}
},
closeDrawer2() {
this.listModel2 = false
},
enterDrawer2() {
if (this.selectedList2.length === 1) {
let deposit = new Map();
this.standInfoList2.forEach(item => {
deposit.set(item.id, item);
});
let bringData = [];
for (let i = 0; i < this.selectedList2.length; i++) {
bringData.push(deposit.get(this.selectedList2[i]));
}
// if (bringData[0].splitStatus === '0') {
// this.form.itemsNum1 = bringData[0].standNumSplit
// this.form.itemsName1 = bringData[0].standNameSplit
// } else {
// this.form.itemsNum1 = bringData[0].showNumber
// this.form.itemsName1 = bringData[0].standName
// }
if (bringData[0].standYear) {
this.form.itemsNum1 = bringData[0].standSortShow + ' ' + bringData[0].standNumber + '-' + bringData[0].standYear
} else {
this.form.itemsNum1 = bringData[0].standSortShow + ' ' + bringData[0].standNumber
}
this.form.itemsName1 = bringData[0].standName
this.form.oldNumber = bringData[0].id
this.listModel2 = false
} else if (this.selectedList2.length > 1) {
this.$message.warning("只能选择一条数据进行带入");
} else {
this.$message.warning("请选择一条数据进行带入");
}
},
/*** **********************************************/
/** 流程节点负责人的选择 *****************************/
saveUserInfo (data) {
if (this.type === 0) {
this.roleForm.deptUserId = data[0].id
this.roleForm.deptUserIdName = data[0].name
} else if (this.type === 1) {
this.itemList[this.zrIndex].zrUserId = data[0].id
this.itemList[this.zrIndex].zrUserIdName = data[0].name
} else {
this.itemList.forEach( item => {
this.zrIdList.forEach( items => {
if (item.id === items) {
item.zrUserId = data[0].id
item.zrUserIdName = data[0].name
}
})
})
}
this.modalshowflag = false
},
choiceZRRS (row, type, index) {
this.type = type
if (type === 1) {
this.drawerTitle = '选择责任人'
this.nodeList = []
this.zrIndex = index
this.zrType = type
this.nodeList.push(row)
this.modalshowflag = true
} else if (type === 2) {
// 批量
if (this.zrIdList.length > 0) {
this.zrType = type
this.nodeList = []
this.modalshowflag = true
this.drawerTitle = '批量选择责任人'
} else {
this.$message.warning('请选择要编辑的数据')
}
} else {
this.nodeList = []
this.nodeList.push(row)
this.drawerTitle = '选择标准法规部部长'
this.modalshowflag = true
}
},
handleSelectionChange (val) {
this.zrIdList = []
val.forEach( item => {
this.zrIdList.push(item.id)
})
},
handleTabs(name) {
this.active = name
},
handleSave() {
this.saveLoading = true
let _formData = new FormData()
_formData.append('id', this.bpnId || '')
_formData.append('createUser', this.$store.getters.userInfo.userId)
_formData.append('createUserName', this.$store.getters.userInfo.userName)
_formData.append('prcType', '9')
_formData.append('json', JSON.stringify({
form: this.form,
roleForm: this.roleForm,
commentText: this.commentText,
itemList: this.itemList,
sarType: this.sarType
}))
saveTaskFirst(_formData).then(res => {
this.saveLoading = false
this.$message.success('保存成功')
this.bpnId = res.result
}).catch(e => {
this.saveLoading = false
})
},
handleSubmit() {
this.$refs['bzzqyjForm'].validate((valid) => {
if (valid) {
this.$refs['Form'].validate((valid) => {
if (valid) {
let b = 0
for (let a = 0; a < this.itemList.length; a++) {
if (!this.itemList[a].zrUserId) {
b++
}
}
if (b > 0) {
this.$message.warning('请选择责任人')
} else {
this.isSubmit = true
this.$http.get('lawss/activiti/startProcess', {
type: '9'
}, {}, res => {
if (res.ok) {
var json = Object.assign(this.form, this.roleForm)
json.commentText = this.commentText
json.standInData = this.sarType
json.itemList = this.itemList
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: res.data,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('流程发起成功')
this.$router.push('/processCenter')
}
})
} else {
this.$message.warning('流程启动失败')
this.isSubmit = false
}
})
}
} else {
return this.$message.warning('请完善人员信息')
}
})
} else {
return this.$message.warning('请完善基础信息')
}
})
}
},
mounted () {
this.getData()
this.sarStandCompareHis()
this.sarStandCompareHis2()
this.tableHeight = $('.content').height() - 44
window.onresize = () => {
this.tableHeight = $('.content').height() - 44
}
},
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
@import '~@/assets/styles/mixins';
.bzjdStep1-1 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 107px');
overflow: auto;
}
.standardForComments {
height: 100%;
background: #fff;
.el-divider--horizontal {
display: block;
height: 1px;
width: 100%;
margin: 0;
}
flex-direction: column;
.action-bar {
margin-bottom: 5px;
padding: 0;
}
.content {
flex: auto;
overflow: hidden;
display: flex;
flex-direction: column;
.table-wrap {
flex: auto;
overflow: hidden;
position: relative;
}
}
& > .pagination {
position: static;
/deep/.pagination-slot {
padding: 0;
}
}
}
}
</style>
@@ -248,6 +248,17 @@
<!-- <span v-else>{{ scope.row.standName }}</span>-->
<!-- </template>-->
</el-table-column>
<el-table-column
prop="fileTypeShow"
label="文本状态"
align="center">
</el-table-column>
<el-table-column
prop="fileName"
label="文件名称"
show-overflow-tooltip
align="center">
</el-table-column>
</el-table>
</div>
</div>
@@ -261,7 +272,7 @@
</div>
</el-drawer>
<el-drawer
title="标准拆分数据库"
title="国内标准库"
:visible.sync="listModel2"
size="900px"
custom-class="demo-drawer"
@@ -283,24 +294,48 @@
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="showNumber"
label="标准号/政策号"
width="170"
align="center">
<!-- <template slot-scope="scope">-->
<!-- <div v-if=" scope.row.splitStatus === '0'">{{ scope.row.standNumSplit }}</div>-->
<!-- <div v-else>{{ scope.row.showNumber }}</div>-->
<!-- </template>-->
label="标准号"
>
<template slot-scope="scope">
<div v-if="scope.row.standYear">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</div>
<div v-else>{{ scope.row.standSortShow }} {{ scope.row.standNumber }}</div>
</template>
</el-table-column>
<el-table-column
prop="standName"
label="标准名称/政策名称"
show-overflow-tooltip
align="center">
<!-- <template slot-scope="scope">-->
<!-- <span v-if=" scope.row.splitStatus === '0'">{{ scope.row.standNameSplit }}</span>-->
<!-- <span v-else>{{ scope.row.standName }}</span>-->
<!-- </template>-->
label="标准名称">
</el-table-column>
<el-table-column
prop="issueTime"
width="110px"
label="发布日期">
<template slot-scope="scope">
{{ formatIssueDate(scope.row.issueTime) }}
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQ"
width="150px"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0,10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="ZCCSSRQ"
width="150px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0,10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="textStatus"
width="120px"
label="文本状态">
<template slot-scope="scope">
<span>{{ textStatusMap[scope.row.textStatus] }}</span>
</template>
</el-table-column>
</el-table>
</div>
@@ -328,11 +363,12 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { saveTaskFirst } from 'api/process'
export default {
name: "bzjdStep1",
data() {
return {
textStatusMap: {},
listModel2: false,
standInfoList2: [],
sarType: '',
@@ -373,7 +409,7 @@
standCommonlySearch2: {
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
result: '1',
userId : this.$store.getters.userInfo.userId,
standType: 'INLAND'
},
spinShow: false,
@@ -422,6 +458,19 @@
ProcessTitle
},
methods: {
setMap(data){
data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label)
})
},
formatIssueDate(str) {
const momentDate = this.$moment(str)
if (momentDate.isValid()) {
return this.$moment(str).format('YYYY-MM-DD')
} else {
return str
}
},
addZqyjList() {
this.title = '标准拆分数据库'
this.listModel = true
@@ -457,11 +506,25 @@
},
sarStandCompareHis2 () {
var form = this.standCommonlySearch2
this.$http.get('lawss/sarFileSplitInfo/getSarFileSplitInfoEOPage', form, {
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', form, {
_this: this
}, res => {
this.standInfoList2 = res.data.list
this.total2 = res.data.total
this.standInfoList2.forEach(item => {
if (item.attrInfoMap && item.attrInfoMap.XCXSSRQ) {
item.XCXSSRQ = item.attrInfoMap.XCXSSRQ
}
if (item.attrInfoMap && item.attrInfoMap.ZCCSSRQ) {
item.ZCCSSRQ = item.attrInfoMap.ZCCSSRQ
}
})
this.total2 = res.data.count
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
}, res => {
this.setMap(res.data.WBZTCLASS)
})
}, e => {
})
},
@@ -569,7 +632,11 @@
// this.form.itemsNum1 = bringData[0].showNumber
// this.form.itemsName1 = bringData[0].standName
// }
this.form.itemsNum1 = bringData[0].showNumber
if (bringData[0].standYear) {
this.form.itemsNum1 = bringData[0].standSortShow + ' ' + bringData[0].standNumber + '-' + bringData[0].standYear
} else {
this.form.itemsNum1 = bringData[0].standSortShow + ' ' + bringData[0].standNumber
}
this.form.itemsName1 = bringData[0].standName
this.form.oldNumber = bringData[0].id
this.listModel2 = false
@@ -600,12 +667,6 @@
}
this.modalshowflag = false
},
handleSelectionChange (val) {
this.zrIdList = []
val.forEach( item => {
this.zrIdList.push(item.id)
})
},
choiceZRRS (row, type, index) {
this.type = type
if (type === 1) {
@@ -632,10 +693,37 @@
this.modalshowflag = true
}
},
handleSelectionChange (val) {
this.zrIdList = []
val.forEach( item => {
this.zrIdList.push(item.id)
})
},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSave() {
this.saveLoading = true
let _formData = new FormData()
_formData.append('id', this.bpnId || '')
_formData.append('createUser', this.$store.getters.userInfo.userId)
_formData.append('createUserName', this.$store.getters.userInfo.userName)
_formData.append('prcType', '9')
_formData.append('json', JSON.stringify({
form: this.form,
roleForm: this.roleForm,
commentText: this.commentText,
itemList: this.itemList,
sarType: this.sarType
}))
saveTaskFirst(_formData).then(res => {
this.saveLoading = false
this.$message.success('保存成功')
this.bpnId = res.result
}).catch(e => {
this.saveLoading = false
})
},
handleSubmit() {
this.$refs['bzzqyjForm'].validate((valid) => {
if (valid) {
@@ -650,6 +738,7 @@
if (b > 0) {
this.$message.warning('请选择责任人')
} else {
this.isSubmit = true
this.$http.get('lawss/activiti/startProcess', {
type: '9'
}, {}, res => {
@@ -670,6 +759,7 @@
})
} else {
this.$message.warning('流程启动失败')
this.isSubmit = false
}
})
}
@@ -26,7 +26,7 @@
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.number"
v-model="form.itemsNum"
placeholder="请输入标准编号"
clearable
></el-input>
@@ -34,7 +34,7 @@
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.name"
v-model="form.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
@@ -42,28 +42,28 @@
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.number1"
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.number1"
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.name1"
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.name1"
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
@@ -198,7 +198,6 @@
</el-table>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@@ -206,32 +205,14 @@
@submit="handleSubmit"
>
</ProcessFooter>
<el-drawer
title="选择责任部门对接人"
:visible.sync="modalshowflag2"
:wrapperClosable="false"
size="800px">
<el-tree
v-if="modalshowflag2"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList2"
highlight-current
check-strictly
@check="drawerCheck2"
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree2">
</el-tree>
<div id="roleFormButton2" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo2">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo2">取消</el-button>
</div>
</el-drawer>
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="modalshowflag2"
@checkedRole="saveUserInfo"
:nodeList="nodeList2"
></Role-tree>
<loading :loading="loading">加载中...</loading>
</div>
</template>
@@ -245,33 +226,30 @@
name: "bzjdStep2",
data() {
return {
type: '',
drawerTitle: '',
histortData: [],
sarType: '',
zxIndex: '',
zxType: '',
zxIdList: [],
modalshowflag2: false,
treeData: [],
nodeList2: [],
defaultProps: {
children: 'children',
label: 'name'
},
loading: false,
loading: true,
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
type: '',
drawerTitle: '', //drawer标题
textarea: '', // 意见
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
number: '',
name: '',
itemsNum: '',
itemsName: '',
itemsNum1: '',
itemsName1: '',
},
json: {},
itemList: []
@@ -290,26 +268,18 @@
this.histortData = res
}, e => {})
},
drawerCheck2 (data) {
var getlist = this.$refs.tree2.getCheckedNodes().concat(this.$refs.tree2.getHalfCheckedNodes());
if(getlist.length == 1) {
this.roleRow = getlist[0]
}else {
this.$refs.tree2.setCheckedKeys([data.id]);
this.roleRow = this.$refs.tree2.getCheckedNodes()[0]
}
},
choiceZRRS (row, type, index) {
this.type = type
if (type === 1) {
this.drawerTitle = '选择责任部门对接人'
this.nodeList2 = []
this.zxIndex= index
this.zxType = type
this.nodeList2.push(row)
this.modalshowflag2 = true
} else {
// 批量
this.drawerTitle = '批量选择责任部门对接人'
if (this.zxIdList.length > 0) {
this.zxType = type
this.nodeList2 = []
this.modalshowflag2 = true
} else {
@@ -317,39 +287,21 @@
}
}
},
saveUserInfo2 () {
var idList = ''
var nameList = ''
this.$refs.tree2.getCheckedNodes().concat(this.$refs.tree2.getHalfCheckedNodes()).forEach( item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.name
})
if (this.zxType == 1) {
this.itemList[this.zxIndex].zxUserId = idList
this.itemList[this.zxIndex].zxUserIdName = nameList
saveUserInfo (data) {
if (this.type === 1) {
this.itemList[this.zxIndex].zxUserId = data[0].id
this.itemList[this.zxIndex].zxUserIdName = data[0].name
} else {
this.itemList.forEach( item => {
this.zxIdList.forEach( items => {
if (item.id === items) {
item.zxUserId = idList
item.zxUserIdName = nameList
item.zxUserId = data[0].id
item.zxUserIdName = data[0].name
}
})
})
}
this.modalshowflag2 = false
},
cancleUserInfo2 () {
this.modalshowflag2 = false
},
getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data
})
this.modalshowflag = false
},
handleTabs(name) {
this.active = name
@@ -366,20 +318,23 @@
}
if (b > 0) {
this.$message.warning('请选择执行人')
} else {
this.isSubmit = true
var json = this.json
json.itemList = this.itemList
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
}
var json = this.json
json.itemList = this.itemList
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
})
} else {
return this.$message.warning('请完善基础信息')
}
@@ -398,10 +353,10 @@
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.number = data.number
this.form.name = data.name
this.form.number1 = data.number1
this.form.name1 = data.name1
this.form.itemsNum = data.itemsNum
this.form.itemsName = data.itemsName
this.form.itemsNum1 = data.itemsNum1
this.form.itemsName1 = data.itemsName1
this.sarType = data.standInData
this.json = data
var arr = []
@@ -411,6 +366,7 @@
item.zxUserIdName = ''
})
this.itemList = arr
this.loading = false
}).catch(e => {
})
})
@@ -418,7 +374,6 @@
},
mounted () {
this.getHistoryData()
this.getTree()
this.getData()
}
}
@@ -26,7 +26,7 @@
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.number"
v-model="form.itemsNum"
placeholder="请输入标准编号"
clearable
></el-input>
@@ -34,7 +34,7 @@
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.name"
v-model="form.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
@@ -42,28 +42,28 @@
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.number1"
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.number1"
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.name1"
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.name1"
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
@@ -189,6 +189,11 @@
width="150"
label="适用车型"
align="center">
<template slot-scope="scope">
<el-select v-model="scope.row.applyArctic">
<el-option v-for="(item,index) in cxList" :value="item.label" :label="item.label" :key="index"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="unitDeptName"
@@ -203,7 +208,6 @@
align="center">
</el-table-column>
</el-table>
<loading :loading="loading">数据获取中</loading>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
@@ -278,7 +282,6 @@
</el-table>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@@ -339,6 +342,11 @@
placeholder="选择在产车实施日期">
</el-date-picker>
</el-form-item>
<el-form-item label="适用车型" prop="applyArctic" class="add-form-item" >
<el-select v-model="plForm.applyArctic">
<el-option v-for="(item,index) in cxList" :value="item.label" :label="item.label" :key="index"></el-option>
</el-select>
</el-form-item>
</el-form>
</div>
<div id="roleFormButton2" class="demo-drawer-footer">
@@ -346,6 +354,7 @@
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
</div>
</el-drawer>
<loading :loading="loading">加载中...</loading>
</div>
</template>
@@ -359,6 +368,7 @@
name: "bzjdStep3",
data() {
return {
cxList: [],
histortData: [],
plForm: {
technicalRequir: '', // 核心技术要求
@@ -367,11 +377,12 @@
complianceState: '', // 合规性分析
newData: '', // 新车型实施日期
onlineData: '', // 在产车实施日期
applyArctic: '', // 适用车型
},
modalshowflag: false,
sarType: '',
itemList: [],
loading: false,
loading: true,
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
@@ -380,10 +391,10 @@
isSubmit: false,
saveLoading: false,
form: {
number: '',
name: '',
number1: '',
name1: ''
itemsNum: '',
itemsName: '',
itemsNum1: '',
itemsName1: '',
},
json: {},
idList: []
@@ -412,6 +423,7 @@
this.itemList[a].complianceState = this.plForm.complianceState
this.itemList[a].newData = this.plForm.newData
this.itemList[a].onlineData = this.plForm.onlineData
this.itemList[a].applyArctic = this.plForm.applyArctic
}
}
}
@@ -446,7 +458,7 @@
handleSubmit() {
this.$refs['bzzqyjForm'].validate((valid) => {
if (valid) {
let num1 = 0, num2 = 0, num3 = 0, num4 = 0, num5 = 0
let num1 = 0, num2 = 0, num3 = 0, num4 = 0, num5 = 0, num6 = 0
for (let a = 0; a < this.itemList.length; a++) {
if (!this.itemList[a].technicalRequir) {
num1++
@@ -463,6 +475,9 @@
if (!this.itemList[a].onlineData) {
num5++
}
if (!this.itemList[a].applyArctic) {
num6++
}
}
if (num1 > 0) {
this.$message.warning('请输入核心技术要求')
@@ -478,7 +493,10 @@
this.$message.warning('请输入新车型实施日期')
} else if (num5 > 0) {
this.$message.warning('请输入在产车实施日期')
} else if (num6 > 0) {
this.$message.warning('请选择适用车型')
} else {
this.isSubmit = true
var json = this.json
json.commentText = this.commentText
json.itemList = this.itemList
@@ -491,6 +509,7 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
}
} else {
@@ -505,10 +524,10 @@
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.number = data.number
this.form.name = data.name
this.form.number1 = data.number1
this.form.name1 = data.name1
this.form.itemsNum = data.itemsNum
this.form.itemsName = data.itemsName
this.form.itemsNum1 = data.itemsNum1
this.form.itemsName1 = data.itemsName1
this.sarType = data.standInData
this.json = data
const itemList = JSON.parse(data.itemList)
@@ -524,6 +543,7 @@
item.itemsTitle = item.itermsConditions
})
this.itemList = itemList
this.loading = false
}).catch(e => {
})
})
@@ -532,6 +552,11 @@
mounted () {
this.getHistoryData()
this.getData()
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
}, res => {
this.cxList = res.data.ENERGYTYPES // 适用车型
})
}
}
</script>
@@ -26,7 +26,7 @@
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.number"
v-model="form.itemsNum"
placeholder="请输入标准编号"
clearable
></el-input>
@@ -34,7 +34,7 @@
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.name"
v-model="form.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
@@ -42,28 +42,28 @@
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.number1"
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.number1"
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.name1"
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.name1"
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
@@ -176,7 +176,6 @@
align="center">
</el-table-column>
</el-table>
<loading :loading="loading">数据获取中</loading>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
@@ -250,8 +249,8 @@
</el-table-column>
</el-table>
</div>
<loading :loading="loading">加载中...</loading>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@@ -278,7 +277,7 @@
histortData: [],
sarType: '',
itemList: [],
loading: false,
loading: true,
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
@@ -287,10 +286,10 @@
isSubmit: false,
saveLoading: false,
form: {
number: '',
name: '',
number1: '',
name1: ''
itemsNum: '',
itemsName: '',
itemsNum1: '',
itemsName1: '',
},
json: {},
}
@@ -313,6 +312,7 @@
},
handleSave() {},
handleSubmit() {
this.isSubmit = true
var json = this.json
json.resolveFlag = 1
json.commentText = this.commentText
@@ -325,10 +325,12 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
handleSubmitNo () {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.resolveFlag = 2
json.commentText = this.commentText
@@ -341,6 +343,7 @@
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.$message.warning('请输入反馈意见')
@@ -353,13 +356,14 @@
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.number = data.number
this.form.name = data.name
this.form.number1 = data.number1
this.form.name1 = data.name1
this.form.itemsNum = data.itemsNum
this.form.itemsName = data.itemsName
this.form.itemsNum1 = data.itemsNum1
this.form.itemsName1 = data.itemsName1
this.sarType = data.standInData
this.json = data
this.itemList = data.itemList
this.loading = false
}).catch(e => {
})
})
@@ -26,7 +26,7 @@
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.number"
v-model="form.itemsNum"
placeholder="请输入标准编号"
clearable
></el-input>
@@ -34,7 +34,7 @@
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.name"
v-model="form.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
@@ -42,28 +42,28 @@
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.number1"
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.number1"
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.name1"
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.name1"
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
@@ -176,7 +176,6 @@
align="center">
</el-table-column>
</el-table>
<loading :loading="loading">数据获取中</loading>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
@@ -251,7 +250,6 @@
</el-table>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@@ -262,6 +260,7 @@
submitBTNText="同意"
>
</ProcessFooter>
<loading :loading="loading">加载中...</loading>
</div>
</template>
@@ -278,7 +277,7 @@
histortData: [],
sarType: '',
itemList: [],
loading: false,
loading: true,
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
@@ -287,10 +286,10 @@
isSubmit: false,
saveLoading: false,
form: {
number: '',
name: '',
number1: '',
name1: ''
itemsNum: '',
itemsName: '',
itemsNum1: '',
itemsName1: '',
},
json: {},
}
@@ -313,6 +312,7 @@
},
handleSave() {},
handleSubmit() {
this.isSubmit = true
var json = this.json
json.zrApplyFlag = 1
json.commentText = this.commentText
@@ -325,10 +325,12 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
handleSubmitNo () {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.zrApplyFlag = 2
json.commentText = this.commentText
@@ -341,6 +343,7 @@
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.$message.warning('请输入反馈意见')
@@ -353,13 +356,14 @@
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.number = data.number
this.form.name = data.name
this.form.number1 = data.number1
this.form.name1 = data.name1
this.form.itemsNum = data.itemsNum
this.form.itemsName = data.itemsName
this.form.itemsNum1 = data.itemsNum1
this.form.itemsName1 = data.itemsName1
this.sarType = data.standInData
this.json = data
this.itemList = data.itemList
this.loading = true
}).catch(e => {
})
})
@@ -26,7 +26,7 @@
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.number"
v-model="form.itemsNum"
placeholder="请输入标准编号"
clearable
></el-input>
@@ -34,7 +34,7 @@
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.name"
v-model="form.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
@@ -42,28 +42,28 @@
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.number1"
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.number1"
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.name1"
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.name1"
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
@@ -177,7 +177,6 @@
align="center">
</el-table-column>
</el-table>
<loading :loading="loading">数据获取中</loading>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
@@ -252,17 +251,15 @@
</el-table>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
submitBTNText="同意"
>
</ProcessFooter>
<loading :loading="loading">加载中...</loading>
</div>
</template>
@@ -279,7 +276,7 @@
histortData: [],
sarType: '',
itemList: [],
loading: false,
loading: true,
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
@@ -288,10 +285,10 @@
isSubmit: false,
saveLoading: false,
form: {
number: '',
name: '',
number1: '',
name1: ''
itemsNum: '',
itemsName: '',
itemsNum1: '',
itemsName1: '',
},
json: {},
}
@@ -314,6 +311,7 @@
},
handleSave() {},
handleSubmit() {
this.isSubmit = true
var json = this.json
json.gcApplyFlag = 1
json.commentText = this.commentText
@@ -326,10 +324,12 @@
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
handleSubmitNo () {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.gcApplyFlag = 2
json.commentText = this.commentText
@@ -342,6 +342,7 @@
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.$message.warning('请输入反馈意见')
@@ -354,13 +355,14 @@
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.number = data.number
this.form.name = data.name
this.form.number1 = data.number1
this.form.name1 = data.name1
this.form.itemsNum = data.itemsNum
this.form.itemsName = data.itemsName
this.form.itemsNum1 = data.itemsNum1
this.form.itemsName1 = data.itemsName1
this.sarType = data.standInData
this.json = data
this.itemList = data.itemList
this.loading = false
}).catch(e => {
})
})
@@ -29,7 +29,16 @@
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="standName" label="标准号/标准名称" align="center"/>
<el-table-column prop="standSerialNumber" label="标准号" show-overflow-tooltip align="center">
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSerialNumber }}</a>
</template>
</el-table-column>
<el-table-column prop="standName" align="center" show-overflow-tooltip label="标准名称">
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column prop="productName" label="项目名称" align="center" show-overflow-tooltip/>
<el-table-column prop="itemsNum" label="条款号" align="center"/>
<el-table-column prop="itemsName" label="条款名称" align="center"/>
@@ -69,8 +78,8 @@
<el-form-item prop="startUserName" style="margin-bottom: 0">
<h4>流程发起人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.startUser" style="display: none;"></el-input>
<el-input v-model="roleForm.startUserName" placeholder="流程发起人"></el-input>
<el-input v-model="roleForm.startUser" :disabled="true" style="display: none;"></el-input>
<el-input v-model="roleForm.startUserName" :disabled="true" placeholder="流程发起人"></el-input>
</div>
</el-form-item>
</el-card>
@@ -87,6 +96,42 @@
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="确认+选择责任人" placement="top" :color="roleForm.dockUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="dockUserName" style="margin-bottom: 0">
<h4>确认+选择责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.dutyUser" style="display: none;"></el-input>
<el-input v-model="roleForm.dutyUserName" :disabled="true" placeholder="确认+选择责任人" @click.native="choiceZRR('dockUser', '选择标准法规工程师', roleForm.dockUser)">
</el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="上传佐证材料填选择写信息" placement="top" :color="roleForm.uploadUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="dockUserName" style="margin-bottom: 0">
<h4>负责人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.uploadUser" style="display: none;"></el-input>
<el-input v-model="roleForm.uploadUserName" :disabled="true" placeholder="选择负责人" @click.native="choiceZRR('dockUser', '选择标准法规工程师', roleForm.dockUser)">
</el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="批准" placement="top" :color="roleForm.checkUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="dockUserName" style="margin-bottom: 0">
<h4>分发负责人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.checkUser" style="display: none;"></el-input>
<el-input v-model="roleForm.checkUserName" :disabled="true" placeholder="分发负责人" @click.native="choiceZRR('dockUser', '选择标准法规工程师', roleForm.dockUser)">
</el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
</el-form>
</el-timeline>
</div>
@@ -103,7 +148,7 @@
<el-form :modal="queryUnqualidiedData" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input
v-model="queryUnqualidiedData.standId"
v-model="queryUnqualidiedData.standSerialNumber"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
@@ -154,25 +199,44 @@
</div>
</div>
<el-table
ref="searchTable"
:data="unqualidiedData"
tooltip-effect="dark"
style="width: 100%"
border
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
ref="searchTable"
:data="unqualidiedData"
tooltip-effect="dark"
style="width: 100%"
border
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectedChange"
>
@selection-change="selectedChange"
>
<el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="standId" label="标准号/标准名称"/>
<el-table-column prop="productName" label="项目名称"/>
<el-table-column prop="itemsNum" label="条款号"/>
<el-table-column prop="itemsName" label="条款名称"/>
<el-table-column prop="planCloseTime" label="整改完成时间"/>
<el-table-column prop="responsibleUnit" label="责任部门"/>
<el-table-column prop="dutyEngineer" label="责任工程师"/>
<el-table-column prop="standSerialNumber" align="center" show-overflow-tooltip label="标准号">
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSerialNumber }}</a>
</template>
</el-table-column>
<el-table-column prop="standName" align="center" show-overflow-tooltip label="标准名称">
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column prop="productName" align="center" show-overflow-tooltip label="项目名称"/>
<el-table-column prop="itemsNum" align="center" label="条款号"/>
<el-table-column prop="itemsName" align="center" label="条款名称"/>
<el-table-column prop="planCloseTime" align="center" label="整改完成时间">
<template slot-scope="scope">
<span>{{ scope.row.planCloseTime ? $moment(scope.row.planCloseTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column prop="responsibleUnit" align="center" label="责任部门"/>
<el-table-column prop="dutyEngineer" align="center" label="责任工程师"/>
</el-table>
<pagination
style="position: relative;"
:page="pageNo"
:total="total"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"/>
<div class="demo-drawer-footer">
<el-button size="mini" @click="closeDrawer">取消</el-button>
<el-button type="primary" size="mini" @click="OkDrawer">带入</el-button>
@@ -201,7 +265,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { startProcess, completeTask, saveTaskFirst } from '@/api/process.js'
import { startProcess, completeTask, saveTaskFirst, queryTaskFirst } from '@/api/process.js'
import { standUnqualified, dicTypeData } from '@/api/unqualProcess.js'
export default {
name: "wfhxzgStep1",
@@ -217,13 +281,17 @@ export default {
// 责任部门
zrbmOptions: [],
standModel: false,
// 总数
total: 0,
// 当前页数
pageNo: 1,
// 查询未符合项整改数据库数据
queryUnqualidiedData: {
pageNo: 1,
pageSize: 10,
total: 0,
closeState: '1',
standId: '', // 标准号/名称
standSerialNumber: '', // 标准号/名称
productName: '', // 项目名称
responsibleUnit: '' // 责任部门
},
@@ -254,7 +322,23 @@ export default {
ProcessFooter,
ProcessTitle
},
mounted() {
this.bpnId = this.$route.query.bpnId
if (this.bpnId !== undefined) {
this.getData()
}
},
methods: {
getData() {
queryTaskFirst({
bpnId: this.$route.query.bpnId
}).then(res => {
let mes = JSON.parse(res.mes);
this.dataList = mes.dataList;
this.roleForm = mes.roleForm;
this.commentText = mes.commentText;
});
},
//点击新增事件
addList() {
dicTypeData().then(res => {
@@ -269,9 +353,9 @@ export default {
this.$set(item,'dutyPeople','')
this.$set(item,'dutyPeopleInfoId','')
this.$set(item,'dutyPeopleId','')
this.$set(item,'fileText','')
this.$set(item,'fileTextId','')
this.$set(item,'fileTextPath','')
this.$set(item,'fileText',[])
this.$set(item,'fileTextId',[])
this.$set(item,'fileTextPath',[])
})
this.total = res.data.total
})
@@ -308,6 +392,18 @@ export default {
});
}
},
// 点击查看
handlePreview (item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
id: item.standId,
pageType: 'FOREIGN_STAND'
// pageType: item.standType + '_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
//选择标准取消事件
closeDrawer() {
this.standModel = false
@@ -432,7 +528,7 @@ export default {
// 清空 查询条件
clearAllSearch (search = true) {
this.queryUnqualidiedData = {
standId: '',
standSerialNumber: '',
productName: '',
responsibleUnit: ''
}
@@ -13,7 +13,7 @@
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-form :modal="nonSearch" inline class="label-input-form">
<!-- <el-form :modal="nonSearch" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input v-model="nonSearch.standId"
size="small"
@@ -76,7 +76,7 @@
清空
</el-button>
</el-form-item>
</el-form>
</el-form>-->
<div class="content-center">
<el-button
style="text-align: end"
@@ -97,7 +97,16 @@
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="standId" label="标准号/标准名称" align="center"/>
<el-table-column prop="standSerialNumber" show-overflow-tooltip label="标准号" align="center">
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSerialNumber }}</a>
</template>
</el-table-column>
<el-table-column prop="standName" align="center" show-overflow-tooltip label="标准名称">
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column prop="productName" label="项目名称" align="center" show-overflow-tooltip/>
<el-table-column prop="itemsNum" label="条款号" align="center"/>
<el-table-column prop="itemsName" label="条款名称" align="center"/>
@@ -119,7 +128,6 @@
</template>
</el-table-column>
</el-table>
<!-- <pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"/>-->
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
@@ -316,9 +324,9 @@ export default {
const params = {
taskIds: this.taskIds,
pId: this.pId,
standId: '', // 标准号/名称
productName: '', // 项目名称
responsibleUnit: '' // 责任部门
// standId: '', // 标准号/名称
// productName: '', // 项目名称
// responsibleUnit: '' // 责任部门
}
inboundLiaisonDetail(params).then(res => {
const processForm = JSON.parse(res.mesg)
@@ -328,6 +336,7 @@ export default {
getFormFieldList (item) {
this.$nextTick(() => {
this.dataList = JSON.parse(JSON.stringify(item)).standardInfoList
this.textarea = JSON.parse(JSON.stringify(item)).commentText
})
},
// 批量选择分发责任人
@@ -455,6 +464,18 @@ export default {
})
this.dataList = this.realList
},
// 点击查看
handlePreview (item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
id: item.standId,
pageType: 'FOREIGN_STAND'
// pageType: item.standType + '_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
// 清空 查询条件
clearAllSearch () {
this.nonSearch = {
@@ -13,7 +13,7 @@
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-form :modal="nonSearch" inline class="label-input-form">
<!-- <el-form :modal="nonSearch" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input
size="small"
@@ -78,7 +78,7 @@
清空
</el-button>
</el-form-item>
</el-form>
</el-form>-->
<div class="content-center">
<el-button
style="text-align: end"
@@ -99,7 +99,16 @@
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="standId" label="标准号/标准名称" align="center"/>
<el-table-column prop="standSerialNumber" show-overflow-tooltip label="标准号" align="center">
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSerialNumber }}</a>
</template>
</el-table-column>
<el-table-column prop="standName" align="center" show-overflow-tooltip label="标准名称">
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column prop="productName" label="项目名称" align="center" show-overflow-tooltip/>
<el-table-column prop="itemsNum" label="条款号" align="center"/>
<el-table-column prop="itemsName" label="条款名称" align="center"/>
@@ -125,7 +134,6 @@
</template>
</el-table-column>
</el-table>
<!-- <pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"/>-->
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
@@ -316,6 +324,7 @@ export default {
for (let i = 0; i<fileData.length; i++) {
if (fileData[i].name === this.$store.getters.userInfo.userName) {
this.dataList = fileData[i].standardInfoList
this.standardInfoList = this.dataList
}
}
})
@@ -344,15 +353,31 @@ export default {
handleTabs(name) {
this.active = name
},
// 退回按钮
handleSubmitNo() {
if (this.commentText) {
var json = {
actionFlag: 1,
commentText: this.commentText
commentText: this.commentText,
standardInfoList: this.standardInfoList,
}
this.isSubmit = true
this.$http.post('lawss/activiti/completeTask', {
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskIds', this.taskIds)
completeTask(params).then(res => {
if (res.success) {
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.$message.warning('请输入反馈意见')
}
/* this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
@@ -365,7 +390,19 @@ export default {
})
} else {
this.$message.warning('请输入反馈意见')
}
}*/
},
// 点击查看
handlePreview (item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
id: item.standId,
pageType: 'FOREIGN_STAND'
// pageType: item.standType + '_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
// 保存按钮
handleSave() {},
@@ -13,7 +13,7 @@
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-form :modal="nonSearch" inline class="label-input-form">
<!-- <el-form :modal="nonSearch" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input
size="small"
@@ -78,7 +78,7 @@
清空
</el-button>
</el-form-item>
</el-form>
</el-form>-->
<el-table
:data="dataList"
border
@@ -87,6 +87,16 @@
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="standSerialNumber" align="center" show-overflow-tooltip label="标准号">
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSerialNumber }}</a>
</template>
</el-table-column>
<el-table-column prop="standName" align="center" show-overflow-tooltip label="标准名称">
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column prop="productName" label="项目名称" align="center" show-overflow-tooltip/>
<el-table-column prop="itemsNum" label="条款号" align="center"/>
<el-table-column prop="itemsName" label="条款名称" align="center"/>
@@ -97,32 +107,30 @@
</el-table-column>
<el-table-column prop="responsibleUnit" label="责任部门" align="center"/>
<el-table-column prop="dutyPeople" label="负责人" align="center"/>
<el-table-column prop="info.fileText" label="佐证材料" align="center" show-overflow-tooltip width="150">
<el-table-column label="佐证材料" align="center" width="150">
<template slot-scope="scope">
<div style="display: inline;">
<el-input
disabled
style="display: none"
v-model="scope.row.fileText"
clearable
/>
<div v-if="scope.row.fileText" type="primary" @click="fileUpload(scope.row)" class="fileClass">
{{ scope.row.fileText }}
</div>
<div v-else>
<el-upload
multiple
ref="uploadFile"
:action="uploadPath"
name="file"
:file-list="fileTextList"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<el-button
type="primary"
class="common-button-primary"
@click="fileUpload(scope.row)"
@click="uploadFile(scope.row)"
size="mini">
点击上传
</el-button>
</div>
</div>
</el-upload>
</template>
</el-table-column>
</el-table>
<!-- <pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"/>-->
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
@@ -214,23 +222,6 @@
@submit="handleSubmit"
>
</ProcessFooter>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
<el-upload
multiple
drag
:action="uploadPath"
ref="importfile"
name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
:before-upload="handleBeforeUpload"
:on-success="handleOnsuccess"
>
<div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i>
<p>点击或拖拽上传文件</p>
</div>
</el-upload>
</el-dialog>
</div>
</template>
@@ -238,7 +229,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {interfaceUrl} from "@/sysConfig";
import {uploadFile} from '@/api/unqualProcess.js';
import {inboundLiaisonDetail, completeTask} from "@/api/process"
export default {
@@ -268,6 +259,8 @@ export default {
// 上传路径
uploadPath: 'api/att/attFile/upload',
fileMadel: false,
// 上传所储存文件数组
fileTextList: [],
newDataList: [],
// 责任部门
zNodesSItem: [],
@@ -315,12 +308,18 @@ export default {
this.$nextTick(() => {
this.dataList = [JSON.parse(JSON.stringify(item.responUserInfo.info))]
/*for (let i = 0; i<fileData.length; i++) {
if (fileData[i].name === this.$store.getters.userInfo.userName) {
this.dataList = fileData[i].standardInfoList
console.log(this.dataList)
this.newDataList = []
console.log(this.dataList)
this.dataList.forEach(item => {
if (item.fileText.length !== 0) {
item.fileText.forEach(item1 => {
this.fileTextList.push({
id: item1.id,
name: item1.name
})
})
}
}*/
})
})
},
@@ -328,16 +327,22 @@ export default {
this.active = name
},
/************ 上传佐证材料 *****************/
fileUpload (val) {
this.newDataList = val
this.fileMadel = true
uploadFile (val) {
this.fileListData = val
},
// 文件上传成功
handleOnsuccess(res, file, fileList) {
if (res.ok) {
this.newDataList.fileText = res.data.name
this.newDataList.fileTextId = res.data.id
this.newDataList.fileTextPath = res.data.filePath
this.newDataList.push({
id: res.data.attId,
name: res.data.standName
})
this.newDataList.forEach(item =>{
this.fileListData.fileText.push({
id: item.id,
name: item.name
})
})
this.$message({
showClose: true,
message: res.message,
@@ -374,13 +379,28 @@ export default {
return true
},
// 移除上传的文件
handleBeforeRemove() {},
handleOnRemove() {},
// 文件超过限制数量提示
handleExceed() {
this.$message.error(``)
handleBeforeRemove(file, fileList) {
this.fileTextList = fileList
this.newDataList.forEach((item, index) => {
if (file.name === item.name || file.id === item.id) {
this.newDataList.splice(index, 1)
}
})
},
/************ ********* *****************/
// 点击查看
handlePreview (item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
id: item.standId,
pageType: 'FOREIGN_STAND'
// pageType: item.standType + '_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
// 保存按钮
handleSave() {},
// 提交按钮
@@ -388,7 +408,7 @@ export default {
this.isSubmit = true
let flag=false
this.dataList.forEach(item => {
if (item.fileText === '') {
if (item.fileText.length === 0) {
flag=true
this.isSubmit = false
}
@@ -13,7 +13,7 @@
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-form :modal="nonSearch" inline class="label-input-form">
<!-- <el-form :modal="nonSearch" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input
size="small"
@@ -78,7 +78,7 @@
清空
</el-button>
</el-form-item>
</el-form>
</el-form>-->
<el-table
:data="dataList"
border
@@ -87,6 +87,16 @@
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="standSerialNumber" align="center" show-overflow-tooltip label="标准号">
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSerialNumber }}</a>
</template>
</el-table-column>
<el-table-column prop="standName" align="center" show-overflow-tooltip label="标准名称">
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column prop="productName" label="项目名称" align="center" show-overflow-tooltip/>
<el-table-column prop="itemsNum" label="条款号" align="center"/>
<el-table-column prop="itemsName" label="条款名称" align="center"/>
@@ -96,14 +106,19 @@
</template>
</el-table-column>
<el-table-column prop="responsibleUnit" label="责任部门" align="center"/>
<el-table-column prop="dutyEngineer" label="负责人" align="center"/>
<el-table-column label="佐证材料" align="center" show-overflow-tooltip>
<el-table-column prop="dutyPeople" label="负责人" align="center"/>
<el-table-column prop="fileText" label="佐证材料" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<el-button type="text" @click="download(scope.row)" >{{scope.row.fileText}}</el-button>
<el-upload
:action="''"
name="file"
:file-list="fileTextList"
:on-preview="handleOnPreview"
>
</el-upload>
</template>
</el-table-column>
</el-table>
<!-- <pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"/>-->
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
@@ -222,6 +237,7 @@ export default {
productName: '', // 项目名称
responsibleUnit: '' // 责任部门
},
fileTextList: [],
active: '1', // 默认显示
isSubmit: false,
backLoading: false,
@@ -281,13 +297,39 @@ export default {
getFormFieldList (item) {
this.$nextTick(() => {
this.dataList = JSON.parse(JSON.stringify(item)).info.fileDataList
this.dataList.forEach(item => {
item.fileText.forEach(item1 => {
this.fileTextList.push({
id: item1.id,
name: item1.name
})
})
})
})
},
handleTabs(name) {
this.active = name
},
// 点击查看
handlePreview (item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
id: item.standId,
pageType: 'FOREIGN_STAND'
// pageType: item.standType + '_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
// 点击上传的文件进行下载
handleOnPreview(file) {
let attId = file.id
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
// 提交按钮
handleSubmit() {
this.isSubmit = true
@@ -407,6 +449,9 @@ export default {
background: #E6A23C;
}
}
/deep/.el-upload{
display: block;
}
.content-center {
padding: 10px 0px 10px 10px;
}
@@ -85,22 +85,22 @@
</template>
</el-table-column>
<el-table-column
prop="xcxssrqgj"
prop="xcxssrq"
width="190px"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format("YYYY-MM-DD") : "" }}</span>
<span>{{ scope.row.xcxssrq ? $moment(scope.row.xcxssrq).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrqgj"
prop="zccssrq"
align="center"
sortable
width="190px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format("YYYY-MM-DD") : "" }}</span>
<span>{{ scope.row.zccssrq ? $moment(scope.row.zccssrq).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
@@ -414,6 +414,7 @@ export default {
_this: this
}, res => {
this.ProjectDatas = res.data.Maintenance.records;
this.total = res.data.Maintenance.total;
});
},
@@ -335,6 +335,16 @@ export default {
}
})
break
case '9':
this.$router.push({
name: 'bzjdStep1-1',
query: {
type: '9',
processName: '标准解读流程',
bpnId: id
}
})
break
}
},
...mapMutations(['setProcess', 'setHandleInfo']),
@@ -189,6 +189,16 @@
{{ formatIssueDate(scope.row.issueTime) }}
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQ"
sortable="putTime"
width="150px"
label="实施日期">
<template slot-scope="scope">
{{ formatIssueDate(scope.row.putTime) }}
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQ"
sortable="custom"
@@ -3501,7 +3511,6 @@ export default {
}
}
this.stahndinfoList = res.data.list
console.log(this.stahndinfoList)
this.total = res.data.count
if ((this.stahndinfoList.length === 0 || this.stahndinfoList === []) && this.sarStandardsSearch.page !== 1) {
this.pageChange(1)
@@ -1,92 +1,92 @@
<!--征求意见详情-->
<template>
<div class="consultationDetails">
<div class="contentTitle">
<div class="back" title="返回" @click="back">
<i class="el-icon-back"></i>
</div>
<div class="title">征求意见详情<i class="el-icon-s-order" @click="heightShow = !heightShow"></i></div>
</div>
<transition name="el-zoom-in-top">
<div v-show="heightShow" class="transition-box">
<p class="transition-box-p">
<label class="transition-box-label">标准号</label>
<span class="transition-box-span">{{ this.$route.query.item.cid }}</span>
</p>
<p class="transition-box-p">
<label class="transition-box-label">标准名称</label>
<span class="transition-box-span">{{ this.$route.query.item.cname || '-' }}</span>
</p>
<p class="transition-box-p">
<label class="transition-box-label">上传时间</label>
<span class="transition-box-span">{{ this.$route.query.item.endTime || '-' }}</span>
</p>
<p class="transition-box-p">
<label class="transition-box-label">征求意见周期</label>
<span class="transition-box-span" v-if="this.$route.query.item.startTime && this.$route.query.item.endTime">{{ this.$route.query.item.startTime + ' ~ ' + this.$route.query.item.endTime}}</span>
<span class="transition-box-span" v-else>-</span>
</p>
</div>
</transition>
<div class="effect">
<el-button v-if="ideaKey" type="primary" class="common-button-primary" size="mini" @click="selectStandardPro('add')">添加</el-button>
<el-button type="primary" class="common-button-primary" size="mini" @click="exportAll">导出</el-button>
</div>
<div class="container" style="position:relative;">
<div style="position: absolute;top: 0;left: 0;bottom: 0;right: 0;">
<el-table
:data="standinfoList"
height="100%"
border
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
<div class="contentTitle">
<div class="back" title="返回" @click="back">
<i class="el-icon-back"></i>
</div>
<div class="title">征求意见详情<i class="el-icon-s-order" @click="heightShow = !heightShow"></i></div>
</div>
<transition name="el-zoom-in-top">
<div v-show="heightShow" class="transition-box">
<p class="transition-box-p">
<label class="transition-box-label">标准号</label>
<span class="transition-box-span">{{ this.$route.query.item.cid }}</span>
</p>
<p class="transition-box-p">
<label class="transition-box-label">标准名称</label>
<span class="transition-box-span">{{ this.$route.query.item.cname || '-' }}</span>
</p>
<p class="transition-box-p">
<label class="transition-box-label">上传时间</label>
<span class="transition-box-span">{{ this.$route.query.item.endTime || '-' }}</span>
</p>
<p class="transition-box-p">
<label class="transition-box-label">征求意见周期</label>
<span class="transition-box-span" v-if="this.$route.query.item.startTime && this.$route.query.item.endTime">{{ this.$route.query.item.startTime + ' ~ ' + this.$route.query.item.endTime}}</span>
<span class="transition-box-span" v-else>-</span>
</p>
</div>
</transition>
<div class="effect">
<el-button v-if="ideaKey" type="primary" class="common-button-primary" size="mini" @click="selectStandardPro('add')">添加</el-button>
<el-button type="primary" class="common-button-primary" size="mini" @click="exportAll">导出</el-button>
</div>
<div class="container" style="position:relative;">
<div style="position: absolute;top: 0;left: 0;bottom: 0;right: 0;">
<el-table
:data="standinfoList"
height="100%"
border
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
prop="partCode"
label="章节编号"
align="center"
width="180">
</el-table-column>
<el-table-column
prop="content"
align="center"
label="修改意见内容(包括理由或依据)"
>
</el-table-column>
<el-table-column
prop="deptName"
align="center"
label="提出部门"
>
</el-table-column>
<el-table-column
prop="userName"
align="center"
label="提出人"
>
</el-table-column>
<el-table-column label="操作" align="center" width="50" fixed="right" v-if="ideaKey">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i v-if="scope.row.userId === $store.getters.userInfo.userId" class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-if="scope.row.userId === $store.getters.userInfo.userId" :command="[scope.row, '编辑']">编辑</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</div>
</div>
<pagination
style="position: static;width: 100%;"
:page="form.page"
:total="total"
@pageChange="handlePageChange"
@pageSizeChange="handlePageSizeChange"></pagination>
<el-table-column
prop="partCode"
label="章节编号"
align="center"
width="180">
</el-table-column>
<el-table-column
prop="content"
align="center"
label="修改意见内容(包括理由或依据)"
>
</el-table-column>
<el-table-column
prop="deptName"
align="center"
label="提出部门"
>
</el-table-column>
<el-table-column
prop="userName"
align="center"
label="提出人"
>
</el-table-column>
<el-table-column label="操作" align="center" width="50" fixed="right" v-if="ideaKey">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i v-if="scope.row.userId === $store.getters.userInfo.userId" class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-if="scope.row.userId === $store.getters.userInfo.userId" :command="[scope.row, '编辑']">编辑</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</div>
</div>
<pagination
style="position: static;width: 100%;"
:page="form.page"
:total="total"
@pageChange="handlePageChange"
@pageSizeChange="handlePageSizeChange"></pagination>
<el-drawer
:title=opiniontitle
:visible.sync="isDialog"
@@ -117,292 +117,304 @@
</template>
<script>
export default {
name: 'consultationDetails',
data () {
return {
id: '', // 选中id
type: '', // 选中状态
spinShow: false,
total: 0, // 总数
opiniontitle: '新增意见', // 抽屉标题
isDialog: false, //新增抽屉状态
heightShow: true, // 高度
isSubmit: false,
opinionContent: { // 抽屉数据
partCode: '',
content: '',
export default {
name: 'consultationDetails',
data () {
return {
id: '', // 选中id
type: '', // 选中状态
spinShow: false,
total: 0, // 总数
opiniontitle: '新增意见', // 抽屉标题
isDialog: false, //新增抽屉状态
heightShow: true, // 高度
isSubmit: false,
opinionContent: { // 抽屉数据
partCode: '',
content: '',
},
opinionContentRules: {
partCode: [
{ required: true, message: '请输入章节编号', trigger: 'blur' },
],
content: [
{ required: true, message: '请输入修改意见内容(包括理由或依据)', trigger: 'blur' }
],
},
standinfoList: [], // 详情列表
form: {
cid: this.$route.query.item.cid,
page: 1,
size: this.$store.getters.userInfo.configContent,
userId: this.$store.getters.userInfo.userId,
endTime: this.$route.query.item.endTime
}, // 详情数据
ideaKey: false
}
},
opinionContentRules: {
partCode: [
{ required: true, message: '请输入章节编号', trigger: 'blur' },
],
content: [
{ required: true, message: '请输入修改意见内容(包括理由或依据)', trigger: 'blur' }
],
methods: {
exportAll () {
window.open('/api/slrs/sar-public-idea-all/tuallStand?cid=' + this.$route.query.item.cid)
},
getIdeaKey () {
this.$http.get('slrs/sar-public-idea-all/checkIsShow', {
endTime: this.form.endTime
}, {}, res => {
if (res.message === '1') {
this.ideaKey = false
} else {
this.ideaKey = true
}
})
},
// 获取详情信息列表
getList() {
this.spinShow = true
this.$http.get('slrs/sar-public-idea-all/getAllStand', this.form, {
_this: this
}, res => {
this.standinfoList = res.data.records
this.total = res.data.total
this.spinShow = false
res.data.records.forEach(item => {
if (item.ideaKey == 1) {
this.ideaKey = false
} else {
this.ideaKey = true
}
})
}, e => {
})
},
//分页数据改变
handlePageChange(page) {
this.form.page = page
this.getList()
},
handlePageSizeChange(pageSize) {
this.$store.getters.userInfo.configContent = pageSize
this.form.size = pageSize
this.getList()
},
back (){
this.$router.push({
name:'standardForComments'
})
},
// 更多
handleCommand (command) {
switch (command[1]) {
case '编辑':
this.selectStandardPro('edit', command[0])
break
case '删除':
this.deleteStand(command[0].id)
break
}
},
//编辑
selectStandardPro(type, row){
this.type = type
if (type === 'edit') {
this.id = row.id
this.opiniontitle = '编辑意见内容'
this.opinionContent.partCode = row.partCode
this.opinionContent.content = row.content
} else {
this.id = ''
this.opiniontitle = '新增意见'
this.opinionContent.partCode = ''
this.opinionContent.content = ''
}
this.isDialog = true
},
//删除
deleteStand(id){
this.$confirm('确认删除这些意见?', '提示', {
confirmButtonText: '确定',
confirmButtonClass: 'common-button-primary',
cancelButtonText: '取消',
type: 'warning',
roundButton: false
}).then(() => {
var form = {
id: id,
autUserId: this.$store.getters.userInfo.userId,
userId: this.$store.getters.userInfo.userId
}
this.$http.get('slrs/sar-public-idea-all/deleteStand', form, {
_this: this
}, res => {
this.$message.warning(res.message)
this.form.page = 1
this.getList()
})
//确认事件
}).catch(() => {
this.$message.warning('取消删除')
//取消事件
})
},
//点击抽屉按钮提交事件
saveUserInfo() {
this.$refs['formAdd'].validate((valid) => {
if (valid) {
var url = ''
var form = {
cid: this.$route.query.item.cid,
content: this.opinionContent.content,
partCode: this.opinionContent.partCode,
userId: this.$store.getters.userInfo.userId,
userName: this.$store.getters.userInfo.account,
deptName: this.$store.getters.userInfo.orgName,
deptId: this.$store.getters.userInfo.orgId
}
if (this.type === 'edit') {
form.id = this.id
form.autUserId = this.$store.getters.userInfo.userId
url = 'slrs/sar-public-idea-all/updateStand'
} else {
url = 'slrs/sar-public-idea-all/insetStand'
}
this.$http.post(url, form, {
_this: this
}, res => {
if (res.respCode === '200') {
this.form.page = 1
this.getList()
}
})
this.isDialog = false
}
})
},
//点击抽屉按钮取消事件
closeDrawer() {
this.isDialog = false
},
},
standinfoList: [], // 详情列表
form: {
cid: this.$route.query.item.cid,
page: 1,
size: this.$store.getters.userInfo.configContent,
userId: this.$store.getters.userInfo.userId,
endTime: this.$route.query.item.endTime
}, // 详情数据
ideaKey: false
mounted () {
this.getList()
this.getIdeaKey()
}
}
},
methods: {
exportAll () {
window.open('/api/slrs/sar-public-idea-all/tuallStand?cid=' + this.$route.query.item.cid)
},
// 获取详情信息列表
getList() {
this.spinShow = true
this.$http.get('slrs/sar-public-idea-all/getAllStand', this.form, {
_this: this
}, res => {
this.standinfoList = res.data.records
this.total = res.data.total
this.spinShow = false
res.data.records.forEach(item => {
if (item.ideaKey == 1) {
this.ideaKey = false
} else {
this.ideaKey = true
}
})
}, e => {
})
},
//分页数据改变
handlePageChange(page) {
this.form.page = page
this.getList()
},
handlePageSizeChange(pageSize) {
this.$store.getters.userInfo.configContent = pageSize
this.form.size = pageSize
this.getList()
},
back (){
this.$router.push({
name:'standardForComments'
})
},
// 更多
handleCommand (command) {
switch (command[1]) {
case '编辑':
this.selectStandardPro('edit', command[0])
break
case '删除':
this.deleteStand(command[0].id)
break
}
},
//编辑
selectStandardPro(type, row){
this.type = type
if (type === 'edit') {
this.id = row.id
this.opiniontitle = '编辑意见内容'
this.opinionContent.partCode = row.partCode
this.opinionContent.content = row.content
} else {
this.id = ''
this.opiniontitle = '新增意见'
this.opinionContent.partCode = ''
this.opinionContent.content = ''
}
this.isDialog = true
},
//删除
deleteStand(id){
this.$confirm('确认删除这些意见?', '提示', {
confirmButtonText: '确定',
confirmButtonClass: 'common-button-primary',
cancelButtonText: '取消',
type: 'warning',
roundButton: false
}).then(() => {
var form = {
id: id,
autUserId: this.$store.getters.userInfo.userId,
userId: this.$store.getters.userInfo.userId
}
this.$http.get('slrs/sar-public-idea-all/deleteStand', form, {
_this: this
}, res => {
this.$message.warning(res.message)
this.form.page = 1
this.getList()
})
//确认事件
}).catch(() => {
this.$message.warning('取消删除')
//取消事件
})
},
//点击抽屉按钮提交事件
saveUserInfo() {
this.$refs['formAdd'].validate((valid) => {
if (valid) {
var url = ''
var form = {
cid: this.$route.query.item.cid,
content: this.opinionContent.content,
partCode: this.opinionContent.partCode,
userId: this.$store.getters.userInfo.userId,
userName: this.$store.getters.userInfo.account,
deptName: this.$store.getters.userInfo.orgName,
deptId: this.$store.getters.userInfo.orgId
}
if (this.type === 'edit') {
form.id = this.id
form.autUserId = this.$store.getters.userInfo.userId
url = 'slrs/sar-public-idea-all/updateStand'
} else {
url = 'slrs/sar-public-idea-all/insetStand'
}
this.$http.post(url, form, {
_this: this
}, res => {
if (res.respCode === '200') {
this.form.page = 1
this.getList()
}
})
this.isDialog = false
}
})
},
//点击抽屉按钮取消事件
closeDrawer() {
this.isDialog = false
},
},
mounted () {
this.getList()
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/mixins';
@import '~@/assets/styles/style';
.consultationDetails {
height: 100%;
display: flex;
flex-direction: column;
.iconClass{
width: 18px;
height: 18px;
}
.contentTitle {
display: flex;
align-items: center;
padding: 0 10px;
height: 50px;
background: #ffffff;
.title{
flex: 1;
font-weight: bold;
font-size: 20px;
margin-left: 15px;
.el-icon-s-order{
font-size: 22px;
color: #4498F0;
cursor: pointer;
}
}
}
.transition-box{
padding: 0 10px;
background: #ffffff;
font-size: 14px;
.transition-box-p{
line-height: 35px;
.transition-box-label{
display: inline-block;
width: 100px;
vertical-align: top;
}
.transition-box-span{
display: inline-block;
width: calc(~'100% - 100px');
}
.file-box{
display: inline-block;
width: calc(~'100% - 100px');
.transition-box-span{
display: inline;
width: 100%;
cursor: pointer;
color: #4498f0;
}
p{
& > a{
cursor: pointer;
}
& > i{
display: inline-block;
margin-left: 3px;
width: 18px;
height: 16px;
background-repeat: no-repeat;
background-size: 100% 100%;
background-position: center center;
vertical-align: sub;
cursor: pointer;
}
.icon-download{
background-image: url("~assets/images/shangqi/img/download.png");
}
.icon-download2{
background-image: url("~assets/images/shangqi/img/download2.png");
}
}
}
}
}
.effect {
margin: 10px 10px 0 0;
}
.container {
height: calc(~'100% - 52px - 55px - 50px');
flex: auto;
display: flex;
margin:10px 0;
flex-direction: column;
.el-tabs{
height: 100%;
display: flex;
flex-direction: column;
flex: auto;
/deep/.el-tabs__content{
//height: calc(~'100% - 55px');
overflow-y: auto;
flex: auto;
@import '~@/assets/styles/mixins';
@import '~@/assets/styles/style';
.consultationDetails {
height: 100%;
display: flex;
flex-direction: column;
.el-tab-pane{
height: 100%;
flex: auto;
display: flex;
flex-direction: column;
.iconClass{
width: 18px;
height: 18px;
}
.contentTitle {
display: flex;
align-items: center;
padding: 0 10px;
height: 50px;
background: #ffffff;
.title{
flex: 1;
font-weight: bold;
font-size: 20px;
margin-left: 15px;
.el-icon-s-order{
font-size: 22px;
color: #4498F0;
cursor: pointer;
}
}
}
.transition-box{
padding: 0 10px;
background: #ffffff;
font-size: 14px;
.transition-box-p{
line-height: 35px;
.transition-box-label{
display: inline-block;
width: 100px;
vertical-align: top;
}
.transition-box-span{
display: inline-block;
width: calc(~'100% - 100px');
}
.file-box{
display: inline-block;
width: calc(~'100% - 100px');
.transition-box-span{
display: inline;
width: 100%;
cursor: pointer;
color: #4498f0;
}
p{
& > a{
cursor: pointer;
}
& > i{
display: inline-block;
margin-left: 3px;
width: 18px;
height: 16px;
background-repeat: no-repeat;
background-size: 100% 100%;
background-position: center center;
vertical-align: sub;
cursor: pointer;
}
.icon-download{
background-image: url("~assets/images/shangqi/img/download.png");
}
.icon-download2{
background-image: url("~assets/images/shangqi/img/download2.png");
}
}
}
}
}
.effect {
margin: 10px 10px 0 0;
}
.container {
height: calc(~'100% - 52px - 55px - 50px');
flex: auto;
display: flex;
margin:10px 0;
flex-direction: column;
.el-tabs{
height: 100%;
display: flex;
flex-direction: column;
flex: auto;
/deep/.el-tabs__content{
//height: calc(~'100% - 55px');
overflow-y: auto;
flex: auto;
display: flex;
flex-direction: column;
.el-tab-pane{
height: 100%;
flex: auto;
display: flex;
flex-direction: column;
}
}
}
}
.add-demo {
.search-area {
height: 100%;
}
::v-deep .el-textarea__inner {
width: 1000px;
}
}
}
}
}
.add-demo {
.search-area {
height: 100%;
}
::v-deep .el-textarea__inner {
width: 1000px;
}
}
}
</style>
+9
View File
@@ -781,6 +781,15 @@ const routes = [
title: '标准解读流程'
}
},
{
path: '/bzjdStep1-1',
name: 'bzjdStep1-1',
component: () => import('@/pages/processCenter/pages/creatProcess/bzjd/step1-1.vue'),
meta: {
requireAuth: true,
title: '标准解读流程'
}
},
{
path: '/bzjdStep2',
name: 'bzjdStep2',
+1
View File
@@ -40,6 +40,7 @@ const interfacePORT = process.env.NODE_ENV === 'production' ? prodInterfacePORT
const CLOUD_RES_INTERFACE_PORT = process.env.NODE_ENV === 'production' ? DEV_CLOUD_RES_INTERFACE_PORT : DEV_CLOUD_RES_INTERFACE_PORT
module.exports = {
baseUrl: 'http://' + serverIP + ':' + interfacePORT,
serverUrl: 'http://' + serverIP, // 服务器IP地址
interfaceUrl: 'http://' + serverIP + ':' + interfacePORT + '/api/', // 服务器端接口访问地址,
cloudResInterFaceUrl: 'http://' + serverIP + ':' + interfacePORT + '/busApi/', // 云端资源库服务器端接口访问地址,