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

This commit is contained in:
super_liu
2021-07-16 17:38:59 +08:00
26 changed files with 3405 additions and 1137 deletions
+71 -169
View File
@@ -8,11 +8,11 @@
@click="addLink" @click="addLink"
v-btn-permission="'980cb239683de9e29ee5335cec98e5b4'" v-btn-permission="'980cb239683de9e29ee5335cec98e5b4'"
size="mini">新增</el-button> size="mini">新增</el-button>
<!-- <el-button type="primary"--> <el-button type="primary"
<!-- class="common-button-primary add-button"--> class="common-button-primary add-button"
<!-- @click="linkOrder"--> @click="linkOrder"
<!-- v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"--> v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"
<!-- size="mini">顺序调整</el-button>--> size="mini">顺序调整</el-button>
<el-button type="primary" <el-button type="primary"
class="common-button-primary add-button" class="common-button-primary add-button"
@click="deleteAllLink" @click="deleteAllLink"
@@ -22,7 +22,6 @@
<!-- 表格--> <!-- 表格-->
<div class="content"> <div class="content">
<el-table <el-table
ref="multipleTable"
:data="linkList" :data="linkList"
tooltip-effect="dark" tooltip-effect="dark"
border border
@@ -46,11 +45,11 @@
prop="url" prop="url"
label="链接"> label="链接">
</el-table-column> </el-table-column>
<el-table-column <!-- <el-table-column-->
prop="orderBy" <!-- prop="orderBy"-->
label="序号" <!-- label="序号"-->
sortable <!-- sortable-->
width="170px"> <!-- width="170px">-->
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="操作" label="操作"
@@ -112,14 +111,21 @@
type: '', // 1为新增 2为编辑 type: '', // 1为新增 2为编辑
dialogTitle: '', dialogTitle: '',
submitLoading: false, submitLoading: false,
selectList: [], // 向后台传参使用
data: [], data: [],
Loading: false, Loading: false,
modalshowflag: false, modalshowflag: false,
// 排序
order:[],
// 表格选取的
selectList:[],
selectId:[],
ids:'',
// 向后台传参使用
sarStandardsInfoEO: { sarStandardsInfoEO: {
name: '', name: '',
url: '', url: '',
// orderBy: '' // sortId: ''
}, },
//新增链接未输入时提示 //新增链接未输入时提示
sarStandardsInfoRules: { sarStandardsInfoRules: {
@@ -137,133 +143,7 @@
children: 'children' children: 'children'
}, },
linkList: [ linkList: []
{
url: 'http://www.sac.gov.cn/',
name: '国家标准化管理委员会',
orderBy: '01'
},
{
url: 'http://std.samr.gov.cn/',
name: '全国标准公共服务平台',
orderBy: '02'
},
{
url: 'http://www.gb688.cn/bzgk/gb/gbMainQuery%E5%9B%BD%E5%AE%B6%E6%A0%87%E5%87%86%E5%85%A8%E6%96%87%E5%85%AC%E5%BC%80',
name: '国家标准全文公开',
orderBy: '03'
},
{
url: 'http://www.catarc.org.cn/',
name: '全国汽车标准化技术委员会',
orderBy: '04'
},
{
url: 'http://jtst.mot.gov.cn/news/',
name: '交通运输标准化信息平台',
orderBy: '05'
},
{
url: 'https://www.miit.gov.cn/index.html',
name: '中华人民共和国工业和信息化部',
orderBy: '06'
},
{
url: 'http://www.miit-eidc.org.cn/',
name: '工信部装备工业发展中心',
orderBy: '07'
},
{
url: 'http://www.mee.gov.cn/',
name: '中华人民共和国生态环境部',
orderBy: '08'
},
{
url: 'http://sthjj.beijing.gov.cn/',
name: '北京市生态环境局',
orderBy: '09'
},
{
url: 'http://www.tmri.cn/',
name: '公安部交通管理科学研究院',
orderBy: '10'
},
{
url: 'http://www.tbt-sps.gov.cn/page/cwtoz/Indexquery.action',
name: '中国WTO/TBT-SPS通报资讯网',
orderBy: '11'
},
{
url: 'http://www.samr.gov.cn/',
name: '国家市场监督管理总局',
orderBy: '12'
},
{
url: 'http://www.caam.org.cn/',
name: '中国汽车工业协会',
orderBy: '13'
},
{
url: 'http://www.sae-china.org/',
name: '汽车工程学会',
orderBy: '14'
},
{
url: 'http://csae.sae-china.org/',
name: 'CSAE汽车工程学会标准',
orderBy: '15'
},
{
url: 'http://www.ttbz.org.cn/',
name: '全国团体标准信息平台',
orderBy: '16'
},
{
url: 'http://www.autoinfo.org.cn/',
name: '中国汽车工业信息网',
orderBy: '17'
},
{
url: 'http://cv.ce.cn/',
name: '中国商用车辆网',
orderBy: '18'
},
{
url: 'http://www.cnspv.cn/',
name: '中国专用汽车网',
orderBy: '19'
},
{
url: 'http://scjgj.beijing.gov.cn/bsfw/bmfw/bzhzl/',
name: '北京市市场监督管理局',
orderBy: '20'
},
{
url: 'http://www.unece.org/',
name: '欧盟经济委员会',
orderBy: '21'
},
{
url: 'https://eur-lex.europa.eu',
name: '欧盟',
orderBy: '22'
},
{
url: 'http://ec.europa.eu',
name: '欧共体',
orderBy: '23'
},
{
url: 'https://www.iso.org',
name: 'ISO',
orderBy: '24'
},
{
url: 'https://www.interregs.net/',
name: 'InterRegs',
orderBy: '25'
}
]
} }
}, },
methods: { methods: {
@@ -274,26 +154,43 @@
this.modalshowflag = true this.modalshowflag = true
}, },
// //头部顺序调整按钮 //头部顺序调整按钮
// linkOrder () { linkOrder () {
// this.$http.post('sarUrl/tsUrl/order',{ this.order=[]
// urlId: this.sarStandardsInfoEO.url for (var i=0;i<this.linkList.length;i++){
// }) this.order.push({
// }, urlId:this.linkList[i].id,
sortId:this.linkList[i].sortId
})
}
this.$http.postData('sarUrl/tsUrl/order',this.order, {}, res => {
if (res.ok) {
}else {
this.$message.warning(res.message)
}
})
},
//头部删除按钮 //头部删除按钮
deleteAllLink(row) { deleteAllLink() {
this.selectId=[]
for (var i=0;i<this.selectList.length;i++){
this.selectId.push(this.selectList[i].id)
}
this.ids=this.selectId.join(",")
if (this.selectList.length === 0) { if (this.selectList.length === 0) {
this.$message.warning('请选择要删除的链接') this.$message.warning('请选择要删除的链接')
} else { } else {
this.modalRole = true this.modalRole = true
// this.nodeList = this.selectList[0].idList // this.nodeList = this.selectList[0].idList
this.$http.delete('sarUrl/tsUrl/deleteBatch', { this.$http.delete('sarUrl/tsUrl/deleteBatch', {
id: this.selectList.id ids: this.ids
}, {}, res => { }, {}, res => {
if (res.ok) { if (res.ok) {
this.$message.success('删除成功') this.$message.success('删除成功')
this.getLink() this.getLink()
}else {
this.$message.warning(res.message)
} }
}) })
} }
@@ -310,9 +207,8 @@
this.$refs['sarStandardsInfoForm'].validate((valid) => { this.$refs['sarStandardsInfoForm'].validate((valid) => {
if (valid) { if (valid) {
if (this.type === 1) { if (this.type === 1) {
this.$http.post('sarUrl/tsUrl/add', { this.$http.postData('/sarUrl/tsUrl/add', {
name: this.sarStandardsInfoEO.name, ...this.sarStandardsInfoEO,
url: this.sarStandardsInfoEO.url,
}, { }, {
_this: this, _this: this,
loading: 'Loading' loading: 'Loading'
@@ -326,7 +222,8 @@
} }
}) })
} else { } else {
this.$http.put('sarUrl/tsUrl/edit', { // 编辑
this.$http.putData('/sarUrl/tsUrl/edit', {
id: this.editId, id: this.editId,
name: this.sarStandardsInfoEO.name, name: this.sarStandardsInfoEO.name,
url: this.sarStandardsInfoEO.url, url: this.sarStandardsInfoEO.url,
@@ -365,10 +262,15 @@
deleteLink (row) { deleteLink (row) {
this.$http.delete('sarUrl/tsUrl/delete', { this.$http.delete('sarUrl/tsUrl/delete', {
id: row.id id: row.id
}, {}, res => { }, {
_this: this,
loading: 'Loading'
}, res => {
if (res.ok) { if (res.ok) {
this.$message.success('删除成功') this.$message.success('删除成功')
this.getLink() this.getLink()
}else {
this.$message.warning(res.message)
} }
}) })
}, },
@@ -379,7 +281,7 @@
this.editId = row.id this.editId = row.id
this.sarStandardsInfoEO.name = row.name this.sarStandardsInfoEO.name = row.name
this.sarStandardsInfoEO.url = row.url this.sarStandardsInfoEO.url = row.url
this.sarStandardsInfoEO.orderBy = row.orderBy this.sarStandardsInfoEO.sortId = row.sortId
this.dialogTitle = '修改链接' this.dialogTitle = '修改链接'
this.modalshowflag = true this.modalshowflag = true
}, },
@@ -391,12 +293,12 @@
// 获取链接数据 // 获取链接数据
getLink () { getLink () {
this.$http.get('sarUrl/tsUrl', {}, { this.$http.get('sarUrl/tsUrl', {
_this: this, }, {
loading: 'Loading' _this: this,
}, res=> { loading: 'Loading'
this.data = res.data }, res=> {
console.log(data); this.linkList = res.data
}) })
}, },
}, },
@@ -407,14 +309,14 @@
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import '~@/assets/styles/mixins'; @import '~@/assets/styles/mixins';
#post-manage { #post-manage {
height: 100%; height: 100%;
.content { .content {
height: calc(~'100% - 53px') height: calc(~'100% - 53px')
}
.filter-tree {
height: calc(~'100% - 50px')
}
} }
.filter-tree {
height: calc(~'100% - 50px')
}
}
</style> </style>
+7 -35
View File
@@ -2,8 +2,8 @@
<template> <template>
<div class="link"> <div class="link">
<ul> <ul>
<li v-for="(link, index) in linkList" :key="index"> <li v-for="(link, index) in linkList" v-if="index<5" :key="index">
<a @click="openLinkUrl(link.newWebSite)" v-html="link.webName"></a> <a @click="openLinkUrl(link.url)" v-html="link.name"></a>
</li> </li>
<li> <li>
<router-link to="/linkManage">更多链接></router-link> <router-link to="/linkManage">更多链接></router-link>
@@ -19,36 +19,7 @@ export default {
mixins: [], mixins: [],
data() { data() {
return { return {
linkList: [ linkList: [],
{
newWebSite: 'http://www.sac.gov.cn/',
webName: '国家标准化管理委员会'
},
{
newWebSite: 'http://std.samr.gov.cn/',
webName: '全国标准公共服务平台'
},
{
newWebSite: 'http://www.catarc.org.cn/',
webName: '全国汽车标准化技术委员会'
},
{
newWebSite: 'http://jtst.mot.gov.cn/news/',
webName: '交通运输标准化信息平台'
},
{
newWebSite: 'http://www.miit-eidc.org.cn/',
webName: '工信部装备工业发展中心'
},
{
newWebSite: 'http://www.mee.gov.cn/',
webName: '中华人民共和国生态环境部'
},
// {
// newWebSite: '',
// webName: '更多链接>'
// }
]
} }
}, },
computed: {}, computed: {},
@@ -67,13 +38,14 @@ export default {
window.open('https://' + linkUri) window.open('https://' + linkUri)
} }
}, },
// 获取链接数据
getLink () { getLink () {
this.$http.get('sarUrl/tsUrl', {}, { this.$http.get('sarUrl/tsUrl', {
}, {
_this: this, _this: this,
loading: 'Loading' loading: 'Loading'
}, res=> { }, res=> {
this.data = res.data this.linkList = res.data
console.log(data);
}) })
} }
}, },
@@ -50,7 +50,6 @@ export default {
this.$router.push(this.path) this.$router.push(this.path)
}, },
dealWith (row) { // 办理 dealWith (row) { // 办理
this.setHandleInfo(JSON.stringify(row))
const prcType = row.prcType const prcType = row.prcType
switch(prcType) { switch(prcType) {
case '1': case '1':
@@ -110,12 +110,12 @@
</div> </div>
<ProcessFooter <ProcessFooter
show-submit show-submit
show-back
approval approval
@back="handleSubmitNo"
:submitLoading="isSubmit" :submitLoading="isSubmit"
:saveLoading="saveLoading" :saveLoading="saveLoading"
@submit="handleSubmit" @submit="handleSubmit"
show-back
@back="handleSubmitNo"
submitBTNText="同意" submitBTNText="同意"
> >
</ProcessFooter> </ProcessFooter>
@@ -44,6 +44,34 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.number1"
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"
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"
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"
clearable
></el-input>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
@@ -136,7 +164,7 @@
<el-input v-model="roleForm.deptUserId" style="display: none;"/> <el-input v-model="roleForm.deptUserId" style="display: none;"/>
<el-input <el-input
v-model="roleForm.deptUserIdName" v-model="roleForm.deptUserIdName"
placeholder="选择标准法规部部长·" placeholder="选择标准法规部部长"
@click.native="choiceZRR('deptUserId', '选择标准法规部部长', roleForm.deptUserId)" @click.native="choiceZRR('deptUserId', '选择标准法规部部长', roleForm.deptUserId)"
/> />
</div> </div>
@@ -232,6 +260,59 @@
</div> </div>
</div> </div>
</el-drawer> </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
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>
</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>
<el-drawer <el-drawer
:title="drawerTitle" :title="drawerTitle"
:visible.sync="modalshowflag" :visible.sync="modalshowflag"
@@ -297,6 +378,9 @@
name: "bzjdStep1", name: "bzjdStep1",
data() { data() {
return { return {
listModel2: false,
standInfoList2: [],
sarType: '',
loading: false, loading: false,
standId: '', standId: '',
commentText: '', commentText: '',
@@ -311,6 +395,9 @@
number: '', number: '',
name: '', name: '',
id: '', id: '',
number1: '',
name1: '',
id1: ''
}, },
formRules: { formRules: {
number: [ number: [
@@ -325,13 +412,21 @@
numOrName: '', numOrName: '',
page: 1, page: 1,
pageSize: this.$store.getters.userInfo.configContent, pageSize: this.$store.getters.userInfo.configContent,
result: '1' result: '1',
},
standCommonlySearch2: {
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
result: '1',
sarType: 'INLAND'
}, },
spinShow: false, spinShow: false,
standInfoList: [], standInfoList: [],
tableHeight: null, tableHeight: null,
total: 0, total: 0,
total2: 0,
selectedList: [], selectedList: [],
selectedList2: [],
data: [], data: [],
roleForm: { roleForm: {
applyUserIdName: this.$store.getters.userInfo.userName, applyUserIdName: this.$store.getters.userInfo.userName,
@@ -370,14 +465,6 @@
ProcessFooter, ProcessFooter,
ProcessTitle ProcessTitle
}, },
mounted () {
this.getTree()
this.sarStandCompareHis()
this.tableHeight = $('.content').height() - 44
window.onresize = () => {
this.tableHeight = $('.content').height() - 44
}
},
methods: { methods: {
addZqyjList() { addZqyjList() {
this.title = '标准拆分数据库' this.title = '标准拆分数据库'
@@ -412,6 +499,16 @@
}, e => { }, e => {
}) })
}, },
sarStandCompareHis2 () {
var form = this.standCommonlySearch2
this.$http.get('lawss/sarFileSplitInfo/getSarFileSplitInfoEOPage', form, {
_this: this
}, res => {
this.standInfoList2 = res.data.list
this.total2 = res.data.total
}, e => {
})
},
pageChange (page) { pageChange (page) {
this.standCommonlySearch.page = page this.standCommonlySearch.page = page
this.sarStandCompareHis() this.sarStandCompareHis()
@@ -419,9 +516,19 @@
// 分页每页显示数改变后方法 // 分页每页显示数改变后方法
pageSizeChange (pageSize) { pageSizeChange (pageSize) {
this.$store.getters.userInfo.configContent = pageSize this.$store.getters.userInfo.configContent = pageSize
this.standCommonlySearch.size = pageSize this.standCommonlySearch.pageSize = pageSize
this.sarStandCompareHis() 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) { handleSelection(data) {
@@ -430,6 +537,12 @@
this.selectedList.push(data[i].id); 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() { closeDrawer() {
this.listModel = false this.listModel = false
}, },
@@ -452,8 +565,10 @@
this.form.name = bringData[0].standName this.form.name = bringData[0].standName
} }
this.form.id = bringData[0].id this.form.id = bringData[0].id
this.sarType = bringData[0].sarType
this.standId = bringData[0].standId this.standId = bringData[0].standId
this.listModel = false; this.listModel = false;
this.listModel2 = true
this.$http.get('lawss/sarFileSplitItems/getSplitItemsByPage', { this.$http.get('lawss/sarFileSplitItems/getSplitItemsByPage', {
infoId: this.form.id, infoId: this.form.id,
page: 1, page: 1,
@@ -476,6 +591,34 @@
this.$message.warning("请选择一条数据进行带入"); 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.number1 = bringData[0].standNumSplit
this.form.name1 = bringData[0].standNameSplit
} else {
this.form.number1 = bringData[0].showNumber
this.form.name1 = bringData[0].standName
}
this.form.id1 = bringData[0].id
this.listModel2 = false
} else if (this.selectedList2.length > 1) {
this.$message.warning("只能选择一条数据进行带入");
} else {
this.$message.warning("请选择一条数据进行带入");
}
},
/*** **********************************************/ /*** **********************************************/
/** 流程节点负责人的选择 *****************************/ /** 流程节点负责人的选择 *****************************/
choiceZRR (type, title, id) { choiceZRR (type, title, id) {
@@ -526,6 +669,7 @@
}, },
choiceZRRS (row, type, index) { choiceZRRS (row, type, index) {
if (type === 1) { if (type === 1) {
this.nodeList2 = []
this.zrIndex= index this.zrIndex= index
this.zrType = type this.zrType = type
this.nodeList2.push(row) this.nodeList2.push(row)
@@ -594,7 +738,7 @@
if (res.ok) { if (res.ok) {
var json = Object.assign(this.form, this.roleForm) var json = Object.assign(this.form, this.roleForm)
json.commentText = this.commentText json.commentText = this.commentText
json.standInData = this.standId json.standInData = this.sarType
json.itemList = this.itemList json.itemList = this.itemList
this.$http.post('lawss/activiti/completeTask', { this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json), json: JSON.stringify(json),
@@ -620,7 +764,16 @@
} }
}) })
} }
} },
mounted () {
this.getTree()
this.sarStandCompareHis()
this.sarStandCompareHis2()
this.tableHeight = $('.content').height() - 44
window.onresize = () => {
this.tableHeight = $('.content').height() - 44
}
},
} }
</script> </script>
@@ -2,18 +2,17 @@
<div class="bzjdStep2"> <div class="bzjdStep2">
<!-- 标准调研流程--> <!-- 标准调研流程-->
<ProcessHeader toggle> <ProcessHeader toggle>
<template slot="proName">标准征求意见流程</template> <template slot="proName">标准解读流程</template>
<template slot="proNode">对接人选择责任</template> <template slot="proNode">选择执行</template>
</ProcessHeader> </ProcessHeader>
<div class="headerTabs"> <div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div> <div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
</div> </div>
<div class="content" v-show="active === '1'"> <div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;"> <div style="overflow: auto;">
<el-form <el-form
ref="bzzqyjForm" ref="bzzqyjForm"
:model="form" :model="form"
:rules="formRules"
class="label-input-form" class="label-input-form"
label-width="210px" label-width="210px"
> >
@@ -39,19 +38,91 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="执行人" prop="responUserList" class="add-form-item form-item-disabled"> <el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input <el-input
v-model="form.zxUserId" disabled
style="display: none;" v-model="form.number1"
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"
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"
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"
clearable clearable
></el-input> ></el-input>
<el-input v-model="form.zxUserIdName" placeholder="请选择执行人" @click.native="choiceZRR"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
</el-form> </el-form>
</div> </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"
prop="zrUserIdName"
align="center">
</el-table-column>
<el-table-column
label="执行人"
width="170"
align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.zxUserId" style="display: none;"/>
<el-input v-model="scope.row.zxUserIdName" placeholder="请选择执行人" @click.native="choiceZRRS(scope.row.zxUserId, 1, scope.$index)"/>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">数据获取中</loading>
<el-collapse accordion> <el-collapse accordion>
<el-collapse-item title="意见填写"> <el-collapse-item title="意见填写">
<div style="margin: 10px 0;"> <div style="margin: 10px 0;">
@@ -76,28 +147,29 @@
> >
</ProcessFooter> </ProcessFooter>
<el-drawer <el-drawer
title="选择责任人" title="选择责任部门对接人"
:visible.sync="modalshowflag" :visible.sync="modalshowflag2"
:wrapperClosable="false" :wrapperClosable="false"
size="800px"> size="800px">
<el-tree <el-tree
v-if="modalshowflag" v-if="modalshowflag2"
style="height: 100%; overflow: auto;"
node-key="id" node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree" class="filter-tree"
:data="treeData" :data="treeData"
:props="defaultProps" :props="defaultProps"
:default-checked-keys="nodeList" :default-checked-keys="nodeList2"
highlight-current highlight-current
check-strictly check-strictly
@check="drawerCheck2"
default-expand-all default-expand-all
:expand-on-click-node="false" :expand-on-click-node="false"
show-checkbox show-checkbox
ref="tree"> ref="tree2">
</el-tree> </el-tree>
<div id="roleFormButton" class="demo-drawer-footer"> <div id="roleFormButton2" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button> <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="cancleUserInfo">取消</el-button> <el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo2">取消</el-button>
</div> </div>
</el-drawer> </el-drawer>
</div> </div>
@@ -113,18 +185,23 @@
name: "bzjdStep2", name: "bzjdStep2",
data() { data() {
return { return {
commentText: '', sarType: '',
taskIds: this.$route.query.taskIds, zxIndex: '',
pId: this.$route.query.prcId, zxType: '',
roleRow: {}, zxIdList: [],
nodeList: [], modalshowflag2: false,
type: '', treeData: [],
nodeList2: [],
defaultProps: { defaultProps: {
children: 'children', children: 'children',
label: 'name' label: 'name'
}, },
treeData: [], // 人员数据 loading: false,
modalshowflag: false, // drawer开关 commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
type: '',
drawerTitle: '', //drawer标题 drawerTitle: '', //drawer标题
textarea: '', // 意见 textarea: '', // 意见
ListModel: false, // 新增编辑抽屉开关 ListModel: false, // 新增编辑抽屉开关
@@ -132,17 +209,11 @@
isSubmit: false, isSubmit: false,
saveLoading: false, saveLoading: false,
form: { form: {
number: '', // 编号 number: '',
name: '', // 结束日期 name: '',
zxUserId: '',
zxUserIdName: ''
}, },
formRules: { json: {},
zxUserId: [ itemList: []
{ required: true, message: '请选择执行人', trigger: 'change' },
]
},
json: {}
} }
}, },
components: { components: {
@@ -151,10 +222,37 @@
ProcessTitle ProcessTitle
}, },
methods: { methods: {
saveUserInfo () { 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) {
if (type === 1) {
this.nodeList2 = []
this.zxIndex= index
this.zxType = type
this.nodeList2.push(row)
this.modalshowflag2 = true
} else {
// 批量
if (this.zxIdList.length > 0) {
this.zxType = type
this.nodeList2 = []
this.modalshowflag2 = true
} else {
this.$message.warning('请选择要编辑的数据')
}
}
},
saveUserInfo2 () {
var idList = '' var idList = ''
var nameList = '' var nameList = ''
this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes()).forEach( item => { this.$refs.tree2.getCheckedNodes().concat(this.$refs.tree2.getHalfCheckedNodes()).forEach( item => {
if (nameList.length > 0) { if (nameList.length > 0) {
nameList += ',' nameList += ','
idList += ',' idList += ','
@@ -162,19 +260,23 @@
idList += item.id idList += item.id
nameList += item.name nameList += item.name
}) })
this.form.zxUserId = idList if (this.zxType == 1) {
this.form.zxUserIdName = nameList this.itemList[this.zxIndex].zxUserId = idList
this.modalshowflag = false this.itemList[this.zxIndex].zxUserIdName = nameList
}, } else {
cancleUserInfo () { this.itemList.forEach( item => {
this.modalshowflag = false this.zxIdList.forEach( items => {
}, if (item.id === items) {
choiceZRR () { item.zxUserId = idList
this.nodeList = [] item.zxUserIdName = nameList
if (this.form.zxUserId.length > 0) { }
this.nodeList = this.form.zxUserId.split(',') })
})
} }
this.modalshowflag = true this.modalshowflag2 = false
},
cancleUserInfo2 () {
this.modalshowflag2 = false
}, },
getTree () { getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> { this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
@@ -188,17 +290,18 @@
handleSubmit() { handleSubmit() {
this.$refs['bzzqyjForm'].validate((valid) => { this.$refs['bzzqyjForm'].validate((valid) => {
if (valid) { if (valid) {
let b = 0
for (let a = 0; a < this.itemList.length; a++) {
if (!this.itemList[a].zxUserId) {
b++
}
}
if (b > 0) {
this.$message.warning('请选择执行人')
}
var json = this.json var json = this.json
json.itemList = this.itemList
json.commentText = this.commentText json.commentText = this.commentText
var arr = this.form.zxUserId.split(',')
var newArr = []
arr.forEach(item => {
var json1 = {}
json1.id = item
newArr.push(json1)
})
json.zxUserId = newArr
json.zxUserIdName = this.form.zxUserIdName
this.$http.post('lawss/activiti/completeTask', { this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json), json: JSON.stringify(json),
taskId: this.taskIds, taskId: this.taskIds,
@@ -214,6 +317,12 @@
} }
}) })
}, },
handleSelectionChange (val){
this.zxIdList = []
val.forEach( item => {
this.zxIdList.push(item.id)
})
},
getData() { getData() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
inboundLiaisonDetail({ inboundLiaisonDetail({
@@ -223,7 +332,17 @@
let data = JSON.parse(res.mesg) let data = JSON.parse(res.mesg)
this.form.number = data.number this.form.number = data.number
this.form.name = data.name this.form.name = data.name
this.form.number1 = data.number1
this.form.name1 = data.name1
this.sarType = data.standInData
this.json = data this.json = data
var arr = []
arr = JSON.parse(data.itemList)
arr.forEach(item => {
item.zxUserId = ''
item.zxUserIdName = ''
})
this.itemList = arr
}).catch(e => { }).catch(e => {
}) })
}) })
@@ -2,18 +2,17 @@
<div class="bzjdStep3"> <div class="bzjdStep3">
<!-- 标准调研流程--> <!-- 标准调研流程-->
<ProcessHeader toggle> <ProcessHeader toggle>
<template slot="proName">标准征求意见流程</template> <template slot="proName">标准解读流程</template>
<template slot="proNode">对接人选择责任人</template> <template slot="proNode">填写解读分析</template>
</ProcessHeader> </ProcessHeader>
<div class="headerTabs"> <div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div> <div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
</div> </div>
<div class="content" v-show="active === '1'"> <div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;"> <div style="overflow: auto;">
<el-form <el-form
ref="bzzqyjForm" ref="bzzqyjForm"
:model="form" :model="form"
:rules="formRules"
class="label-input-form" class="label-input-form"
label-width="210px" label-width="210px"
> >
@@ -39,19 +38,171 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="执行人" prop="responUserList" class="add-form-item form-item-disabled"> <el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input <el-input
v-model="form.zxUserId" disabled
style="display: none;" v-model="form.number1"
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"
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"
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"
clearable clearable
></el-input> ></el-input>
<el-input v-model="form.zxUserIdName" placeholder="请选择执行人" @click.native="choiceZRR"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
</el-form> </el-form>
</div> </div>
<ProcessTitle>
<template slot="title">拆分信息</template>
</ProcessTitle>
<div class="action-bar">
<el-button type="primary" class="common-button-primary add-button" size="mini" @click="choiceZRR">批量编辑</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="70"
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
label="条款名称"
width="100"
align="center">
</el-table-column>
<el-table-column
prop="itemsTitle"
label="条款内容"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="technicalRequir"
width="150"
label="核心技术要求"
align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.technicalRequir" placeholder="请输入核心技术要求" />
</template>
</el-table-column>
<el-table-column
v-if="sarType === 'INLAND'"
prop="changePoint"
width="150"
label="基于上一版本差异"
align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.changePoint" placeholder="请输入基于上一版本差异" />
</template>
</el-table-column>
<el-table-column
v-if="sarType === 'FOREIGN'"
prop="changePoint"
width="150"
label="相对于国行标差异点"
align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.changePoint" placeholder="请输入相对于国行标差异点" />
</template>
</el-table-column>
<el-table-column
prop="complianceRequir"
width="150"
label="符合项状态"
align="center">
<template slot-scope="scope">
<el-select v-model="scope.row.complianceRequir">
<el-option value="1" label="符合" key="1"></el-option>
<el-option value="2" label="不符合" key="2"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="complianceState"
width="150"
label="合规性分析"
align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.complianceState" placeholder="请输入合规性分析" />
</template>
</el-table-column>
<el-table-column
prop="newData"
width="250"
label="新车型实施日期"
align="center">
<template slot-scope="scope">
<el-date-picker
v-model="scope.row.newData"
type="date"
placeholder="选择新车型实施日期">
</el-date-picker>
</template>
</el-table-column>
<el-table-column
prop="onlineData"
width="250"
label="在产车型实施日期"
align="center">
<template slot-scope="scope">
<el-date-picker
v-model="scope.row.onlineData"
type="date"
placeholder="选择新车型实施日期">
</el-date-picker>
</template>
</el-table-column>
<el-table-column
prop="applyArctic"
width="150"
label="适用车型"
align="center">
</el-table-column>
<el-table-column
prop="unitDeptName"
label="责任部门"
width="170"
align="center">
</el-table-column>
<el-table-column
label="责任人"
width="170"
prop="zrUserIdName"
align="center">
</el-table-column>
</el-table>
<loading :loading="loading">数据获取中</loading>
<el-collapse accordion> <el-collapse accordion>
<el-collapse-item title="意见填写"> <el-collapse-item title="意见填写">
<div style="margin: 10px 0;"> <div style="margin: 10px 0;">
@@ -76,26 +227,61 @@
> >
</ProcessFooter> </ProcessFooter>
<el-drawer <el-drawer
title="选择责任人" title="批量填写"
:visible.sync="modalshowflag" :visible.sync="modalshowflag"
:wrapperClosable="false" :wrapperClosable="false"
size="800px"> size="800px">
<el-tree <div class="demo-drawer-content">
v-if="modalshowflag" <el-form :model="plForm" class="label-input-form" ref="plForm" label-width="150">
style="height: 100%; overflow: auto;" <el-formItem label="核心技术要求" prop="technicalRequir" class="add-form-item" >
node-key="id" <el-input
class="filter-tree" v-model="plForm.technicalRequir"
:data="treeData" placeholder="请输入核心技术要求"
:props="defaultProps" ></el-input>
:default-checked-keys="nodeList" </el-formItem>
highlight-current <el-form-item label="国内标准的差异点" prop="changePoint" class="add-form-item" v-if="sarType !== 'INLAND'">
check-strictly <el-input
default-expand-all v-model="plForm.changePoint"
:expand-on-click-node="false" placeholder="请输入国内标准的差异点"
show-checkbox ></el-input>
ref="tree"> </el-form-item>
</el-tree> <el-form-item label="上一版本差异点" prop="changePoint" class="add-form-item" v-if="sarType === 'INLAND'">
<div id="roleFormButton" class="demo-drawer-footer"> <el-input
v-model="plForm.changePoint"
placeholder="请输入上一版本差异点"
></el-input>
</el-form-item>
<el-form-item label="符合性要求" prop="complianceRequir" class="add-form-item" >
<el-select
v-model="plForm.complianceRequir"
placeholder="请选择符合性要求">
<el-option value="1" label="符合"></el-option>
<el-option value="2" label="不符合"></el-option>
</el-select>
</el-form-item>
<el-form-item label="合规性分析" prop="complianceState" class="add-form-item" >
<el-input
v-model="plForm.complianceState"
placeholder="请输入合规性分析"
></el-input>
</el-form-item>
<el-form-item label="新车型实施日期" prop="newData" class="add-form-item" >
<el-date-picker
v-model="plForm.newData"
type="date"
placeholder="选择新车型实施日期">
</el-date-picker>
</el-form-item>
<el-form-item label="在产车实施日期" prop="onlineData" class="add-form-item" >
<el-date-picker
v-model="plForm.onlineData"
type="date"
placeholder="选择在产车实施日期">
</el-date-picker>
</el-form-item>
</el-form>
</div>
<div id="roleFormButton2" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button> <el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button> <el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
</div> </div>
@@ -113,36 +299,33 @@
name: "bzjdStep3", name: "bzjdStep3",
data() { data() {
return { return {
plForm: {
technicalRequir: '', // 核心技术要求
changePoint: '', // 国内标准的差异点
complianceRequir: '1', // 符合性要求
complianceState: '', // 合规性分析
newData: '', // 新车型实施日期
onlineData: '', // 在产车实施日期
},
modalshowflag: false,
sarType: '',
itemList: [],
loading: false,
commentText: '', commentText: '',
taskIds: this.$route.query.taskIds, taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId, pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题
textarea: '', // 意见 textarea: '', // 意见
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示 active: '1', // 默认显示
isSubmit: false, isSubmit: false,
saveLoading: false, saveLoading: false,
form: { form: {
number: '', // 编号 number: '',
name: '', // 结束日期 name: '',
zxUserId: '', number1: '',
zxUserIdName: '' name1: ''
}, },
formRules: { json: {},
zxUserId: [ idList: []
{ required: true, message: '请选择执行人', trigger: 'change' },
]
},
json: {}
} }
}, },
components: { components: {
@@ -152,33 +335,40 @@
}, },
methods: { methods: {
saveUserInfo () { saveUserInfo () {
var idList = '' for( let a = 0; a < this.itemList.length; a++) {
var nameList = '' for ( let b = 0; b < this.idList.length; b++) {
this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes()).forEach( item => { if (this.itemList[a].id === this.idList[b]) {
if (nameList.length > 0) { this.itemList[a].technicalRequir = this.plForm.technicalRequir
nameList += ',' this.itemList[a].changePoint = this.plForm.changePoint
idList += ',' this.itemList[a].complianceRequir = this.plForm.complianceRequir
this.itemList[a].complianceState = this.plForm.complianceState
this.itemList[a].newData = this.plForm.newData
this.itemList[a].onlineData = this.plForm.onlineData
}
} }
idList += item.id }
nameList += item.name
})
this.form.zxUserId = idList
this.form.zxUserIdName = nameList
this.modalshowflag = false this.modalshowflag = false
}, },
cancleUserInfo () { cancleUserInfo () {
this.modalshowflag = false this.modalshowflag = false
}, },
choiceZRR () { choiceZRR () {
this.nodeList = [] if (this.idList.length > 0) {
if (this.form.zxUserId.length > 0) { this.plForm.technicalRequir = ''
this.nodeList = this.form.zxUserId.split(',') this.plForm.changePoint = ''
this.plForm.complianceRequir = '1'
this.plForm.complianceState = ''
this.plForm.newData = ''
this.plForm.onlineData = ''
this.modalshowflag = true
} else {
this.$message.warning('请选择要编辑的数据')
} }
this.modalshowflag = true
}, },
getTree () { handleSelectionChange (val) {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> { this.idList = []
this.treeData = res.data val.forEach( item => {
this.idList.push(item.id)
}) })
}, },
handleTabs(name) { handleTabs(name) {
@@ -188,27 +378,53 @@
handleSubmit() { handleSubmit() {
this.$refs['bzzqyjForm'].validate((valid) => { this.$refs['bzzqyjForm'].validate((valid) => {
if (valid) { if (valid) {
var json = this.json let num1 = 0, num2 = 0, num3 = 0, num4 = 0, num5 = 0
json.commentText = this.commentText for (let a = 0; a < this.itemList.length; a++) {
var arr = this.form.zxUserId.split(',') if (!this.itemList[a].technicalRequir) {
var newArr = [] num1++
arr.forEach(item => {
var json1 = {}
json1.id = item
newArr.push(json1)
})
json.zxUserId = newArr
json.zxUserIdName = this.form.zxUserIdName
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')
} }
}) if (!this.itemList[a].changePoint) {
num2++
}
if (!this.itemList[a].complianceRequir) {
num3++
}
if (!this.itemList[a].newData) {
num4++
}
if (!this.itemList[a].onlineData) {
num5++
}
}
if (num1 > 0) {
this.$message.warning('请输入核心技术要求')
} else if (num2 > 0) {
if (this.sarType === 'INLAND') {
this.$message.warning('请输入国内标准的差异点')
} else {
this.$message.warning('请输入基于上一版本差异')
}
} else if (num3 > 0) {
this.$message.warning('请输入符合性要求')
} else if (num4 > 0) {
this.$message.warning('请输入新车型实施日期')
} else if (num5 > 0) {
this.$message.warning('请输入在产车实施日期')
} else {
var json = this.json
json.commentText = this.commentText
json.itemList = this.itemList
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 { } else {
return this.$message.warning('请完善基础信息') return this.$message.warning('请完善基础信息')
} }
@@ -223,14 +439,29 @@
let data = JSON.parse(res.mesg) let data = JSON.parse(res.mesg)
this.form.number = data.number this.form.number = data.number
this.form.name = data.name this.form.name = data.name
this.form.number1 = data.number1
this.form.name1 = data.name1
this.sarType = data.standInData
this.json = data this.json = data
const itemList = JSON.parse(data.itemList)
itemList.forEach(item => {
item.unitDeptName = this.$store.getters.userInfo.orgName
item.onlineData = ''
item.newData = ''
item.complianceState = ''
item.oldNumber = ''
item.complianceRequir = '1'
item.changePoint = ''
item.technicalRequir = ''
item.itemsTitle = item.itermsConditions
})
this.itemList = itemList
}).catch(e => { }).catch(e => {
}) })
}) })
}, },
}, },
mounted () { mounted () {
this.getTree()
this.getData() this.getData()
} }
} }
@@ -1,13 +1,364 @@
<template> <template>
<div class="bzjdStep4">
<!-- 标准调研流程-->
<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>
<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="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.number"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.name"
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.number1"
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"
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"
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"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<ProcessTitle>
<template slot="title">拆分信息</template>
</ProcessTitle>
<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'}"
row-key="id"
>
<el-table-column
prop="itemsNum"
label="条款号"
width="70"
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
label="条款名称"
width="100"
align="center">
</el-table-column>
<el-table-column
prop="itemsTitle"
label="条款内容"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="technicalRequir"
width="150"
label="核心技术要求"
align="center">
</el-table-column>
<el-table-column
v-if="sarType === 'INLAND'"
prop="changePoint"
width="150"
label="基于上一版本差异"
align="center">
</el-table-column>
<el-table-column
v-if="sarType === 'FOREIGN'"
prop="changePoint"
width="150"
label="相对于国行标差异点"
align="center">
</el-table-column>
<el-table-column
prop="complianceRequir"
width="150"
label="符合项状态"
align="center">
<template slot-scope="scope">
<div v-if="scope.row.complianceRequir === '1'">符合</div>
<div v-else>不符合</div>
</template>
</el-table-column>
<el-table-column
prop="complianceState"
width="150"
label="合规性分析"
align="center">
</el-table-column>
<el-table-column
prop="newData"
width="250"
label="新车型实施日期"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.newData ? $moment(scope.row.newData).format('YYYY-MM-DD') : scope.row.newData }}</div>
</template>
</el-table-column>
<el-table-column
prop="onlineData"
width="250"
label="在产车型实施日期"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.onlineData ? $moment(scope.row.onlineData).format('YYYY-MM-DD') : scope.row.onlineData }}</div>
</template>
</el-table-column>
<el-table-column
prop="applyArctic"
width="150"
label="适用车型"
align="center">
</el-table-column>
<el-table-column
prop="unitDeptName"
label="责任部门"
width="170"
align="center">
</el-table-column>
<el-table-column
label="责任人"
width="170"
prop="zrUserIdName"
align="center">
</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>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
submitBTNText="同意"
>
</ProcessFooter>
</div>
</template> </template>
<script> <script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand} from 'api/process'
export default { export default {
name: "step4" name: "bzjdStep4",
data() {
return {
sarType: '',
itemList: [],
loading: false,
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
textarea: '', // 意见
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
number: '',
name: '',
number1: '',
name1: ''
},
json: {},
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
var json = this.json
json.resolveFlag = 1
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')
}
})
},
handleSubmitNo () {
if (this.commentText) {
var json = this.json
json.resolveFlag = 2
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 {
this.$message.warning('请输入反馈意见')
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
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.sarType = data.standInData
this.json = data
this.itemList = data.itemList
}).catch(e => {
})
})
},
},
mounted () {
this.getData()
}
} }
</script> </script>
<style scoped> <style lang="less" scoped>
@import '~@/assets/styles/style';
.bzjdStep4 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover{
color: #0c91e5;
}
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% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style> </style>
@@ -1,13 +1,364 @@
<template> <template>
<div class="bzjdStep5">
<!-- 标准调研流程-->
<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>
<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="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.number"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.name"
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.number1"
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"
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"
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"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<ProcessTitle>
<template slot="title">拆分信息</template>
</ProcessTitle>
<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'}"
row-key="id"
>
<el-table-column
prop="itemsNum"
label="条款号"
width="70"
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
label="条款名称"
width="100"
align="center">
</el-table-column>
<el-table-column
prop="itemsTitle"
label="条款内容"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="technicalRequir"
width="150"
label="核心技术要求"
align="center">
</el-table-column>
<el-table-column
v-if="sarType === 'INLAND'"
prop="changePoint"
width="150"
label="基于上一版本差异"
align="center">
</el-table-column>
<el-table-column
v-if="sarType === 'FOREIGN'"
prop="changePoint"
width="150"
label="相对于国行标差异点"
align="center">
</el-table-column>
<el-table-column
prop="complianceRequir"
width="150"
label="符合项状态"
align="center">
<template slot-scope="scope">
<div v-if="scope.row.complianceRequir === '1'">符合</div>
<div v-else>不符合</div>
</template>
</el-table-column>
<el-table-column
prop="complianceState"
width="150"
label="合规性分析"
align="center">
</el-table-column>
<el-table-column
prop="newData"
width="250"
label="新车型实施日期"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.newData ? $moment(scope.row.newData).format('YYYY-MM-DD') : scope.row.newData }}</div>
</template>
</el-table-column>
<el-table-column
prop="onlineData"
width="250"
label="在产车型实施日期"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.onlineData ? $moment(scope.row.onlineData).format('YYYY-MM-DD') : scope.row.onlineData }}</div>
</template>
</el-table-column>
<el-table-column
prop="applyArctic"
width="150"
label="适用车型"
align="center">
</el-table-column>
<el-table-column
prop="unitDeptName"
label="责任部门"
width="170"
align="center">
</el-table-column>
<el-table-column
label="责任人"
width="170"
prop="zrUserIdName"
align="center">
</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>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
submitBTNText="同意"
>
</ProcessFooter>
</div>
</template> </template>
<script> <script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand} from 'api/process'
export default { export default {
name: "step5" name: "bzjdStep5",
data() {
return {
sarType: '',
itemList: [],
loading: false,
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
textarea: '', // 意见
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
number: '',
name: '',
number1: '',
name1: ''
},
json: {},
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
var json = this.json
json.zrApplyFlag = 1
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')
}
})
},
handleSubmitNo () {
if (this.commentText) {
var json = this.json
json.zrApplyFlag = 2
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 {
this.$message.warning('请输入反馈意见')
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
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.sarType = data.standInData
this.json = data
this.itemList = data.itemList
}).catch(e => {
})
})
},
},
mounted () {
this.getData()
}
} }
</script> </script>
<style scoped> <style lang="less" scoped>
@import '~@/assets/styles/style';
.bzjdStep5 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover{
color: #0c91e5;
}
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% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style> </style>
@@ -1,13 +1,365 @@
<template> <template>
<div class="bzjdStep6">
<!-- 标准调研流程-->
<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>
<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="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.number"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.name"
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.number1"
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"
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"
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"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<ProcessTitle>
<template slot="title">拆分信息</template>
</ProcessTitle>
<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'}"
row-key="id"
>
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="itemsNum"
label="条款号"
width="70"
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
label="条款名称"
width="100"
align="center">
</el-table-column>
<el-table-column
prop="itemsTitle"
label="条款内容"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="technicalRequir"
width="150"
label="核心技术要求"
align="center">
</el-table-column>
<el-table-column
v-if="sarType === 'INLAND'"
prop="changePoint"
width="150"
label="基于上一版本差异"
align="center">
</el-table-column>
<el-table-column
v-if="sarType === 'FOREIGN'"
prop="changePoint"
width="150"
label="相对于国行标差异点"
align="center">
</el-table-column>
<el-table-column
prop="complianceRequir"
width="150"
label="符合项状态"
align="center">
<template slot-scope="scope">
<div v-if="scope.row.complianceRequir === '1'">符合</div>
<div v-else>不符合</div>
</template>
</el-table-column>
<el-table-column
prop="complianceState"
width="150"
label="合规性分析"
align="center">
</el-table-column>
<el-table-column
prop="newData"
width="250"
label="新车型实施日期"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.newData ? $moment(scope.row.newData).format('YYYY-MM-DD') : scope.row.newData }}</div>
</template>
</el-table-column>
<el-table-column
prop="onlineData"
width="250"
label="在产车型实施日期"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.onlineData ? $moment(scope.row.onlineData).format('YYYY-MM-DD') : scope.row.onlineData }}</div>
</template>
</el-table-column>
<el-table-column
prop="applyArctic"
width="150"
label="适用车型"
align="center">
</el-table-column>
<el-table-column
prop="unitDeptName"
label="责任部门"
width="170"
align="center">
</el-table-column>
<el-table-column
label="责任人"
width="170"
prop="zrUserIdName"
align="center">
</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>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
submitBTNText="同意"
>
</ProcessFooter>
</div>
</template> </template>
<script> <script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand} from 'api/process'
export default { export default {
name: "step6" name: "bzjdStep6",
data() {
return {
sarType: '',
itemList: [],
loading: false,
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
textarea: '', // 意见
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
number: '',
name: '',
number1: '',
name1: ''
},
json: {},
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
var json = this.json
json.gcApplyFlag = 1
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')
}
})
},
handleSubmitNo () {
if (this.commentText) {
var json = this.json
json.gcApplyFlag = 2
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 {
this.$message.warning('请输入反馈意见')
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
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.sarType = data.standInData
this.json = data
this.itemList = data.itemList
}).catch(e => {
})
})
},
},
mounted () {
this.getData()
}
} }
</script> </script>
<style scoped> <style lang="less" scoped>
@import '~@/assets/styles/style';
.bzjdStep6 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover{
color: #0c91e5;
}
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% - 103px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style> </style>
@@ -39,7 +39,7 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="适用区域" prop="applyRegion" class="add-form-item form-item-disabled"> <el-form-item label="适用区域" prop="applyRegion" class="add-form-item form-item-disabled add-form-el-select">
<!-- <el-input--> <!-- <el-input-->
<!-- v-model="listForm.applyRegion"--> <!-- v-model="listForm.applyRegion"-->
<!-- placeholder="请输入适用区域"--> <!-- placeholder="请输入适用区域"-->
@@ -48,7 +48,7 @@
<el-select <el-select
width="120" width="120"
v-model="listForm.applyRegion" v-model="listForm.applyRegion"
placeholder="请选择" placeholder="请选择适用区域"
filterable filterable
> >
<el-option <el-option
@@ -67,28 +67,48 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="附件" prop="fileId" class="add-form-item form-item-disabled"> <el-form-item label="附件" prop="modelName" class="add-form-item form-item-disabled">
<el-upload <el-input
v-if="listForm.fileId == null || this.listForm.fileId== 'undefined' || this.listForm.fileId == '' " disabled
:action="uploadFileListPath" style="display: none;"
show-file-list v-model="listForm.modelName"
:file-list="fileInfoList" clearable
name="file" ></el-input>
accept=".PDF, .pdf, .doc, .DOC, .docx, .DOCX, .xls, .xlsx, .ppt, .pptx, .PPT, .PPTX, .JPG, .JPEG, .PNG, .jpg, .jpeg, .png" <div v-if="listForm.modelName" @click="fileUpload" class="fileClass">
:on-remove="delFileInfo" {{ listForm.modelName }}
:on-success="uploadBackSuccess" </div>
:before-upload="beforeUpload" <div v-else>
> <el-button
<el-button class="common-button-default" size="mini"> type="primary"
class="common-button-primary"
@click="fileUpload"
size="mini">
点击上传 点击上传
</el-button> </el-button>
</el-upload> </div>
<el-input
v-else
v-model="listForm.fileId"
placeholder=""
></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item label="附件" prop="fileId" class="add-form-item form-item-disabled">-->
<!-- <el-upload-->
<!-- v-if="listForm.fileId == null || this.listForm.fileId== 'undefined' || this.listForm.fileId == '' "-->
<!-- :action="uploadFileListPath"-->
<!-- show-file-list-->
<!-- :file-list="fileInfoList"-->
<!-- name="file"-->
<!-- accept=".PDF, .pdf, .doc, .DOC, .docx, .DOCX, .xls, .xlsx, .ppt, .pptx, .PPT, .PPTX, .JPG, .JPEG, .PNG, .jpg, .jpeg, .png"-->
<!-- :on-remove="delFileInfo"-->
<!-- :on-success="uploadBackSuccess"-->
<!-- :before-upload="beforeUpload"-->
<!-- >-->
<!-- <el-button class="common-button-default" size="mini">-->
<!-- 点击上传-->
<!-- </el-button>-->
<!-- </el-upload>-->
<!-- <el-input-->
<!-- v-else-->
<!-- v-model="listForm.fileId"-->
<!-- placeholder=""-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<el-form-item label="会签" prop="sign" class="add-form-item form-item-disabled"> <el-form-item label="会签" prop="sign" class="add-form-item form-item-disabled">
<el-radio-group v-model="signFlag" @change="selectSign"> <el-radio-group v-model="signFlag" @change="selectSign">
<el-radio label="1"></el-radio> <el-radio label="1"></el-radio>
@@ -125,6 +145,7 @@
prop="code" prop="code"
fixed="left" fixed="left"
width="180px" width="180px"
align="center"
label="标准号"> label="标准号">
<template slot-scope="scope"> <template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump" <a v-if="scope.row.standYear" class="table-jump"
@@ -137,26 +158,30 @@
<el-table-column <el-table-column
prop="standName" prop="standName"
label="标准名称" label="标准名称"
align="center"
width="260px" width="260px"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="issueTime" prop="issueTime"
sortable align="center"
label="发布日期"> label="发布日期">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="xcxssrq" prop="xcxssrq"
align="center"
label="新车型实施日期"> label="新车型实施日期">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="zccssrq" prop="zccssrq"
align="center"
label="在产车实施日期"> label="在产车实施日期">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="textStatus" prop="textStatus"
align="center"
width="120px" width="120px"
label="文本状态"> label="文本状态">
</el-table-column> </el-table-column>
@@ -182,7 +207,7 @@
</el-form-item> </el-form-item>
</el-card> </el-card>
</el-timeline-item> </el-timeline-item>
<el-timeline-item timestamp="选择会签责任人,填写意见" placement="top" :color="roleForm.dockUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="选择会签责任人,填写意见" placement="top" :color="roleForm.dockUser ? '#66b1ff' : ''" v-if="signFlag === '1'">
<el-card> <el-card>
<el-form-item prop="dockUserName" style="margin-bottom: 0"> <el-form-item prop="dockUserName" style="margin-bottom: 0">
<h4>会签人</h4> <h4>会签人</h4>
@@ -195,6 +220,19 @@
</el-form-item> </el-form-item>
</el-card> </el-card>
</el-timeline-item> </el-timeline-item>
<el-timeline-item timestamp="选择会签责任人,填写意见" placement="top" :color="roleForm.dockUser ? '#66b1ff' : ''" v-if="signFlag === '2'">
<el-card>
<el-form-item prop="dockUserName2" style="margin-bottom: 0">
<h4>会签人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.dockUser" style="display: none;"></el-input>
<el-input v-model="roleForm.dockUserName" 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.ministerUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="根据会签意见修订" placement="top" :color="roleForm.ministerUser ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="ministerUserName" style="margin-bottom: 0"> <el-form-item prop="ministerUserName" style="margin-bottom: 0">
@@ -233,6 +271,50 @@
<div class="demo-drawer-content"> <div class="demo-drawer-content">
<div style="position: absolute;bottom: 48px;top:60px;left: 0;right: 0"> <div style="position: absolute;bottom: 48px;top:60px;left: 0;right: 0">
<div style="position: absolute;bottom: 55px;top: 0;right: 0;left: 0"> <div style="position: absolute;bottom: 55px;top: 0;right: 0;left: 0">
<div class="left">
<el-form :modal="sarSarAccessEOSearch" :inline="true" class="label-input-form" style="margin-left:10px">
<!-- <el-form-item label="国家/地区" class="search-item search-item-last">-->
<!-- <el-select-->
<!-- v-model="sarSarAccessEOSearch.countryArea"-->
<!-- placeholder="请选择"-->
<!-- filterable-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in countryOptions"-->
<!-- :value="item.value"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- >-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="清单名称" class="search-item search-item-last">
<el-input
v-model="sarSarAccessEOSearch.detailedListName"
placeholder="请输入清单名称"
></el-input>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
:loading="searching"
type="primary"
class="common-button-primary"
size="small"
v-btn-permission="'072efe80c5459dd47fedd2d14f59ff7f'"
@click="selectionList">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="small"
v-btn-permission="'3480a13964a18e000196e4d5bc6ef117'"
@click="clearSearch">清空
</el-button>
</el-form-item>
</el-form>
</div>
<el-table <el-table
v-if="listType === 'country'" v-if="listType === 'country'"
:data="sarAccessListDatas" :data="sarAccessListDatas"
@@ -269,8 +351,9 @@
label="清单状态" label="清单状态"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.detailedListState === '1'">未发布</span> <span v-if="scope.row.detailedListState === '0'">未发布</span>
<span v-if="scope.row.detailedListState === '2'">已发布</span> <span v-if="scope.row.detailedListState === '1'">已发布</span>
<span v-if="scope.row.detailedListState === '3'">审核中</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -347,8 +430,9 @@
label="清单状态" label="清单状态"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.detailedListState === '1'">未发布</span> <span v-if="scope.row.detailedListState === '0'">未发布</span>
<span v-if="scope.row.detailedListState === '2'">已发布</span> <span v-if="scope.row.detailedListState === '1'">已发布</span>
<span v-if="scope.row.detailedListState === '3'">审核中</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -425,8 +509,9 @@
label="清单状态" label="清单状态"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.detailedListState === '1'">未发布</span> <span v-if="scope.row.detailedListState === '0'">未发布</span>
<span v-if="scope.row.detailedListState === '2'">已发布</span> <span v-if="scope.row.detailedListState === '1'">已发布</span>
<span v-if="scope.row.detailedListState === '3'">审核中</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@@ -511,6 +596,7 @@
<el-table-column <el-table-column
prop="code" prop="code"
fixed="left" fixed="left"
align="center"
label="标准号"> label="标准号">
<template slot-scope="scope"> <template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump" <a v-if="scope.row.standYear" class="table-jump"
@@ -522,25 +608,30 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="standName" prop="standName"
align="center"
label="标准名称" label="标准名称"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="issueTime" prop="issueTime"
align="center"
label="发布日期"> label="发布日期">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="xcxssrq" prop="xcxssrq"
align="center"
label="新车型实施日期"> label="新车型实施日期">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="zccssrq" prop="zccssrq"
align="center"
label="在产车实施日期"> label="在产车实施日期">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="textStatus" prop="textStatus"
align="center"
label="文本状态"> label="文本状态">
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -598,6 +689,24 @@
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button> <el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
</div> </div>
</el-drawer> </el-drawer>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
<el-upload
multiple
drag
:action="fileUrl"
ref="importfile"
name="file"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
:before-upload="beginImportFile"
:on-success="importFileSuccess"
:show-file-list="false"
>
<div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i>
<p>点击或拖拽上传文件</p>
</div>
</el-upload>
</el-dialog>
</div> </div>
</template> </template>
@@ -617,6 +726,16 @@ export default {
}, },
data() { data() {
return { return {
fileUrl: 'api/att/attFile/upload',
fileMadel: false,
searching: false,
// 查询相关参数
sarSarAccessEOSearch: {
countryArea: "",
detailedListName: "",
page: 1,
pageSize: this.$store.getters.userInfo.configContent
},
standList: [], //新添加的标准 standList: [], //新添加的标准
modalshowflag: false, // drawer开关 modalshowflag: false, // drawer开关
drawerTitle: "", //drawer标题 drawerTitle: "", //drawer标题
@@ -686,7 +805,9 @@ export default {
listName: "", //清单名称 listName: "", //清单名称
applyRegion: "", //适用区域 applyRegion: "", //适用区域
descriptionList: "", //清单说明 descriptionList: "", //清单说明
fileId: "", //附件 fileId:'',
model: '', // 上传模板
modelName: '',
standId: "", //选择的清单的id standId: "", //选择的清单的id
signFlag: "1", //是否会签 1为会签 2为不会签 signFlag: "1", //是否会签 1为会签 2为不会签
inforlist: "", //用来存放标准列表的标准id inforlist: "", //用来存放标准列表的标准id
@@ -756,10 +877,13 @@ export default {
}, },
// //判断当前选中的是哪个清单 // //判断当前选中的是哪个清单
selectionList(type) { selectionList(type) {
type = this.listType
console.log(type);
if (type === "project") { if (type === "project") {
this.$http.get("sarLawsDetailedList/sar-laws-detailed-list/getAllStand", { this.$http.get("sarLawsDetailedList/sar-laws-detailed-list/getAllStand", {
page: this.page, page: this.page,
pageSize: this.pageSize, pageSize: this.pageSize,
...this.sarSarAccessEOSearch,
sortKey: 2 sortKey: 2
}, { }, {
_this: this _this: this
@@ -772,6 +896,7 @@ export default {
this.$http.get("sarLawsDetailedList/sar-laws-detailed-list/getAllStand", { this.$http.get("sarLawsDetailedList/sar-laws-detailed-list/getAllStand", {
page: this.page, page: this.page,
pageSize: this.pageSize, pageSize: this.pageSize,
...this.sarSarAccessEOSearch,
sortKey: 3 sortKey: 3
}, { }, {
_this: this _this: this
@@ -780,10 +905,11 @@ export default {
this.total = res.data.total; this.total = res.data.total;
}, e => { }, e => {
}); });
} else { } else if(type === 'country') {
this.$http.get("sarLawsDetailedList/sar-laws-detailed-list/getAllStand", { this.$http.get("sarLawsDetailedList/sar-laws-detailed-list/getAllStand", {
page: this.page, page: this.page,
pageSize: this.pageSize, pageSize: this.pageSize,
...this.sarSarAccessEOSearch,
sortKey: 1 sortKey: 1
}, { }, {
_this: this _this: this
@@ -794,13 +920,23 @@ export default {
}); });
} }
}, },
clearSearch() {
this.sarSarAccessEOSearch = {
countryArea: "",
detailedListName: ""
};
this.selectionList();
},
//点击添加事件 //点击添加事件
addList() { addList() {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", "", { this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", {
page: this.pageNo,
pageSize: this.pageSizeNo
}, {
_this: this _this: this
}, res => { }, res => {
this.standardData = res.data.list; this.standardData = res.data.list;
this.totalNo = res.data.pageCount this.totalNo = res.data.count
}, e => { }, e => {
}); });
this.standModel = true; this.standModel = true;
@@ -856,12 +992,12 @@ export default {
}, },
//提交事件 //提交事件
handleSubmit() { handleSubmit() {
// let json = this.listForm; let json = this.listForm;
let json = Object.assign(this.listForm, this.roleForm) // let json = Object.assign(this.listForm, this.roleForm)
json.zrUserId = this.$store.getters.userInfo.userId; json.zrUserId = this.roleForm.dockUser; //会签人
json.jlUserId = this.$store.getters.userInfo.userId; json.jlUserId = this.roleForm.directorUser; //业务经理
// (如果是业务经理应该这样写 后续需要更改 例:json.jlUserId = this.roleForm.directorUser;) // (如果是业务经理应该这样写 后续需要更改 例:json.jlUserId = this.roleForm.directorUser;)
json.applyUpdUserId = this.$store.getters.userInfo.userId; json.applyUpdUserId = this.roleForm.ministerUser; // 修订人
json.approvalOpinion = ""; json.approvalOpinion = "";
json.prcCreateUser = this.$store.getters.userInfo.userId; json.prcCreateUser = this.$store.getters.userInfo.userId;
json.prcCreateUserName = this.$store.getters.userInfo.account; json.prcCreateUserName = this.$store.getters.userInfo.account;
@@ -900,23 +1036,92 @@ export default {
}, },
// 删除上传的文件 // 删除上传的文件
delFileInfo(file, fileList) { delFileInfo(file, fileList) {
// this.fileInfoList = fileList this.fileInfoList = fileList
}, },
// 上传文件成功回调 fileUpload () {
uploadBackSuccess(res, file, fileList) { this.fileMadel = true
// if (res.ok) {
// this.fileInfoList = fileList
// this.fileInfoList[this.fileInfoList.length - 1].id = res.data.id
// this.$message.success('上传成功')
// } else {
// this.$message.error(res.message)
// fileList.pop()
// }
}, },
//上传之前的钩子 // 点击查看
beforeUpload() { handlePreview (item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
id: item.id,
pageType: 'INLAND_STAND'
}
})
window.open(routeUrl.href, '_blank')
}, },
// 导入标准数据成功后执行
importFileSuccess (response, file) {
if (response.ok) {
this.fileMadel = false
this.listForm.model = response.data.id
this.listForm.modelName = response.data.name
this.$message({
showClose: true,
message: response.message,
type: 'success'
})
}
},
// 导入按钮 上传之前的钩子
beginImportFile (file) {
var filename = file.name
var index1 = filename.lastIndexOf('.')
var index2 = filename.length
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式
if (fileSuffix === '.PDF' || fileSuffix === '.DOC' || fileSuffix === '.DOCX' || fileSuffix === '.PPT'
|| fileSuffix === '.PPTX'|| fileSuffix === '.XLS'|| fileSuffix === '.XLSX'
|| fileSuffix === '.PNG'|| fileSuffix === '.JPG'|| fileSuffix === '.JPEG' ||
fileSuffix === '.pdf' || fileSuffix === '.doc' || fileSuffix === '.docx' || fileSuffix === '.ppt'
|| fileSuffix === '.pptx'|| fileSuffix === '.xls'|| fileSuffix === '.xlsx'
|| fileSuffix === '.png'|| fileSuffix === '.jpg'|| fileSuffix === '.jpeg') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传pdf、doc、docx、ppt、pptx、xls、xlsx、png、jpg、jpeg等文件')
return false
}
// 判断文件上传大小
// eslint-disable-next-line no-unreachable
if (file.size / 1024 / 1024 <= 200) {
return true
} else {
this.$message.error('文件' + file.name + '大小不超过200M')
return false
}
return true
},
// beginImportFile (file) {
// var filename = file.name
// var index1 = filename.lastIndexOf('.')
// var index2 = filename.length
// var fileSuffix = filename.substring(index1, index2)
// // const fileSuffix = file.name.split('.')[1] // 后缀名
// // 判断上传文件格式
// // 判断上传文件格式
// if (fileSuffix === '.PDF' || fileSuffix === '.DOC' || fileSuffix === '.DOCX' || fileSuffix === '.PPT'
// || fileSuffix === '.PPTX'|| fileSuffix === '.XLS'|| fileSuffix === '.XLSX'
// || fileSuffix === '.PNG'|| fileSuffix === '.JPG'|| fileSuffix === '.JPEG') {
// return true
// } else {
// this.spinShow = false
// this.$message.error('文件' + file.name + '格式不正确,请上传pdf、doc、docx、ppt、pptx、xls、xlsx、png、jpg、jpeg等文件')
// return false
// }
// // 判断文件上传大小
// // eslint-disable-next-line no-unreachable
// if (file.size / 1024 / 1024 <= 200) {
// return true
// } else {
// this.$message.error('文件' + file.name + '大小不超过200M')
// return false
// }
// return true
// },
//选择清单取消事件 //选择清单取消事件
closeDrawer() { closeDrawer() {
this.ListModel = false; this.ListModel = false;
@@ -1026,7 +1231,7 @@ export default {
this.selectionList(); this.selectionList();
}, },
pageChangeNo(page){ pageChangeNo(page){
this.page = page this.pageNo = page
this.addList() this.addList()
}, },
pageSizeChangeNo(pageSize){ pageSizeChangeNo(pageSize){
@@ -1123,7 +1328,11 @@ export default {
} }
} }
} }
.add-form-el-select{
/deep/ .el-select{
width: 210px;
}
}
.demo-drawer-content { .demo-drawer-content {
margin-top: 10px; margin-top: 10px;
} }
@@ -9,7 +9,7 @@
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div> <div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div> <div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div> </div>
<div class="content" v-if="active == '1'"> <div class="content" v-show="active == '1'">
<div style="flex: auto; overflow: auto"> <div style="flex: auto; overflow: auto">
<process-title> <process-title>
<template slot="title">基础信息</template> <template slot="title">基础信息</template>
@@ -53,15 +53,15 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="附件" prop="fileId" class="add-form-item form-item-disabled"> <el-form-item label="附件" prop="modelName" class="add-form-item form-item-disabled">
<el-input <el-input
v-if="listForm.fileId == null || this.listForm.fileId== 'undefined' || this.listForm.fileId == '' " v-if="listForm.modelName == null || this.listForm.modelName== 'undefined' || this.listForm.modelName == '' "
placeholder="暂无数据" placeholder="暂无数据"
> >
</el-input> </el-input>
<el-input <el-input
v-else v-else
v-model="listForm.fileId" v-model="listForm.modelName"
placeholder="" placeholder=""
></el-input> ></el-input>
</el-form-item> </el-form-item>
@@ -135,7 +135,7 @@
</el-collapse> </el-collapse>
</div> </div>
</div> </div>
<div class="content" v-if="active == '2'"> <div class="content" v-show="active == '2'">
<div class="block" style="padding-top: 20px;"> <div class="block" style="padding-top: 20px;">
<el-timeline> <el-timeline>
<el-timeline-item timestamp="发起流程" placement="top" :color="user1 ? '#66b1ff' : ''"> <el-timeline-item timestamp="发起流程" placement="top" :color="user1 ? '#66b1ff' : ''">
@@ -175,7 +175,7 @@
</el-timeline> </el-timeline>
</div> </div>
</div> </div>
<div class="content" v-if="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list">
<el-table <el-table
height="100%" height="100%"
@@ -344,6 +344,7 @@ export default {
taskIds: this.taskIds, taskIds: this.taskIds,
pId: this.pId pId: this.pId
}).then(res => { }).then(res => {
console.log(res.mesg);
if (res) { if (res) {
const processForm = JSON.parse(res.mesg) const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm) this.getFormFieldList(processForm)
@@ -363,6 +364,9 @@ export default {
this.listForm['id'] = item.id this.listForm['id'] = item.id
this.listForm.dataList = item.dataList this.listForm.dataList = item.dataList
this.dataList = item.dataList this.dataList = item.dataList
this.listForm.applyUpdUserId = item.applyUpdUserId
this.listForm.jlUserId = item.jlUserId
this.listForm.zrUserId = item.zrUserId
}) })
}, },
@@ -373,10 +377,11 @@ export default {
}, },
//提交事件 //提交事件
handleSubmit() { handleSubmit() {
this.listForm.applyUpdUserId = this.listForm.applyUpdUserId;
this.listForm.zrUserId = this.listForm.zrUserId;
this.listForm.jlUserId = this.listForm.jlUserId;
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId; this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.applyUpdUserId = this.$store.getters.userInfo.userId;
this.listForm.prcCreateUserName = this.$store.getters.userInfo.account; this.listForm.prcCreateUserName = this.$store.getters.userInfo.account;
this.listForm.zrUserId = this.$store.getters.userInfo.userId ;
this.listForm.commentText = this.commentText; this.listForm.commentText = this.commentText;
this.listForm.approvalOpinion = ""; this.listForm.approvalOpinion = "";
this.listForm.standId = this.listForm.standId; this.listForm.standId = this.listForm.standId;
@@ -9,7 +9,7 @@
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div> <div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div> <div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div> </div>
<div class="content" v-if="active == '1'"> <div class="content" v-show="active == '1'">
<div style="flex: auto; overflow: auto"> <div style="flex: auto; overflow: auto">
<process-title> <process-title>
<template slot="title">基础信息</template> <template slot="title">基础信息</template>
@@ -51,9 +51,9 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="附件" prop="fileId" class="add-form-item form-item-disabled"> <el-form-item label="附件" prop="modelName" class="add-form-item form-item-disabled">
<el-upload <el-upload
v-if="listForm.fileId == null || this.listForm.fileId== 'undefined' || this.listForm.fileId == '' " v-if="listForm.modelName == null || this.listForm.modelName== 'undefined' || this.listForm.modelName == '' "
:action="uploadFileListPath" :action="uploadFileListPath"
show-file-list show-file-list
:file-list="fileInfoList" :file-list="fileInfoList"
@@ -69,7 +69,7 @@
</el-upload> </el-upload>
<el-input <el-input
v-else v-else
v-model="listForm.fileId" v-model="listForm.modelName"
placeholder="" placeholder=""
></el-input> ></el-input>
</el-form-item> </el-form-item>
@@ -139,7 +139,7 @@
</el-table> </el-table>
</div> </div>
</div> </div>
<div class="content" v-if="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list">
<el-table <el-table
height="100%" height="100%"
@@ -499,6 +499,9 @@ export default {
this.listForm['id'] = item.id this.listForm['id'] = item.id
this.listForm.dataList = item.dataList this.listForm.dataList = item.dataList
this.dataList = item.dataList this.dataList = item.dataList
this.listForm.applyUpdUserId = item.applyUpdUserId
this.listForm.jlUserId = item.jlUserId
this.listForm.zrUserId = item.zrUserId
}) })
}, },
//保存事件 //保存事件
@@ -515,11 +518,12 @@ export default {
}, },
//提交事件 //提交事件
handleSubmit() { handleSubmit() {
this.listForm.jlUserId = this.$store.getters.userInfo.userId ; this.listForm.applyUpdUserId = this.listForm.applyUpdUserId;
this.listForm.zrUserId = this.listForm.zrUserId;
this.listForm.jlUserId = this.listForm.jlUserId;
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId; this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.prcCreateUserName = this.$store.getters.userInfo.account; this.listForm.prcCreateUserName = this.$store.getters.userInfo.account;
this.listForm.commentText = this.commentText; this.listForm.commentText = this.commentText;
this.listForm.zrUserId = this.$store.getters.userInfo.userId ;
this.listForm.approvalOpinion = ""; this.listForm.approvalOpinion = "";
this.listForm.standId = this.listForm.standId; this.listForm.standId = this.listForm.standId;
const json = JSON.stringify(this.listForm); const json = JSON.stringify(this.listForm);
@@ -9,7 +9,7 @@
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div> <div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div> <div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div> </div>
<div class="content" v-if="active == '1'"> <div class="content" v-show="active == '1'">
<div style="flex: auto; overflow: auto"> <div style="flex: auto; overflow: auto">
<process-title> <process-title>
<template slot="title">基础信息</template> <template slot="title">基础信息</template>
@@ -53,16 +53,16 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="附件" prop="fileId" class="add-form-item form-item-disabled"> <el-form-item label="附件" prop="modelName" class="add-form-item form-item-disabled">
<el-input <el-input
v-if="listForm.fileId == null || this.listForm.fileId== 'undefined' || this.listForm.fileId == '' " v-if="listForm.modelName == null || this.listForm.modelName== 'undefined' || this.listForm.modelName == '' "
v-model="listForm.fileId" v-model="listForm.modelName"
placeholder="暂无数据" placeholder="暂无数据"
> >
</el-input> </el-input>
<el-input <el-input
v-else v-else
v-model="listForm.fileId" v-model="listForm.modelName"
placeholder="" placeholder=""
></el-input> ></el-input>
</el-form-item> </el-form-item>
@@ -136,7 +136,7 @@
</el-collapse> </el-collapse>
</div> </div>
</div> </div>
<div class="content" v-if="active === '3'"> <div class="content" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list">
<el-table <el-table
height="100%" height="100%"
@@ -335,6 +335,9 @@ export default {
this.listForm['id'] = item.id this.listForm['id'] = item.id
this.listForm.dataList = item.dataList this.listForm.dataList = item.dataList
this.dataList = item.dataList this.dataList = item.dataList
this.listForm.applyUpdUserId = item.applyUpdUserId
this.listForm.jlUserId = item.jlUserId
this.listForm.zrUserId = item.zrUserId
}) })
}, },
//驳回事件 //驳回事件
@@ -344,12 +347,12 @@ export default {
}, },
//提交事件 //提交事件
handleSubmit() { handleSubmit() {
this.listForm.jlUserId = this.$store.getters.userInfo.userId ; this.listForm.applyUpdUserId = this.listForm.applyUpdUserId;
this.listForm.zrUserId = this.listForm.zrUserId;
this.listForm.jlUserId = this.listForm.jlUserId;
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId; this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.applyUpdUserId = this.$store.getters.userInfo.userId;
this.listForm.prcCreateUserName = this.$store.getters.userInfo.account; this.listForm.prcCreateUserName = this.$store.getters.userInfo.account;
this.listForm.commentText = this.commentText; this.listForm.commentText = this.commentText;
this.listForm.zrUserId = this.$store.getters.userInfo.userId ;
this.listForm.signflag = ""; this.listForm.signflag = "";
this.listForm.standId = this.listForm.standId; this.listForm.standId = this.listForm.standId;
const json = JSON.stringify(this.listForm); const json = JSON.stringify(this.listForm);
@@ -633,15 +633,19 @@ export default {
}, },
pageChange(page) { pageChange(page) {
this.page = page; this.page = page;
this.getStandData()
}, },
pageSizeChange(pageSize) { pageSizeChange(pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent; this.pageSize = this.$store.getters.userInfo.configContent;
this.getStandData()
}, },
pageChangeNo(page) { pageChangeNo(page) {
this.pageNO = page; this.pageNO = page;
this.getProductData()
}, },
pageSizeChangeNo(pageSize) { pageSizeChangeNo(pageSize) {
this.pageSizeNo = this.$store.getters.userInfo.configContent; this.pageSizeNo = this.$store.getters.userInfo.configContent;
this.getProductData()
}, },
//获取产品线数据 //获取产品线数据
getProductData() { getProductData() {
@@ -659,11 +663,17 @@ export default {
}, },
//获取标准数据 //获取标准数据
getStandData() { getStandData() {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", "", { console.log(this.page);
console.log(this.pageSize);
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", {
page: this.page,
pageSize: this.pageSize,
}, {
_this: this _this: this
}, res => { }, res => {
console.log(res.data);
this.sarAccessListDatas = res.data.list; this.sarAccessListDatas = res.data.list;
this.total = res.pageCount; this.total = res.data.count;
}, e => { }, e => {
}); });
} }
@@ -613,7 +613,7 @@ export default {
prcType: row.prcType prcType: row.prcType
} }
}) })
} else if (row.taskInfo === '4') { } else if (row.taskInfo === '责任人审核') {
this.$router.push({ this.$router.push({
name: 'bzjdStep4', name: 'bzjdStep4',
query: { query: {
@@ -624,7 +624,7 @@ export default {
prcType: row.prcType prcType: row.prcType
} }
}) })
} else if (row.taskInfo === '5') { } else if (row.taskInfo === '工程师审核') {
this.$router.push({ this.$router.push({
name: 'bzjdStep5', name: 'bzjdStep5',
query: { query: {
@@ -635,7 +635,7 @@ export default {
prcType: row.prcType prcType: row.prcType
} }
}) })
} else if (row.taskInfo === '6') { } else if (row.taskInfo === '部长审批') {
this.$router.push({ this.$router.push({
name: 'bzjdStep6', name: 'bzjdStep6',
query: { query: {
@@ -285,7 +285,6 @@ export default {
detailedListName: "" detailedListName: ""
}; };
this.searchSarAccess(); this.searchSarAccess();
}, },
// 新增相关 // 新增相关
openModal(row, optType) { openModal(row, optType) {
File diff suppressed because it is too large Load Diff
@@ -1777,9 +1777,7 @@ export default {
}) })
}, },
popoverHide (checkedIds, checkedData) { popoverHide (checkedIds, checkedData) {
console.log(checkedData)
this.sarStandardsInfoEO.standSystem = checkedData.id this.sarStandardsInfoEO.standSystem = checkedData.id
console.log(this.sarStandardsInfoEO.standSystem);
}, },
closeModal () { closeModal () {
this.productModal = false this.productModal = false
@@ -0,0 +1,324 @@
<!-- ProcessFooter -->
<template>
<div class="process-footer" v-if="showSave || showSubmit">
<div class="footer-line"></div>
<div class="btn-group-wrap">
<slot></slot>
<el-button
type="warning"
icon="el-icon-edit-outline"
size="small"
class="common-button-warning"
@click="handleOnLineEdit"
v-if="showEdit">在线编辑</el-button>
<!-- <el-button-->
<!-- type="primary"-->
<!-- size="mini"-->
<!-- class="common-button-primary"-->
<!-- @click="handleEntrust"-->
<!-- :loading="isSubmit"-->
<!-- v-if="showEntrust">-->
<!-- <i class="iconfont" style="font-size: 12px;">&#xe615;</i>-->
<!-- 委托</el-button>-->
<el-button
type="primary"
size="small"
class="common-button-primary"
icon="el-icon-message"
@click="handleSendEmail"
:loading="sendEmailLoading"
v-if="showSendEmail"
>发送邮件</el-button>
<el-button
type="danger"
size="small"
class="common-button-danger"
icon="el-icon-close"
@click="handleOver"
:loading="submitLoading"
v-if="showOver"
>撤销申请</el-button>
<el-button
type="primary"
size="mini"
class="common-button-primary"
@click="handleSave"
:loading="saveLoading"
v-if="showSave">
<i class="iconfont">&#xe608;</i>
保存
</el-button>
<el-button
type="danger"
size="small"
class="common-button-danger"
@click="beforeBack"
:loading="isSubmit"
v-if="showBack">
<i class="iconfont" style="font-size: 12px;">&#xe615;</i>
{{ backBTNText }}</el-button>
<el-button
type="primary"
size="small"
class="common-button-primary"
icon="el-icon-check"
@click="handleSubmit"
:loading="submitLoading"
v-if="showSubmit"
>{{ submitBTNTextShow }}</el-button>
</div>
<!-- 组织机构树 -->
<!-- <ProcessChooseTree-->
<!-- :visible.sync="visibleTree"-->
<!-- show-user-->
<!-- :dept-select="false"-->
<!-- @dblClick="handleAssigneeNew"-->
<!-- ></ProcessChooseTree>-->
<!-- 在线编辑 -->
<only-office-edit ref="onlyOffice" :visible.sync="visibleOnlyOffice"></only-office-edit>
<!-- 从全公司选人,2021-03-22(上汽大数据量人员解决方案) -->
<org-table
v-if="showEntrust"
:visible.sync="visibleTree"
:config="{
value: this.orgTableVal,
valueName: this.orgTableName
}"
title="委托"
:exclude-user="userId"
:max-selected="1"
max-selected-tips="当前任务只能委托给一个人"
dialog-model
@confirm="handleAssigneeNew"
></org-table>
</div>
</template>
<script>
import ProcessChooseTree from 'process/components/ProcessChooseTree'
import OnlyOfficeEdit from '@/components/onlyOfficeEdit'
import { changeAssigneeNew } from 'api/process'
import { mapGetters } from 'vuex'
export default {
name: 'ProcessFooter',
mixins: [],
props: {
// 是否显示结束流程按钮
showOver: {
type: Boolean,
default: false
},
// 是否显示保存按钮
showSave: {
type: Boolean,
default: false
},
// 是否显示发送邮件按钮
showSendEmail: {
type: Boolean,
default: false
},
// 发送邮件按钮loading
sendEmailLoading: {
type: Boolean,
default: false
},
// 是否显示提交按钮
showSubmit: {
type: Boolean,
default: false
},
// 是否显示委托按钮
showEntrust: {
type: Boolean,
default: false
},
// 是否显示退回按钮
showBack: {
type: Boolean,
default: false
},
// 提交按钮loading
submitLoading: {
type: Boolean,
default: false
},
// 保存按钮loading
saveLoading: {
type: Boolean,
default: false
},
// 是否默认委托事件
defaultEntrust: {
type: Boolean,
default: false
},
// 是否显示在线编辑按钮
showEdit: {
type: Boolean,
default: false
},
// 标准编号(在线编辑)
standNo: {
type: String
},
// 未选择标准编号/企标编号进行在线编辑的提示
noStandNoTip: {
type: String,
default: '请选择或输入企标编号后进行在线编辑'
},
// 审批节点
approval: {
type: Boolean,
default: false
},
// 带有退回/驳回意见
opinion: {
type: Boolean,
default: false
},
submitBTNText: {
type: String
}
},
components: {
ProcessChooseTree,
OnlyOfficeEdit
},
data () {
return {
isSubmit: false,
visibleTree: false,
visibleOnlyOffice: false,
orgTableVal: '',
orgTableName: ''
}
},
methods: {
handleOver() {
this.$emit('over')
},
handleSave() {
this.$emit('save')
},
handleSubmit() {
this.$emit('submit')
},
handleSendEmail() {
this.$emit('sendEmail')
},
handleEntrust() {
if (this.defaultEntrust) {
this.visibleTree = true
} else {
this.$emit('entrust')
}
},
handleBack() {
if (!this.opinion) {
this.$confirm(`您确定要${this.approval ? '驳回' : '退回'}该任务吗?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
confirmButtonClass: 'common-button-primary',
roundButton: true
}).then(() => {
this.$emit('back')
}).catch(() => {})
} else {
this.$emit('back')
}
},
/**
* @description: 委托
* @date: 2020-12-16 10:11:31
* @auth: chenxiaoxi
*/
handleAssigneeNew(checkedList, checkedIdList) {
if (!checkedList.length) { return false }
const assignee = checkedIdList[0]
const assigneeUserName = checkedList[0].userName
this.$confirm(`您确定要委托 ${assigneeUserName} 完成该任务吗?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
confirmButtonClass: 'common-button-primary',
roundButton: true
}).then(() => {
changeAssigneeNew({
taskId: this.$store.getters.getHandleInfo.taskIds, // 任务id
assignee, // 被委托人
userId: this.$store.getters.userInfo.userId, // 委托人
pId: this.$store.getters.getHandleInfo.prcId // 流程实例
}).then(res => {
if (res.success) {
this.$message.success('委托成功')
setTimeout(() => {
this.$router.push({
name: 'ProcessCenter'
})
}, 100)
this.visibleTree = false
} else {
this.$message.warning(res.message)
}
})
}).catch(() => {})
},
/**
* @description: 在线编辑
* @date: 2021-01-08 10:32:16
* @auth: chenxiaoxi
*/
handleOnLineEdit() {
if (!this.standNo || this.standNo === '') {
this.$message.warning(this.noStandNoTip)
} else {
this.visibleOnlyOffice = true
this.$nextTick(() => {
this.$refs['onlyOffice'].officeInit(this.standNo, this.standId)
})
}
},
beforeBack() {
this.handleBack()
}
},
computed: {
// 提交按钮文字
submitBTNTextShow() {
return this.submitBTNText ? this.submitBTNText : this.approval ? '同意' : '提交'
},
// 退回按钮文字
backBTNText() {
return this.approval ? '驳回' : '退回'
},
userId() {
return this.userInfo.userId
},
...mapGetters(['userInfo'])
},
watch: {},
mounted () {}
}
</script>
<style lang="less" scoped>
.process-footer {
line-height: 50px;
text-align: right;
background: #fff;
z-index: 999;
padding: 0;
.footer-line {
height: 1px;
box-shadow: 0 -1px 2px 0px #e8e8e8;
}
}
</style>
@@ -0,0 +1,89 @@
<!-- 流程信息公共头部 -->
<template>
<div class="prc-header-wrap">
<div class="process-header">
<div class="back" title="返回流程中心" @click="handleBack">
<i class="el-icon-back"></i>
</div>
<span class="process-title">
流程中心 <slot name="proName"></slot>
<a>(<slot name="proNode"></slot>)</a>
</span>
</div>
<el-divider></el-divider>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
export default {
name: 'ProcessHeader',
mixins: [],
props: {
toggle: {
type: Boolean,
default: false
}
},
components: {},
data () {
return {
activeName: '',
opacityStyle: {},
headerFixed: false
}
},
methods: {
handleBack() {
if (this.$store.state.detailMap !== '') {
this.$router.push({
path: this.$store.state.detailMap,
query: {
prcNum: this.$store.getters.getHandleInfo.prcNum,
tabsName: this.$store.getters.getHandleInfo.tabsName
}
})
this.$store.commit('setDetailMap', '')
} else {
this.$router.push({
name: 'ProcessCenter'
})
}
}
},
computed: {
...mapGetters(['isCollapse'])
},
watch: {},
mounted () {
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.el-divider {
margin: 10px 0 0;
}
.process-header {
position: relative;
padding-top: 10px;
}
.back {
margin-left: 10px;
}
.process-title {
font-size: 18px;
font-weight: bold;
display: inline-block;
height: 30px;
line-height: 30px;
a {
font-size: 14px;
margin-left: 5px;
cursor: default;
color: #888;
}
}
</style>
@@ -0,0 +1,32 @@
<!-- 流程信息公共标题 -->
<template>
<div class="contentTitle">
<div class="titleIcon"></div>
<div class="titleText"><slot name="title"></slot></div>
</div>
</template>
<script>
export default {
name: "ProcessTitle"
}
</script>
<style scoped lang="less">
.contentTitle {
height: 30px;
display: flex;
align-items: center;
color: #E6A23C;
.titleIcon{
background: #E6A23C;
width: 3px;
height: 14px;
}
.titleText{
margin-left: 10px;
font-size: 16px;
font-weight: bold;
}
}
</style>
@@ -1460,28 +1460,6 @@ export default {
this.reletionSelectNum = [] this.reletionSelectNum = []
this.showModelRelation = false this.showModelRelation = false
}, },
// 删除
handleDelete (row) {
this.$confirm('此操作将永久删除这条数据, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
confirmButtonClass: 'common-button-primary',
roundButton: true,
type: 'warning'
}).then(() => {
this.$http.post('lawss/sarProductInfo/deleteLocalProducts',
{
ids: row.id
}, {
_this: this
}, res => {
if (res.ok) {
this.getLocalProductTable()
}
})
}).catch(() => {
})
},
// 分页点击后方法 // 分页点击后方法
pageChange (page) { pageChange (page) {
this.localProTableSearch.page = page this.localProTableSearch.page = page
@@ -9,216 +9,214 @@
<div class="contaiiner"> <div class="contaiiner">
<el-card class="contaiinerCard" style="margin: 5px"> <el-card class="contaiinerCard" style="margin: 5px">
<div style="padding: 20px"> <div style="padding: 20px">
<el-row style="margin-top: 10px"> <el-row style="margin-top: 10px">
<el-col :span="5">产品平台: <span class="valueColor">{{ localProEO.projectPlatfor}}</span></el-col> <el-col :span="5">产品平台: <span class="valueColor">{{ localProEO.projectPlatfor}}</span></el-col>
<el-col :span="5" :push="1">项目编号: <span class="valueColor">{{ localProEO.projectNumber }}</span></el-col> <el-col :span="5" :push="1">项目编号: <span class="valueColor">{{ localProEO.projectNumber }}</span></el-col>
<el-col :span="5" :push="2">项目名称: <span class="valueColor">{{ localProEO.projectName }}</span></el-col> <el-col :span="5" :push="2">项目名称: <span class="valueColor">{{ localProEO.projectName }}</span></el-col>
<!-- <el-col :span="5" :push="2">车型系列:<span class="valueColor">{{ localProEO.productSet }}</span></el-col>--> <!-- <el-col :span="5" :push="2">车型系列:<span class="valueColor">{{ localProEO.productSet }}</span></el-col>-->
<el-col :span="4" :push="3">项目分类:<span class="valueColor">{{ localProEO.projectClassification }}</span></el-col> <el-col :span="4" :push="3">项目分类:<span class="valueColor">{{ localProEO.projectClassification }}</span></el-col>
</el-row> </el-row>
<el-row style="margin-top: 10px"> <el-row style="margin-top: 10px">
<el-col :span="5">项目状态: <span class="valueColor">{{ localProEO.projectStatus }} </span></el-col> <el-col :span="5">项目状态: <span class="valueColor">{{ localProEO.projectStatus }} </span></el-col>
<el-col :span="5" :push="1">项目群: <span class="valueColor">{{ localProEO.projectGroup }} </span></el-col> <el-col :span="5" :push="1">项目群: <span class="valueColor">{{ localProEO.projectGroup }} </span></el-col>
<el-col :span="5" :push="2">当前节点: <span class="valueColor">{{ localProEO.currentNode }} </span></el-col> <el-col :span="5" :push="2">当前节点: <span class="valueColor">{{ localProEO.currentNode }} </span></el-col>
<el-col :span="4" :push="3">项目级别: <span class="valueColor">{{ localProEO.projectLevel }} </span></el-col> <el-col :span="4" :push="3">项目级别: <span class="valueColor">{{ localProEO.projectLevel }} </span></el-col>
</el-row> </el-row>
<el-row style="margin-top: 10px"> <el-row style="margin-top: 10px">
<el-col :span="5">项目经理: <span class="valueColor">{{ localProEO.projectManager }} </span></el-col> <el-col :span="5">项目经理: <span class="valueColor">{{ localProEO.projectManager }} </span></el-col>
<el-col :span="5" :push="1"> 项目计划开始时间: <span class="valueColor">{{ localProEO.projectStartDate}}</span></el-col> <el-col :span="5" :push="1"> 项目计划开始时间: <span class="valueColor">{{ localProEO.projectStartDate}}</span></el-col>
<el-col :span="5" :push="2">项目计划完成时间: <span class="valueColor">{{localProEO.projectEndDate }} </span></el-col> <el-col :span="5" :push="2">项目计划完成时间: <span class="valueColor">{{localProEO.projectEndDate }} </span></el-col>
</el-row> </el-row>
</div> </div>
</el-card> </el-card>
<div class="action-bar"> <div class="action-bar">
<el-button class="common-button-default delete-button" <el-button plain class="common-button-primary" size="mini" @click="addList">添加</el-button>
size="mini" @click="selectStandLawsForProduct" <el-button plain class="common-button-primary" size="mini" @click="deleteList">批量删除</el-button>
v-btn-permission="'KJJ6U32LFL4PAK5C6P55'"
>调取</el-button>
<el-button class="common-button-default delete-button"
size="mini" @click="deleteStandLawsForProduct(1)"
icon="delete"
v-btn-permission="'KJJ6U32LFL4PAK5C6P55'"
>删除</el-button>
<el-button class="common-button-default export-button" <el-button class="common-button-default export-button"
size="mini" @click="exportProducdata" size="mini" @click="exportStandard"
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项" title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
icon="export" icon="export"
>导出</el-button> >导出</el-button>
</div> </div>
<!-- <el-tabs type="border-card">--> <!-- <el-tabs type="border-card">-->
<!-- <el-tab-pane :label="localProEO.productName" class="details-panel-tabs-item">--> <!-- <el-tab-pane :label="localProEO.productName" class="details-panel-tabs-item">-->
<div class="table-wrapper"> <div class="table-wrapper">
<el-table <el-table
:data="data" :data="dataList"
style="width: 100%" style="width: 100%"
:height="Height" :height="Height"
border border
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold', height: '48px'}" fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold', height: '48px',textAlign: 'center'}"
@selection-change="standSelectChange" @selection-change="standSelectChange"
ref="selection" ref="selection"
> :cell-style="{ textAlign: 'center' }"
<el-table-column >
type="selection" <el-table-column
width="55" type="selection"
align="center"> width="55"
</el-table-column> align="center">
<el-table-column </el-table-column>
prop="standName" <el-table-column
label="中文名称" prop="standId"
fixed="left" label="项目编号"
width="260px" fixed="left"
show-overflow-tooltip width="260px"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="enName" prop="standName"
label="文名称" label="文名称"
width="260px" width="180px"
show-overflow-tooltip >
> </el-table-column>
</el-table-column> <el-table-column
<el-table-column prop="standEnName"
prop="sarState" label="英文名称"
align="center" width="180px"
width="100" >
label="合规性分级"> </el-table-column>
<template slot-scope="scope"> <el-table-column
<div @click="chooseColor(scope.row,'2')"> prop="SSRQ"
<div v-if="!scope.row.color"> width="190px"
<div v-if="scope.row.actState === ''||scope.row.actState === null"> sortable
<img class="iconClass" src="../../../../assets/images/ComplianceClassification/white.png" > label="标准实施日期">
</div> </el-table-column>
<div v-else-if="scope.row.sarState === 8 || scope.row.sarState === '' ||scope.row.sarState === null" > <el-table-column
<!-- <img class="iconClass" src="../../../../assets/images/ComplianceClassification/blue.png">--> prop="XCXSSRQGJ"
<!--暂不显示--> width="190px"
</div> label="新车型实施日期">
<div v-else-if="scope.row.sarState === 2" > </el-table-column>
<img class="iconClass" src="../../../../assets/images/ComplianceClassification/green.png"> <el-table-column
prop="ZCCSSRQGJ"
</div> sortable
<div v-else-if="scope.row.sarState === 5"> width="190px"
<img class="iconClass" src="../../../../assets/images/ComplianceClassification/grey.png"> label="在产车实施日期">
</div> </el-table-column>
<div v-else> <el-table-column
<img class="iconClass" @click="typeColor(scope.row, 2, 1)" src="../../../../assets/images/ComplianceClassification/yellow.png" > prop="ZRBM"
</div> label="责任部门"
</div> width="180px"
<div v-else> >
<div v-if="scope.row.color === 'green'" > </el-table-column>
<img class="iconClass" src="../../../../assets/images/ComplianceClassification/green.png"> <el-table-column
<!--暂不显示--> show-overflow-tooltip
</div> prop="KCCVPPSBM"
<div v-if="scope.row.color === 'red'" > width="180px"
<img class="iconClass" src="../../../../assets/images/ComplianceClassification/red.png"> label="卡车VPPS编码">
<!--暂不显示--> </el-table-column>
</div> <el-table-column
<div v-if="scope.row.color === 'blue'" > show-overflow-tooltip
<img class="iconClass" src="../../../../assets/images/ComplianceClassification/blue.png"> prop="KCCVPPSCN"
<!--暂不显示--> width="180px"
</div> label="卡车vpps中文名称">
<div v-if="scope.row.color === 'grey'" > </el-table-column>
<img class="iconClass" src="../../../../assets/images/ComplianceClassification/grey.png"> <el-table-column
<!--暂不显示--> prop="CYCVPPSBM"
</div> width="180px"
<div v-if="scope.row.color === 'yellow'" > label="乘车VPPS编码">
<img class="iconClass" src="../../../../assets/images/ComplianceClassification/yellow.png"> </el-table-column>
<!--暂不显示--> <el-table-column
</div> prop="CYCVPPSBM"
</div> width="180px"
</div> label="乘车vpps中文名称">
</template> </el-table-column>
</el-table-column> </el-table>
<el-table-column <pagination
prop="authDelive" style="position: relative;"
width="120px" :page="page"
label="认证交付物"> :total="total"
</el-table-column> @pageChange="pageChangeLaws"
<el-table-column @pageSizeChange="pageSizeChangeLaws"></pagination>
prop="authObjId" </div>
width="100px" <loading :loading="loading">数据获取中</loading>
label="认证对象"> <!-- </el-tab-pane>-->
</el-table-column> <!-- </el-tabs>-->
<el-table-column
prop="newPutTime"
width="190px"
sortable
label="新车型实施日期">
</el-table-column>
<el-table-column
prop="prodPutTime"
sortable
width="190px"
label="在产车实施日期">
</el-table-column>
<el-table-column
prop="eopPutTime"
sortable
width="190px"
label="EOP实施日期">
<template slot-scope="scope">
<span>{{ scope.row.eopPutTime !== null && scope.row.eopPutTime !== 'N/A' && scope.row.eopPutTime !== 'TBD'
&& scope.row.eopPutTime !== '已实施' ? $moment(scope.row.eopPutTime).format('YYYY-MM-DD') : scope.row.eopPutTime }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="synopsis"
width="200px"
label="文本说明">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="performInfo"
width="280px"
label="实施说明">
</el-table-column>
<el-table-column
prop="dutyDepart"
width="150px"
label="责任部门">
</el-table-column>
<el-table-column
prop="foUser"
width="150px"
label="FO">
</el-table-column>
<el-table-column
prop="proEssessUser"
width="120px"
label="项目评估角色">
</el-table-column>
<el-table-column
prop="askTypeName"
width="100px"
label="要求类型">
</el-table-column>
</el-table>
<pagination
style="position: relative;"
:page="page"
:total="total"
@pageChange="pageChangeLaws"
@pageSizeChange="pageSizeChangeLaws"></pagination>
</div>
<loading :loading="loading">数据获取中</loading>
<!-- </el-tab-pane>-->
<!-- </el-tabs>-->
</div> </div>
<!-- 调取弹窗 --> <!-- 调取弹窗 -->
<el-drawer <el-drawer
title="调取" title="调取"
:visible.sync="takeingFlag" :visible.sync="standModel"
:wrapperClosable="false" size="900px"
size="800px" custom-class="demo-drawer"
:before-close="resetTakeingForm"
> >
<div class="demo-drawer-content">
<div style="position: absolute;bottom: 48px;top:16px;left: 0;right: 0">
<div style="position: absolute;bottom: 55px;top: 0;right: 0;left: 0">
<el-table
:data="standardData"
tooltip-effect="dark"
style="width: 100%"
border
ref="table"
height="100%"
:header-cell-style="{background: '#f5f1f1', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="selectThree"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="code"
label="标准号">
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump"
@click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{ scope.row.standNumber
}}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSortShow }}
{{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
label="标准名称"
>
</el-table-column>
<el-table-column
prop="issueTime"
label="发布日期">
</el-table-column>
<el-table-column
prop="xcxssrq"
label="新车型实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="zccssrq"
label="在产车实施日期">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
label="文本状态">
</el-table-column>
</el-table>
</div>
<pagination
:page="pageNo"
:pageSize="pageSizeNo"
:total="totalNo"
@pageChange="pageChangeNo"
@pageSizeChange="pageSizeChangeNo"
style="position: absolute;"
/>
</div>
</div>
<div class="demo-drawer-footer">
<el-button size="mini" @click="cancelStand">取消</el-button>
<el-button type="primary" size="mini" @click="okStand">添加</el-button>
</div>
</el-drawer> </el-drawer>
<!--导出--> <!--导出-->
<el-dialog :visible.sync="exportModelFlag" title="导出文件" width="700" :show-close="false"> <el-dialog :visible.sync="exportModelFlag" title="导出文件" width="700" :show-close="false">
<label-input v-model="exportName" placeholder="请输入导出文件名" clearable label="导出名称"/> <label-input v-model="exportName" placeholder="请输入导出文件名" clearable label="导出名称"/>
<div slot="footer"> <div slot="footer">
<el-button class="common-button-primary" icon="el-icon-check" type="primary" @click="exportTestItem">导出</el-button> <el-button class="common-button-primary" icon="el-icon-check" type="primary"
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
@click="exportTestItem">导出</el-button>
<el-button class="common-button-default" icon="el-icon-close" @click="cancal">取消</el-button> <el-button class="common-button-default" icon="el-icon-close" @click="cancal">取消</el-button>
</div> </div>
</el-dialog> </el-dialog>
@@ -227,7 +225,7 @@
<script> <script>
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import LawsTreeView from '@/components/ProjectRelatedPersonnel/view' import LawsTreeView from '@/components/ProjectRelatedPersonnel/view'
import { interfaceUrl } from "@/sysConfig";
export default { export default {
name: 'Details', name: 'Details',
components: { components: {
@@ -235,6 +233,16 @@ export default {
}, },
data () { data () {
return { return {
size: this.$store.getters.userInfo.configContent,
pageSizeNo: this.$store.getters.userInfo.configContent,
pageSize: this.$store.getters.userInfo.configContent,
pageNo: 1,
standardData: [], //添加标准数据
totalNo: 0,
standModel: false, // 选择标准抽屉状态
selectList: [], //选择标准的选择框
selectList1: [], //选择标准的选择框
dataList: [],//清单里的标准数据
page: 1, page: 1,
total: 0, total: 0,
loading: false, loading: false,
@@ -244,16 +252,215 @@ export default {
localProLib:{}, localProLib:{},
takeingFlag: false, takeingFlag: false,
exportModelFlag: false, exportModelFlag: false,
exportName: '' exportName: '',
standList:[],//调取添加的数据
standList1:[],//调取添加的数据
id:'',//批量删除.
saveExportType: '',// 导出文件模态框控制,和文件名称
} }
}, },
methods: { methods: {
pageChange(page) {
this.page = page;
this.selectionList();
},
pageSizeChange(pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent;
this.selectionList();
},
pageChangeNo(page){
this.pageNo = page
this.addList()
},
pageSizeChangeNo(pageSize){
this.pageSizeNo = this.$store.getters.userInfo.configContent;
this.addList()
},
//添加标准select的改变
selectThree(data) {
this.standList = data;
},
//点击添加事件
addList() {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", {
page:this.pageNo,
pageSize:this.pageSizeNo
}, {
_this:this,
}, res => {
console.log('res')
console.log(res)
this.standardData = res.data.list;
this.totalNo = res.data.count
}, e => {
});
this.standModel = true;
},
// 点击批量删除事件
deleteList() {
if (this.selectList.length < 1) {
this.$message.warning("请选择一条数据进行删除");
} else {
this.$confirm("您确认删除这些数据?", "提示", {
confirmButtonText: "确认",
confirmButtonClass: "common-button-primary",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
let exits = [];
this.selectList.map(item => {
let index;
index = this.dataList.findIndex(items => {
return items.id = item;
});
if (index > -1) {
this.dataList.splice(index, 1);
}
exits.push(item);
});
// 批量删除表格数据
for (let i=0;i<this.selectList.length;i++){
this.selectList1.push(this.selectList[i].standId)
}
this.id=this.selectList1.join(',')
this.$http.post('sarStandProjectLibrary/deleteByIds', {
id:this.id
}, {
_this: this,
loading: 'loading'
}, res => {
this.getDataList()
this.selectList = [];
this.selectList1 = [];
}, e => {
})
}).catch(() => {
});
}
},
getDataList(){
// 查询详情表格数据
this.$http.get('sarStandProjectLibrary/queryStandInfo', {
id:this.localProEO.id,
current:this.page,
pageSize:this.pageSize
}, {
_this: this,
loading: 'loading'
}, res => {
this.dataList=res.data.records
this.total=res.data.total
}, e => {
})
},
//添加标准取消事件
cancelStand() {
this.standModel = false;
},
//添加标准确定事件
okStand() {
let _this = this;
if (this.standList.length < 1) {
_this.$message.warning("请选择需要添加进清单的数据");
} else {
for (let i=0;i<this.dataList.length;i++){
let newStand = false;
for (let j=0;j<this.standList.length;j++){
if (this.standList[j].id==this.dataList[i].standId){
newStand = true;
this.standList.splice(j,1)
j--
}
}
if (newStand) {
_this.$message.warning("请勿重复添加数据");
} else {
// _this.dataList.push(item);
}
}
this.standardData = []
_this.standModel = false;
for (var i=0;i<this.standList.length;i++){
this.standList1.push({
standId:this.standList[i].id,
projectId:this.localProEO.id
})
}
if(this.standList1!=''){
this.$http.postData("sarStandProjectLibrary/batchInsert", this.standList1, {
_this: this
}, res => {
if (res.ok) {
this.$message.success(res.message)
this.getDataList()
}else {
this.$message.warning(res.message)
}
}, e => {
});
}
this.standList = []
this.standList1 = []
_this.standModel = false;
}
},
//选择清单确定事件
OkDrawer() {
if (this.selectList.length === 1) {
let deposit = new Map();
this.sarAccessListDatas.forEach(item => {
deposit.set(item.id, item);
});
let bringData = [];
for (let i = 0; i < this.selectList.length; i++) {
bringData.push(deposit.get(this.selectList[i]));
}
this.listForm.standId = bringData[0].id;
this.listForm.listName = bringData[0].detailedListName;
this.listForm.applyRegion = bringData[0].applicationScope;
this.listForm.descriptionList = bringData[0].remark;
this.listForm.fileId = bringData[0].fileId;
this.ListModel = false;
this.$http.get("sarLawsAttrDetailedList/sar-laws-attr-detailed-list/selectLawsById", { id: bringData[0].id }, {
_this: this
}, res => {
if(res.data==null){
res.data=[]
}
this.dataList = res.data;
this.listForm.dataList = res.data;
let formId = []
this.dataList.map(item => {
formId.push(item.id)
});
this.listForm.inforlist = formId.join(',');
}, e => {
});
} else if (this.selectList.length > 1) {
this.$message.warning("只能选择一条数据进行带入");
} else {
this.$message.warning("请选择一条数据进行带入");
}
},
back () { back () {
this.$router.push(this.$store.state.detailMap) this.$router.push(this.$store.state.detailMap)
this.$store.commit('setDetailMap', '') this.$store.commit('setDetailMap', '')
}, },
showLocalProductData (item) { showLocalProductData (item) {
this.localProEO = JSON.parse(JSON.stringify(item)) this.localProEO = JSON.parse(JSON.stringify(item))
// 查询详情表格数据
this.$http.get('sarStandProjectLibrary/queryStandInfo', {
id:this.localProEO.id
}, {
_this: this,
loading: 'loading'
}, res => {
this.dataList=res.data.records
console.log(res)
this.total=res.data.total
}, e => {
})
this.pointTimeList = JSON.parse(JSON.stringify(item)).pointTime.split(',') this.pointTimeList = JSON.parse(JSON.stringify(item)).pointTime.split(',')
this.reverseTimeList = this.pointTimeList.reverse() this.reverseTimeList = this.pointTimeList.reverse()
this.reverseTimeList.map((item, index) => { this.reverseTimeList.map((item, index) => {
@@ -276,15 +483,59 @@ export default {
this.selectTableDataList() this.selectTableDataList()
}, },
resetTakeingForm() {}, resetTakeingForm() {},
exportTestItem() {}, //导出
cancal() {}, exportStandard () {
if(this.selectList.length > 0) {
this.saveExportType = 'apart'
} else {
this.saveExportType = 'all'
}
this.exportName = ''
this.exportModelFlag = true
console.log(this.saveExportType);
},
//取消导出
cancal () {
this.exportModelFlag = false
},
//确认导出
exportTestItem () {
if(this.saveExportType === 'apart') {
if (this.selectList != null && this.selectList != ''){
console.log(this.selectList);
let ids='\''+this.selectList[0].standId+'\''
for(let i=1;i<this.selectList.length;i++){
ids+=',\''+this.selectList[i].standId+'\''
}
const exportURL = interfaceUrl + 'sarStandProjectLibrary/exportStandAttrInfoExcel?' +
'exportType' + this.saveExportType + '&ids=' + ids + '&exportName=' + this.exportName
window.open(exportURL)
this.$message.success('导出信息成功')
}
} else if (this.saveExportType === 'all') {
console.log(this.selectList);
const exportURL = interfaceUrl + 'sarStandProjectLibrary/exportStandAttrInfoExcel?' +
'exportType' + this.saveExportType + '&ids=' + this.selectList.join(',') + '&exportName=' + this.exportName
window.open(exportURL)
this.$message.success('导出信息成功')
}
this.exportModelFlag = false
},
exportProducdata() {}, exportProducdata() {},
deleteStandLawsForProduct() {}, deleteStandLawsForProduct() {},
selectStandLawsForProduct() {}, selectStandLawsForProduct() {},
pageChangeLaws() {}, pageChangeLaws(page) {
pageSizeChangeLaws() {}, this.page = page
standSelectChange() {},//选项值发生改变 this.getDataList()
},
pageSizeChangeLaws(pageSize) {
this.$store.getters.userInfo.configContent = pageSize
this.size = pageSize
this.getDataList()
},
standSelectChange(val) {
this.selectList = val;
},//选项值发生改变
}, },
computed: { computed: {
...mapGetters(['getLocalPro']) ...mapGetters(['getLocalPro'])
@@ -308,10 +559,10 @@ export default {
}, e => { }, e => {
}) })
} }
} }
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.localProductDetails{ .localProductDetails{
.typeIcon { .typeIcon {
@@ -484,7 +735,6 @@ export default {
padding: 0; padding: 0;
} }
</style> </style>
<style lang="less"> <style lang="less">
.localProductDetails { .localProductDetails {
height: 100%; height: 100%;
@@ -494,8 +744,10 @@ export default {
} }
.leftTable{ .leftTable{
.el-table--enable-row-transition .el-table__body td { .el-table--enable-row-transition .el-table__body td {
cursor: pointer; cursor: pointer;
} }
} }
.demo-drawer-content {
</style> margin-top: 10px;
}
</style>
@@ -204,7 +204,11 @@
</div> </div>
</div> </div>
<div class="footer"> <div class="footer">
<pagination :page="pageNo" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination> <pagination
:page="pageNo"
:total="total"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"></pagination>
<el-drawer <el-drawer
title='查看' title='查看'
:visible.sync="historySee" :visible.sync="historySee"
@@ -599,7 +603,8 @@ export default {
this.pageNo = page this.pageNo = page
this.getTableByPage() this.getTableByPage()
}, },
pageSizeChange () { pageSizeChange (pageSize) {
console.log(pageSize);
this.getTableByPage() this.getTableByPage()
}, },
}, },
+1 -1
View File
@@ -7,7 +7,7 @@
// const devIp = '39.98.140.126' // const devIp = '39.98.140.126'
// const devInterfacePORT = '10005' // const devInterfacePORT = '10005'
// const devIp = '192.168.10.248' // const devIp = '192.168.10.248'
const devIp = '192.168.10.252' const devIp = '192.168.10.254'
const devInterfacePORT = '9999' const devInterfacePORT = '9999'
// 云端端口号 // 云端端口号
const DEV_CLOUD_RES_INTERFACE_PORT = '7777' const DEV_CLOUD_RES_INTERFACE_PORT = '7777'