Merge branch 'develop' into 'FOTON'

Develop

See merge request LAWS/laws-system-front-FOTON!216
This commit is contained in:
王夏晖
2021-12-02 21:53:38 +08:00
57 changed files with 6023 additions and 1114 deletions
+5 -5
View File
@@ -6649,13 +6649,13 @@ var PDFPageView = function () {
watermark_txt: msg, watermark_txt: msg,
watermark_x: 50,//水印起始位置x轴坐标 watermark_x: 50,//水印起始位置x轴坐标
watermark_y: 0,//水印起始位置Y轴坐标 watermark_y: 0,//水印起始位置Y轴坐标
watermark_rows: 7,//水印行数 watermark_rows: 15,//水印行数
watermark_cols: 5,//水印列数 watermark_cols: 7,//水印列数
watermark_x_space: 80,//水印x轴间隔 watermark_x_space: 18,//水印x轴间隔
watermark_y_space: 120,//水印y轴间隔 watermark_y_space: 20,//水印y轴间隔
watermark_color: 'rgba(192, 192, 192)',//水印字体颜色 watermark_color: 'rgba(192, 192, 192)',//水印字体颜色
watermark_alpha: 0.3,//水印透明度 watermark_alpha: 0.3,//水印透明度
watermark_fontsize: '30px',//水印字体大小 watermark_fontsize: '40px',//水印字体大小
watermark_font: '微软雅黑',//水印字体 watermark_font: '微软雅黑',//水印字体
watermark_width: 120,//水印宽度 watermark_width: 120,//水印宽度
watermark_height: 80,//水印长度 watermark_height: 80,//水印长度
@@ -96,7 +96,6 @@
#upload .placeholder .webuploader-pick { #upload .placeholder .webuploader-pick {
font-size: 18px; font-size: 18px;
background: #00b7ee; background: #00b7ee;
3px;
line-height: 44px; line-height: 44px;
padding: 0 30px; padding: 0 30px;
*width: 120px; *width: 120px;
@@ -198,7 +197,6 @@
overflow: hidden; overflow: hidden;
z-index: 50; z-index: 50;
margin: 0; margin: 0;
0;
background: none; background: none;
-webkit-box-shadow: 0 0 0; -webkit-box-shadow: 0 0 0;
} }
@@ -317,7 +315,6 @@
height: 113px; height: 113px;
background: url(./images/image.png) no-repeat center 12px; background: url(./images/image.png) no-repeat center 12px;
border: 1px solid #eeeeee; border: 1px solid #eeeeee;
0;
} }
#upload .filelist li.filePickerBlock div.webuploader-pick { #upload .filelist li.filePickerBlock div.webuploader-pick {
width: 100%; width: 100%;
@@ -447,7 +444,6 @@
color: #565656; color: #565656;
padding: 0 18px; padding: 0 18px;
display: inline-block; display: inline-block;
3px;
margin-left: 10px; margin-left: 10px;
cursor: pointer; cursor: pointer;
font-size: 14px; font-size: 14px;
+10
View File
@@ -0,0 +1,10 @@
import axios from "@/common/axiosV2";
export function getImg (data) {
return axios({
url: 'api/sarUrl/tsUrl/getIconImg',
method: 'get',
params: data,
responseType: 'arraybuffer'
})
}
+2
View File
@@ -1,6 +1,8 @@
/*liuyan 全局公共样式*/ /*liuyan 全局公共样式*/
@import './style'; @import './style';
@import './mixins'; @import './mixins';
// 移动端公共样式
@import './phone';
// 左侧菜单样式 // 左侧菜单样式
@import './navMenu'; @import './navMenu';
// tree组件父组件内样式 // tree组件父组件内样式
+9
View File
@@ -0,0 +1,9 @@
.phoneBox {
width: 100%;
height: 100%;
}
@media screen and (max-width: 1366px) {
.el-message {
min-width: 200px !important;
}
}
+6 -1
View File
@@ -18,7 +18,12 @@ mark{background-color:transparent}
a,ins,s,u,del{text-decoration:none} a,ins,s,u,del{text-decoration:none}
sup,sub{vertical-align:baseline} sup,sub{vertical-align:baseline}
html {width:100%;height: 100%;font-size: 50px;-webkit-tap-highlight-color: transparent;} html {width:100%;height: 100%;font-size: 50px;-webkit-tap-highlight-color: transparent;}
body {font-family: 'PingFang SC', 'Microsoft Yahei', '微软雅黑', Arial, sans-serif !important;color: #333;font-size: 14px;line-height: 1;-webkit-text-size-adjust: none;width:100%;height:100%;min-width:1280px;overflow-x:auto;} @media screen and (min-width: 1366px) {
body {
min-width:1280px;
}
}
body {font-family: 'PingFang SC', 'Microsoft Yahei', '微软雅黑', Arial, sans-serif !important;color: #333;font-size: 14px;line-height: 1;-webkit-text-size-adjust: none;width:100%;height:100%;overflow-x:auto;}
hr {height: .02rem;margin: .1rem 0;border: medium none;border-top: .02rem solid #cacaca;} hr {height: .02rem;margin: .1rem 0;border: medium none;border-top: .02rem solid #cacaca;}
a {text-decoration: none;} a {text-decoration: none;}
/*意见反馈页面富文本表格宽度*/ /*意见反馈页面富文本表格宽度*/
@@ -38,7 +38,6 @@
class="form-upload-btn" class="form-upload-btn"
> >
<!-- {{ (value === 'null' || value === '' || value == null) && (!processModel || (processModel && !disabled)) ? '点击上传' : '查看已上传的文件' }}--> <!-- {{ (value === 'null' || value === '' || value == null) && (!processModel || (processModel && !disabled)) ? '点击上传' : '查看已上传的文件' }}-->
上传
</el-button> </el-button>
</template> </template>
<el-dialog <el-dialog
+57 -382
View File
@@ -1,393 +1,68 @@
<!-- 配置管理 - 链接管理 --> <!-- 配置管理 - 链接管理 -->
<template> <template>
<div id="post-manage"> <div class="data-link">
<!-- 头部操作按钮--> <el-tabs v-model="activeName">
<div class="action-bar"> <el-tab-pane label="第一行链接" name="firstLink">
<el-button type="primary" <first-link v-if="activeName === 'firstLink'"></first-link>
class="common-button-primary add-button" </el-tab-pane>
@click="addLink" <el-tab-pane label="第二行链接" name="secondLink">
v-btn-permission="'980cb239683de9e29ee5335cec98e5b4'" <second-link v-if="activeName === 'secondLink'"></second-link>
size="mini">新增</el-button> </el-tab-pane>
<!-- <el-button type="primary"--> </el-tabs>
<!-- class="common-button-primary add-button"--> </div>
<!-- @click="linkOrder"-->
<!-- v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"-->
<!-- size="mini">顺序调整</el-button>-->
<el-button type="primary"
class="common-button-primary add-button"
@click="deleteAllLink"
v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"
size="mini">删除</el-button>
</div>
<!-- 表格-->
<div class="content">
<el-table
:data="linkList"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
height="100%"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="handleSelectionChange">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="orderBy"
label="序号"
align="center"
width="50px">
</el-table-column>
<el-table-column
prop="name"
label="链接名称">
</el-table-column>
<el-table-column
label="链接">
<template slot-scope="scope" >
<span v-if="scope.row.url.slice(0,7) === 'http://'" @click="linkto(scope.row.url)" style="color: #0c91e5;cursor: pointer;text-decoration: underline">
{{ scope.row.url }}
</span>
<span v-else @click="linkto('http://' + scope.row.url)" style="color: #0c91e5;cursor: pointer;text-decoration: underline">{{ scope.row.url }}</span>
</template>
</el-table-column>
<el-table-column
label="操作"
width="50px">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-btn-permission="'0fbb849e244e07433a90180fb314ad10'" :command="[scope.row, '删除']">删除</el-dropdown-item>
<el-dropdown-item v-btn-permission="'fa0846d977aeef07e9cb7faf648f8f7f'" :command="[scope.row, '编辑']">编辑</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</div>
<loading :loading="Loading">加载中...</loading>
<!-- 新增链接弹窗-->
<el-dialog
:close-on-click-modal="false"
:title="dialogTitle"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px"
@close="resetForm"
>
<el-form
ref="sarStandardsInfoForm"
:model="sarStandardsInfoEO"
:rules="sarStandardsInfoRules"
class="label-input-form"
>
<el-form-item label="链接名称" prop="name" label-width="150px" class="add-form-item">
<el-input v-model="sarStandardsInfoEO.name"
placeholder="请输入链接名称"
maxlength="30"
show-word-limit
clearable></el-input>
</el-form-item>
<el-form-item label="链接" prop="url" label-width="150px" class="add-form-item">
<el-input v-model="sarStandardsInfoEO.url"
maxlength="100"
show-word-limit
placeholder="请输入链接">
</el-input>
</el-form-item>
</el-form>
<span slot="footer" class="demo-drawer-footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="resetForm">取消</el-button>
<el-button type="primary" size="mini" class="common-button-primary" icon="el-icon-check" @click="submit">确定</el-button>
</span>
</el-dialog>
</div>
</template> </template>
<script> <script>
import Sortable from 'sortablejs' import firstLink from "./linkType/firstLink";
export default { import secondLink from "./linkType/secondLink";
name: "linkManage", export default {
data () { name: "linkManage",
return { components: {
editId: '', firstLink,
type: '', // 1为新增 2为编辑 secondLink
dialogTitle: '', },
submitLoading: false, data() {
// 向后台传参使用 return {
data: [], activeName: 'firstLink',
Loading: false,
modalshowflag: false,
// 排序
order:[],
// 表格选取的
selectList:[],
selectId:[],
ids:'',
// 向后台传参使用
sarStandardsInfoEO: {
name: '',
url: '',
// sortId: ''
},
//新增链接未输入时提示
sarStandardsInfoRules: {
name: [
{ required: true, message: '请输入链接名称', trigger: 'blur' }
],
url: [
{ required: true, message: '请输入链接', trigger: 'blur' }
]
},
modalRole: false,
props: {
label: 'name',
children: 'children'
},
linkList: [],
sortData: [],
}
},
methods: {
//链接点击跳转,链接形式为http://xxxxxx
linkto(link_href){
window.open(link_href)
},
//头部新增按钮
addLink () {
this.type = 1
this.dialogTitle = '新增链接'
this.modalshowflag = true
},
//表格中操作列删除操作弹窗
deleteLink (row) {
this.$confirm('此操作将删除该链接, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http.delete('sarUrl/tsUrl/delete', {
id: row.id
}, {
_this: this,
loading: 'Loading'
}, res => {
if (res.ok) {
this.$message.success('删除成功')
let arr = []
for (let a = 0; a < this.linkList.length; a++) {
if (this.linkList[a].id === row.id) {
this.linkList.splice(a, 1)
}
}
this.linkList.forEach((item, index) => {
let json = {}
json.id = item.id
json.orderBy = index + 1
arr.push(json)
})
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(arr), {}, res => {
this.getLink()
})
}else {
this.$message.warning(res.message)
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
//头部删除按钮
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) {
this.$message.warning('请选择要删除的链接')
} else {
this.modalRole = true
this.$confirm('此操作将删除链接, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http.delete('sarUrl/tsUrl/deleteBatch', {
ids: this.ids
}, {}, res => {
if (res.ok) {
this.$message.success('删除成功')
let arr = this.linkList.filter(items => {
if (!this.ids.includes(items.id)) return items;
})
let newArr = []
arr.forEach((item, index) => {
let json = {}
json.id = item.id
json.orderBy = index + 1
newArr.push(json)
})
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(newArr), {}, res => {
this.getLink()
})
}else {
this.$message.warning(res.message)
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
}
},
//弹窗关闭操作
resetForm () {
this.$refs['sarStandardsInfoForm'].resetFields();
this.modalshowflag = false
},
//弹窗确认操作
submit () {
this.$refs['sarStandardsInfoForm'].validate((valid) => {
if (valid) {
if (this.type === 1) {
this.$http.postData('sarUrl/tsUrl/add', {
...this.sarStandardsInfoEO,
}, {
_this: this,
loading: 'Loading'
}, res=> {
if (res.ok) {
this.$message.success('新增成功')
this.modalshowflag = false
this.getLink()
} else {
this.$message.warning(res.message)
}
})
} else {
// 编辑
this.$http.putData('/sarUrl/tsUrl/edit', {
id: this.editId,
name: this.sarStandardsInfoEO.name,
url: this.sarStandardsInfoEO.url,
}, {
_this: this,
loading: 'Loading'
}, res=> {
if (res.ok) {
this.$message.success('修改成功')
this.modalshowflag = false
this.getLink()
} else {
this.$message.warning(res.message)
}
})
}
} else {
return false;
}
});
},
//表格中操作列
handleCommand (command) {
switch (command[1]) {
case '删除':
this.deleteLink(command[0])
break
case '编辑':
this.editLink(command[0])
break
}
},
//表格中操作列编辑操作弹窗
editLink (row) {
this.type = 2
this.editId = row.id
this.sarStandardsInfoEO.name = row.name
this.sarStandardsInfoEO.url = row.url
this.sarStandardsInfoEO.sortId = row.sortId
this.dialogTitle = '修改链接'
this.modalshowflag = true
},
//多选框选择
handleSelectionChange (val) {
this.selectList = val
},
// 获取链接数据
getLink () {
this.$http.get('sarUrl/tsUrl', {
}, {
_this: this,
loading: 'Loading'
}, res=> {
this.linkList = res.data
this.initSortable()
})
},
initSortable () {
this.sortData = [...this.linkList]
const el = document.querySelector('.el-table__body-wrapper tbody')
//创建拖拽对象
this.sortable = Sortable.create(el, {
sort: true, //是否可进行拖拽排序
animation: 150,
onEnd: ({newIndex, oldIndex}) => {
const val = this.sortData[oldIndex]
this.sortData.splice(oldIndex, 1)
this.sortData.splice(newIndex, 0, val)
this.sortData.forEach((item, index) => {
item.orderBy = index + 1
})
let arr = []
this.sortData.forEach(item => {
let json = {}
json.id = item.id
json.orderBy = item.orderBy
arr.push(json)
})
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(arr), {}, res => {
if (res.ok) {
this.$message.success('保存成功')
} else {
this.$message.warning('保存失败!')
}
})
}
})
},
},
mounted() {
this.getLink();
}
} }
},
methods: {
},
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import '~@/assets/styles/mixins'; @import '~@/assets/styles/mixins';
#post-manage { .data-link{
height: 100%; height: 100%;
.content { padding: 0 10px;
height: calc(~'100% - 53px') background: #fff;
} display: flex;
.filter-tree { flex-direction: column;
height: calc(~'100% - 50px')
} /deep/ .el-tabs {
flex: auto;
display: flex;
flex-direction: column;
/deep/ .el-tabs__header {
margin: 0 !important;
} }
.el-tabs__content {
height: 100% !important;
flex: auto;
position: relative;
display: flex;
flex-direction: column;
.el-tab-pane {
height: 100%;
flex: auto;
display: flex;
flex-direction: column;
}
}
}
}
</style> </style>
@@ -0,0 +1,566 @@
<!-- 配置管理 - 链接管理 -->
<template>
<div id="post-manage">
<!-- 头部操作按钮-->
<div class="action-bar">
<el-button
type="primary"
class="common-button-primary add-button"
@click="addLink"
v-btn-permission="'980cb239683de9e29ee5335cec98e5b4'"
size="mini">新增
</el-button>
<!-- <el-button
type="primary"
class="common-button-primary add-button"
@click="linkOrder"
v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"
size="mini">顺序调整
</el-button>-->
<el-button
type="danger"
class="common-button-primary add-button"
@click="deleteAllLink"
v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"
size="mini">删除
</el-button>
</div>
<!-- 表格-->
<div class="content">
<el-table
:data="linkListFirst"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
height="100%"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="handleSelectionChange">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="orderBy"
label="序号"
align="center"
width="50px">
</el-table-column>
<el-table-column
prop="name"
label="链接名称">
</el-table-column>
<el-table-column
prop="icon"
label="链接图标">
<template slot-scope="scope">
<img v-if="scope.row.icon !== ''" style="height: 50px;width: 50px" :src="scope.row.icon">
<span v-else>{{ '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="url"
show-overflow-tooltip
label="链接">
<template slot-scope="scope">
<span v-if="scope.row.url.slice(0,7) === 'http://' || scope.row.url.slice(0,8) === 'https://'" @click="linkto(scope.row.url)" style="color: #0c91e5;cursor: pointer;text-decoration: underline">
{{ scope.row.url }}
</span>
<span v-else @click="linkto('http://' + scope.row.url)" style="color: #0c91e5;cursor: pointer;text-decoration: underline">
{{ 'http://' + scope.row.url }}
</span>
</template>
</el-table-column>
<el-table-column
label="操作"
width="50px">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-btn-permission="'0fbb849e244e07433a90180fb314ad10'" :command="[scope.row, '删除']">
删除
</el-dropdown-item>
<el-dropdown-item v-btn-permission="'fa0846d977aeef07e9cb7faf648f8f7f'" :command="[scope.row, '编辑']">
编辑
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</div>
<loading :loading="Loading">加载中...</loading>
<!-- 新增链接弹窗-->
<el-dialog
:close-on-click-modal="false"
:title="dialogTitle"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px"
@close="resetForm"
>
<el-form
ref="sarStandardsInfoForm"
:model="sarStandardsInfoEO"
:rules="sarStandardsInfoRules"
class="label-input-form"
>
<el-form-item label="链接类型" prop="type" label-width="150px" class="add-form-item">
<el-input :disabled="true" v-if="sarStandardsInfoEO.type === 1" value="第一行链接"/>
</el-form-item>
<el-form-item label="链接名称" prop="name" label-width="150px" class="add-form-item">
<el-input
v-model="sarStandardsInfoEO.name"
placeholder="请输入链接名称"
maxlength="20"
show-word-limit
clearable></el-input>
</el-form-item>
<el-form-item label="链接图标" prop="icon" label-width="150px" class="add-form-item">
<el-upload
v-model="sarStandardsInfoEO.icon"
class="upload-demo"
:action="uploadUrl"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
>
<img width="100%" v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
<el-form-item label="链接" prop="url" label-width="150px" class="add-form-item">
<el-input
v-model="sarStandardsInfoEO.url"
maxlength="100"
show-word-limit
placeholder="请输入链接">
</el-input>
</el-form-item>
</el-form>
<span slot="footer" class="demo-drawer-footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="resetForm">取消</el-button>
<el-button type="primary" size="mini" class="common-button-primary" icon="el-icon-check" @click="submit">确定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import Sortable from 'sortablejs'
import {getImg} from '@/api/linkApi.js'
export default {
name: "firstLink",
data() {
return {
editId: '',
type: '', // 1为新增 2为编辑
dialogTitle: '',
submitLoading: false,
// 向后台传参使用
data: [],
Loading: false,
modalshowflag: false,
// 排序
order: [],
// 表格选取的
selectList: [],
selectId: [],
ids: '',
// 向后台传参使用
sarStandardsInfoEO: {
name: '',
url: '',
icon: '',
type: 1,
// sortId: ''
},
//新增链接未输入时提示
sarStandardsInfoRules: {
name: [
{required: true, message: '请输入链接名称', trigger: 'blur'}
],
url: [
{required: true, message: '请输入链接', trigger: 'blur'}
]
},
modalRole: false,
props: {
label: 'name',
children: 'children'
},
linkListFirst: [],
linkList: [],
sortData: [],
imageUrl: '',
uploadUrl: 'api/att/attFile/upload',
}
},
methods: {
//链接点击跳转,链接形式为http://xxxxxx
linkto(link_href) {
window.open(link_href)
},
//头部新增按钮
addLink() {
this.type = 1
this.dialogTitle = '新增链接'
this.modalshowflag = true
},
//表格中操作列删除操作弹窗
deleteLink(row) {
this.$confirm('此操作将删除该链接, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http.delete('sarUrl/tsUrl/delete', {
id: row.id
}, {
_this: this,
loading: 'Loading'
}, res => {
if (res.ok) {
this.$message.success('删除成功')
let arr = []
for (let a = 0; a < this.linkList.length; a++) {
if (this.linkList[a].id === row.id) {
this.linkList.splice(a, 1)
}
}
this.linkList.forEach((item, index) => {
let json = {}
json.id = item.id
json.orderBy = index + 1
arr.push(json)
})
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(arr), {}, res => {
if (res.ok) {
this.linkListFirst = []
this.getLink()
}
})
} else {
this.$message.warning(res.message)
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
//头部删除按钮
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) {
this.$message.warning('请选择要删除的链接')
} else {
this.modalRole = true
this.$confirm('此操作将删除链接, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http.delete('sarUrl/tsUrl/deleteBatch', {
ids: this.ids
}, {}, res => {
if (res.ok) {
this.$message.success('删除成功')
let arr = this.linkList.filter(items => {
if (!this.ids.includes(items.id)) return items;
})
let newArr = []
arr.forEach((item, index) => {
let json = {}
json.id = item.id
json.orderBy = index + 1
newArr.push(json)
})
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(newArr), {}, res => {
if (res.ok) {
this.linkListFirst = []
this.getLink()
}
})
} else {
this.$message.warning(res.message)
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
}
},
/** 链接图片上传 */
//
handleAvatarSuccess(res, file, fileList) {
if (res.ok) {
this.imageUrl = URL.createObjectURL(file.raw)
this.sarStandardsInfoEO.icon = res.data.attId
this.$message({
showClose: true,
message: res.message,
type: 'success'
})
}
},
// 链接图片上传格式限制
beforeAvatarUpload(file) {
const index = file.name.lastIndexOf('.')
const ext = file.name.substr(index + 1)
const isJPG = (file.type === 'image/jpeg' || file.type === 'image/png');
const isType = (ext === 'jpg' || ext === 'png')
const isLt2M = file.size / 1024 / 1024 < 2;
if (!isJPG || !isType) {
this.$message.error('上传头像图片只能是 .jpg、.png 格式!');
}
if (!isLt2M) {
this.$message.error('上传头像图片大小不能超过 2MB!');
}
return isJPG && isLt2M && isType;
},
//弹窗关闭操作
resetForm() {
this.$refs['sarStandardsInfoForm'].resetFields();
this.imageUrl = ''
this.modalshowflag = false
},
//弹窗确认操作
submit() {
this.$refs['sarStandardsInfoForm'].validate((valid) => {
if (valid) {
if (this.type === 1) {
this.$http.postData('sarUrl/tsUrl/add', {
...this.sarStandardsInfoEO,
}, {
_this: this,
loading: 'Loading'
}, res => {
if (res.ok) {
this.$message.success('新增成功')
this.modalshowflag = false
this.imageUrl = ''
this.linkListFirst = []
this.getLink()
} else {
this.$message.warning(res.message)
}
})
} else {
// 编辑
this.$http.putData('/sarUrl/tsUrl/edit', {
id: this.editId,
name: this.sarStandardsInfoEO.name,
type: this.sarStandardsInfoEO.type,
url: this.sarStandardsInfoEO.url,
icon: this.sarStandardsInfoEO.icon
}, {
_this: this,
loading: 'Loading'
}, res => {
if (res.ok) {
this.$message.success('修改成功')
this.modalshowflag = false
this.linkListFirst = []
this.getLink()
} else {
this.$message.warning(res.message)
}
})
}
} else {
return false;
}
});
},
//表格中操作列
handleCommand(command) {
switch (command[1]) {
case '删除':
this.deleteLink(command[0])
break
case '编辑':
this.editLink(command[0])
break
}
},
//表格中操作列编辑操作弹窗
editLink(row) {
this.type = 2
this.editId = row.id
this.sarStandardsInfoEO.name = row.name
this.sarStandardsInfoEO.url = row.url
this.sarStandardsInfoEO.sortId = row.sortId
this.sarStandardsInfoEO.icon = row.icon
if (row.icon !== '') {
let imgId = {
id: row.id
}
// 图片转base64
getImg(imgId).then(res => {
if (res.ok) {
const src =
"data:image/png;base64," +
btoa(
new Uint8Array(res).reduce(
(data, byte) => data + String.fromCharCode(byte), "")
)
this.imageUrl = src
}
})
}
this.dialogTitle = '修改链接'
this.modalshowflag = true
},
//多选框选择
handleSelectionChange(val) {
this.selectList = val
},
// 获取链接数据
getLink() {
this.$http.get('sarUrl/tsUrl', {}, {
_this: this,
loading: 'Loading'
}, res => {
this.Loading = true
this.linkList = res.data
res.data.forEach(item => {
if (item.type === 1) {
this.linkListFirst.push(item)
}
})
if (this.linkListFirst.length === 0) {
this.Loading = false
}
this.linkListFirst.forEach(item => {
if (item.icon !== '') {
let imgId = {
id: item.id
}
// 图片转base64
getImg(imgId).then(res => {
const src =
"data:image/png;base64," +
btoa(
new Uint8Array(res).reduce(
(data, byte) => data + String.fromCharCode(byte), "")
)
item.icon = src
})
this.Loading = false
}
})
this.initSortable()
})
},
initSortable() {
this.sortData = [...this.linkListFirst]
const el = document.querySelector('.el-table__body-wrapper tbody')
//创建拖拽对象
this.sortable = Sortable.create(el, {
sort: true, //是否可进行拖拽排序
animation: 150,
onEnd: ({newIndex, oldIndex}) => {
const val = this.sortData[oldIndex]
this.sortData.splice(oldIndex, 1)
this.sortData.splice(newIndex, 0, val)
this.sortData.forEach((item, index) => {
item.orderBy = index + 1
})
let arr = []
this.sortData.forEach(item => {
let json = {}
json.id = item.id
json.orderBy = item.orderBy
arr.push(json)
})
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(arr), {}, res => {
if (res.ok) {
this.$message.success('保存成功')
} else {
this.$message.warning('保存失败!')
}
})
}
})
},
},
mounted() {
this.getLink();
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/mixins';
#post-manage {
height: 100%;
.content {
height: calc(~'100% - 53px')
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
margin-top: 10px;
border-color: #409EFF;
}
.avatar-uploader {
margin-top: 10px;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
}
.avatar {
width: 100px;
height: 100px;
display: block;
}
.filter-tree {
height: calc(~'100% - 50px')
}
/deep/ .el-input.is-disabled .el-input__inner {
background-color: #fff;
}
}
</style>
@@ -0,0 +1,564 @@
<!-- 配置管理 - 链接管理 -->
<template>
<div id="post-manage">
<!-- 头部操作按钮-->
<div class="action-bar">
<el-button
type="primary"
class="common-button-primary add-button"
@click="addLink"
v-btn-permission="'980cb239683de9e29ee5335cec98e5b4'"
size="mini">新增
</el-button>
<!-- <el-button
type="primary"
class="common-button-primary add-button"
@click="linkOrder"
v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"
size="mini">顺序调整
</el-button>-->
<el-button
type="danger"
class="common-button-primary add-button"
@click="deleteAllLink"
v-btn-permission="'779665b2e4bb20fc480cf9372a100f69'"
size="mini">删除
</el-button>
</div>
<!-- 表格-->
<div class="content">
<el-table
:data="linkListSecond"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
height="100%"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="handleSelectionChange">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="orderBy"
label="序号"
align="center"
width="50px">
</el-table-column>
<el-table-column
prop="name"
label="链接名称">
</el-table-column>
<el-table-column
prop="icon"
label="链接图标">
<template slot-scope="scope">
<img v-if="scope.row.icon !== ''" style="height: 50px;width: 50px" :src="scope.row.icon">
<span v-else>{{ '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="url"
show-overflow-tooltip
label="链接">
<template slot-scope="scope">
<span v-if="scope.row.url.slice(0,7) === 'http://' || scope.row.url.slice(0,8) === 'https://'" @click="linkto(scope.row.url)" style="color: #0c91e5;cursor: pointer;text-decoration: underline">
{{ scope.row.url }}
</span>
<span v-else @click="linkto('http://' + scope.row.url)" style="color: #0c91e5;cursor: pointer;text-decoration: underline">
{{ 'http://' + scope.row.url }}
</span>
</template>
</el-table-column>
<el-table-column
label="操作"
width="50px">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-btn-permission="'0fbb849e244e07433a90180fb314ad10'" :command="[scope.row, '删除']">
删除
</el-dropdown-item>
<el-dropdown-item v-btn-permission="'fa0846d977aeef07e9cb7faf648f8f7f'" :command="[scope.row, '编辑']">
编辑
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</div>
<loading :loading="Loading">加载中...</loading>
<!-- 新增链接弹窗-->
<el-dialog
:close-on-click-modal="false"
:title="dialogTitle"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px"
@close="resetForm"
>
<el-form
ref="sarStandardsInfoForm"
:model="sarStandardsInfoEO"
:rules="sarStandardsInfoRules"
class="label-input-form"
>
<el-form-item label="链接类型" prop="type" label-width="150px" class="add-form-item">
<el-input :disabled="true" v-if="sarStandardsInfoEO.type === 2" value="第二行链接"/>
</el-form-item>
<el-form-item label="链接名称" prop="name" label-width="150px" class="add-form-item">
<el-input
v-model="sarStandardsInfoEO.name"
placeholder="请输入链接名称"
maxlength="30"
show-word-limit
clearable></el-input>
</el-form-item>
<el-form-item label="链接图标" prop="icon" label-width="150px" class="add-form-item">
<el-upload
v-model="sarStandardsInfoEO.icon"
class="avatar-uploader"
:action="uploadUrl"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
<el-form-item label="链接" prop="url" label-width="150px" class="add-form-item">
<el-input
v-model="sarStandardsInfoEO.url"
maxlength="100"
show-word-limit
placeholder="请输入链接">
</el-input>
</el-form-item>
</el-form>
<span slot="footer" class="demo-drawer-footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="resetForm">取消</el-button>
<el-button type="primary" size="mini" class="common-button-primary" icon="el-icon-check" @click="submit">确定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import Sortable from 'sortablejs'
import {getImg} from '@/api/linkApi.js'
import listOfCost from "../../../../regulatoryRepository/dataStatis/page/listOfCost";
export default {
name: "secondLink",
data() {
return {
editId: '',
type: '', // 1为新增 2为编辑
dialogTitle: '',
submitLoading: false,
// 向后台传参使用
data: [],
Loading: false,
modalshowflag: false,
// 排序
order: [],
// 表格选取的
selectList: [],
selectId: [],
ids: '',
// 向后台传参使用
sarStandardsInfoEO: {
name: '',
url: '',
icon: '',
type: 2,
// sortId: ''
},
//新增链接未输入时提示
sarStandardsInfoRules: {
name: [
{required: true, message: '请输入链接名称', trigger: 'blur'}
],
url: [
{required: true, message: '请输入链接', trigger: 'blur'}
]
},
modalRole: false,
props: {
label: 'name',
children: 'children'
},
linkList: [],
linkListSecond: [],
sortData: [],
imageUrl: '',
uploadUrl: 'api/att/attFile/upload',
verifyImg: ''
}
},
methods: {
//链接点击跳转,链接形式为http://xxxxxx
linkto(link_href) {
window.open(link_href)
},
//头部新增按钮
addLink() {
this.type = 1
this.dialogTitle = '新增链接'
this.modalshowflag = true
},
//表格中操作列删除操作弹窗
deleteLink(row) {
this.$confirm('此操作将删除该链接, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http.delete('sarUrl/tsUrl/delete', {
id: row.id
}, {
_this: this,
loading: 'Loading'
}, res => {
if (res.ok) {
this.$message.success('删除成功')
let arr = []
for (let a = 0; a < this.linkList.length; a++) {
if (this.linkList[a].id === row.id) {
this.linkList.splice(a, 1)
}
}
this.linkList.forEach((item, index) => {
let json = {}
json.id = item.id
json.orderBy = index + 1
arr.push(json)
})
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(arr), {}, res => {
if (res.ok) {
this.linkListSecond = []
this.getLink()
}
})
} else {
this.$message.warning(res.message)
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
//头部删除按钮
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) {
this.$message.warning('请选择要删除的链接')
} else {
this.modalRole = true
this.$confirm('此操作将删除链接, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http.delete('sarUrl/tsUrl/deleteBatch', {
ids: this.ids
}, {}, res => {
if (res.ok) {
this.$message.success('删除成功')
let arr = this.linkList.filter(items => {
if (!this.ids.includes(items.id)) return items;
})
let newArr = []
arr.forEach((item, index) => {
let json = {}
json.id = item.id
json.orderBy = index + 1
newArr.push(json)
})
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(newArr), {}, res => {
if (res.ok) {
this.linkListSecond = []
this.getLink()
}
})
} else {
this.$message.warning(res.message)
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
}
},
/** 链接图片上传 */
//
handleAvatarSuccess(res, file, fileList) {
if (res.ok) {
this.imageUrl = URL.createObjectURL(file.raw)
this.sarStandardsInfoEO.icon = res.data.attId
this.$message({
showClose: true,
message: res.message,
type: 'success'
})
}
},
// 链接图片上传格式限制
beforeAvatarUpload(file) {
const index = file.name.lastIndexOf('.')
const ext = file.name.substr(index + 1)
const isJPG = (file.type === 'image/jpeg' || file.type === 'image/png');
const isType = (ext === 'jpeg' || ext === 'jpg' || ext === 'png')
const isLt2M = file.size / 1024 / 1024 < 2;
if (!isJPG || !isType) {
this.$message.error('上传头像图片只能是 .jpg、.jpeg、.png 格式!');
}
if (!isLt2M) {
this.$message.error('上传头像图片大小不能超过 2MB!');
}
return isJPG && isLt2M && isType;
},
//弹窗关闭操作
resetForm() {
this.$refs['sarStandardsInfoForm'].resetFields();
this.imageUrl = ''
this.modalshowflag = false
},
//弹窗确认操作
submit() {
this.$refs['sarStandardsInfoForm'].validate((valid) => {
if (valid) {
if (this.type === 1) {
this.$http.postData('sarUrl/tsUrl/add', {
...this.sarStandardsInfoEO,
}, {
_this: this,
loading: 'Loading'
}, res => {
if (res.ok) {
this.$message.success('新增成功')
this.modalshowflag = false
this.linkListSecond = []
this.getLink()
} else {
this.$message.warning(res.message)
}
})
} else {
// 编辑
this.$http.putData('/sarUrl/tsUrl/edit', {
id: this.editId,
type: this.sarStandardsInfoEO.type,
url: this.sarStandardsInfoEO.url,
icon: this.sarStandardsInfoEO.icon
}, {
_this: this,
loading: 'Loading'
}, res => {
if (res.ok) {
this.$message.success('修改成功')
this.modalshowflag = false
this.linkListSecond = []
this.getLink()
} else {
this.$message.warning(res.message)
}
})
}
} else {
return false;
}
});
},
//表格中操作列
handleCommand(command) {
switch (command[1]) {
case '删除':
this.deleteLink(command[0])
break
case '编辑':
this.editLink(command[0])
break
}
},
//表格中操作列编辑操作弹窗
editLink(row) {
this.type = 2
this.editId = row.id
this.sarStandardsInfoEO.name = row.name
this.sarStandardsInfoEO.url = row.url
this.sarStandardsInfoEO.sortId = row.sortId
this.sarStandardsInfoEO.icon = row.icon
if (row.icon !== '') {
let imgId = {
id: row.id
}
// 图片转base64
getImg(imgId).then(res => {
const src =
"data:image/png;base64," +
btoa(
new Uint8Array(res).reduce(
(data, byte) => data + String.fromCharCode(byte), "")
)
this.imageUrl = src
})
}
this.dialogTitle = '修改链接'
this.modalshowflag = true
},
//多选框选择
handleSelectionChange(val) {
this.selectList = val
},
// 获取链接数据
getLink() {
this.$http.get('sarUrl/tsUrl', {}, {
_this: this,
loading: 'Loading'
}, res => {
this.Loading = true
this.linkList = res.data
res.data.forEach(item => {
if (item.type === 2) {
this.linkListSecond.push(item)
}
})
if (this.linkListSecond.length === 0) {
this.Loading = false
}
this.linkListSecond.forEach(item => {
if (item.icon !== '') {
let imgId = {
id: item.id
}
// 图片转base64
getImg(imgId).then(res => {
const src =
"data:image/png;base64," +
btoa(
new Uint8Array(res).reduce(
(data, byte) => data + String.fromCharCode(byte), "")
)
item.icon = src
})
this.Loading = false
}
})
this.initSortable()
})
},
initSortable() {
this.sortData = [...this.linkListSecond]
const el = document.querySelector('.el-table__body-wrapper tbody')
//创建拖拽对象
this.sortable = Sortable.create(el, {
sort: true, //是否可进行拖拽排序
animation: 150,
onEnd: ({newIndex, oldIndex}) => {
const val = this.sortData[oldIndex]
this.sortData.splice(oldIndex, 1)
this.sortData.splice(newIndex, 0, val)
this.sortData.forEach((item, index) => {
item.orderBy = index + 1
})
let arr = []
this.sortData.forEach(item => {
let json = {}
json.id = item.id
json.orderBy = item.orderBy
arr.push(json)
})
this.$http.putData('sarUrl/tsUrl/updateOrder', JSON.stringify(arr), {}, res => {
if (res.ok) {
this.$message.success('保存成功')
} else {
this.$message.warning('保存失败!')
}
})
}
})
},
},
mounted() {
this.getLink();
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/mixins';
#post-manage {
height: 100%;
.content {
height: calc(~'100% - 53px')
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
margin-top: 10px;
border-color: #409EFF;
}
.avatar-uploader {
margin-top: 10px;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
}
.avatar {
width: 100px;
height: 100px;
display: block;
}
.filter-tree {
height: calc(~'100% - 50px')
}
/deep/ .el-input.is-disabled .el-input__inner {
background-color: #fff;
}
}
</style>
+2 -15
View File
@@ -4,15 +4,13 @@
<el-divider content-position="left" v-if="unfit.length < 1 && fit.length < 1" >暂无评估结果</el-divider> <el-divider content-position="left" v-if="unfit.length < 1 && fit.length < 1" >暂无评估结果</el-divider>
<!-- 不满足--> <!-- 不满足-->
<el-divider content-position="left" v-if="unfit.length" >不满足</el-divider> <el-divider content-position="left" v-if="unfit.length" >不满足</el-divider>
<div class="content">
<el-table <el-table
height="100%"
ref="selection" ref="selection"
v-if="unfit.length" v-if="unfit.length"
:data="unfit" :data="unfit"
tooltip-effect="dark" tooltip-effect="dark"
border border
style="width: 100%; min-height: 300px; margin-bottom: 30px;" style="width: 100%; min-height: 400px; margin-bottom: 30px;"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"> fontWeight: 'bold', height: '48px'}">
<el-table-column <el-table-column
@@ -60,19 +58,16 @@
</el-table> </el-table>
<!-- <pagination :page="page" :total="total" @pageChange="pageChange"--> <!-- <pagination :page="page" :total="total" @pageChange="pageChange"-->
<!-- @pageSizeChange="pageSizeChange"></pagination>--> <!-- @pageSizeChange="pageSizeChange"></pagination>-->
</div>
<!--满足--> <!--满足-->
<el-divider content-position="left" v-if="fit.length">满足</el-divider> <el-divider content-position="left" v-if="fit.length">满足</el-divider>
<div class="content">
<el-table <el-table
height="100%"
ref="selection" ref="selection"
v-if="fit.length" v-if="fit.length"
:data="fit" :data="fit"
tooltip-effect="dark" tooltip-effect="dark"
border border
style="width: 100%; min-height: 300px; margin-bottom: 30px;" style="width: 100%; min-height: 400px; margin-bottom: 30px;"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"> fontWeight: 'bold', height: '48px'}">
<el-table-column <el-table-column
@@ -103,7 +98,6 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div>
<!-- <pagination :page="page" :total="total" @pageChange="pageChange"--> <!-- <pagination :page="page" :total="total" @pageChange="pageChange"-->
<!-- @pageSizeChange="pageSizeChange"></pagination>--> <!-- @pageSizeChange="pageSizeChange"></pagination>-->
<loading :loading="loading">加载中...</loading> <loading :loading="loading">加载中...</loading>
@@ -170,12 +164,5 @@ export default {
//width: 1200px; //width: 1200px;
//margin: 0 auto; //margin: 0 auto;
height: 100%; height: 100%;
.content{
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'50% - 30px');
overflow: auto;
}
} }
</style> </style>
@@ -22,6 +22,56 @@
style="border-top:none;position: absolute;right: 36px;"> style="border-top:none;position: absolute;right: 36px;">
<div class="modular-header" style="height: 50px;"> <div class="modular-header" style="height: 50px;">
<div class="modular-header-btn"> <div class="modular-header-btn">
<el-button type="warning" icon="el-icon-edit" @click="businessCommentDialog = true">企标评价</el-button>
<el-dialog title="企业标准动态评价表" :visible.sync="businessCommentDialog" width="80%">
<el-table ref="businessCommentTable" :data="businessCommentTable" border style="width: 100%; flex: auto;margin-bottom: 2%"
class="drag-table"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="index"
label="序号"
width="55"
align="center"
/>
<el-table-column property="commentTarget" label="评价指标" width="300">
</el-table-column>
<el-table-column prop="targetScore" label="指标分值" width="160">
<template slot-scope="scope">
<el-rate
v-model="scope.row.targetScore"
@change="targetScoreChange"
allow-half>
</el-rate>
</template>
</el-table-column>
<el-table-column property="averageScore" label="动态评价分值">
<template slot-scope="scope">
<el-rate
v-model="value"
disabled
show-score
text-color="#ff9900"
score-template="{value}">
</el-rate>
<el-input v-model="scope.row.averageScore" style="margin: 10px 0;" />
</template>
</el-table-column>
<el-table-column property="address" label="简述理由"></el-table-column>
</el-table>
<el-form :model="businessCommentForm">
<el-form-item label="对标准的意见和建议,是否需要修订">
<template>
<el-radio v-model="revise" label="1">是</el-radio>
<el-radio v-model="revise" label="0">否</el-radio>
<el-input v-show="revise === '1'"
placeholder="请填写修订理由"
type="textarea"
:rows="2"></el-input>
</template>
</el-form-item>
</el-form>
</el-dialog>
<el-button v-if="sarStandardsInfoEO.collectId" @click="collectClick(sarStandardsInfoEO.collectId)" title="取消收藏" class="collection-btn" icon="el-icon-star-on" :loading="isSubmit"></el-button> <el-button v-if="sarStandardsInfoEO.collectId" @click="collectClick(sarStandardsInfoEO.collectId)" title="取消收藏" class="collection-btn" icon="el-icon-star-on" :loading="isSubmit"></el-button>
<el-button v-else @click="collectClick()" title="收藏" class="collection-btn" icon="el-icon-star-off" :loading="isSubmit"></el-button> <el-button v-else @click="collectClick()" title="收藏" class="collection-btn" icon="el-icon-star-off" :loading="isSubmit"></el-button>
<el-button class="relation-btn" icon="icon-relation" @click="relateEvent()">更新记录</el-button> <el-button class="relation-btn" icon="icon-relation" @click="relateEvent()">更新记录</el-button>
@@ -987,6 +1037,19 @@ export default {
}, },
data () { data () {
return { return {
targetScore: '',
businessCommentDialog: false,
businessCommentForm: {},
revise: '',
businessCommentTable: [{
commentTarget: '企业标准内容完整、要求合理(指标、流程等。)',
}, {
commentTarget: '企业标准便于实施应用',
}, {
commentTarget: '标准编写规范,内容清晰易理解',
}, {
commentTarget: '标准对我的实际工作很有帮助',
}],
activeNames: ['基础信息','过程稿件','实施日期'], activeNames: ['基础信息','过程稿件','实施日期'],
activeState: true, activeState: true,
visiblePlanCheck: false, visiblePlanCheck: false,
@@ -1194,6 +1257,9 @@ export default {
watch: { watch: {
}, },
methods: { methods: {
targetScoreChange(row){
console.log('1234',row)
},
child1Func(child1){ child1Func(child1){
const list = [] const list = []
if(child1 && child1.length > 1){ if(child1 && child1.length > 1){
@@ -3,7 +3,10 @@
<div class="other-standard-details v-class" :class="{'hidden': !isMoreAwayBtn}"> <div class="other-standard-details v-class" :class="{'hidden': !isMoreAwayBtn}">
<!--title 标题--> <!--title 标题-->
<div class="details-header"> <div class="details-header">
<span>{{ sarStandardsInfoEO.standSortShow || '' }} {{ <span v-if="sarStandardsInfoEO.standYear === null">{{ sarStandardsInfoEO.standSortShow || '' }} {{
sarStandardsInfoEO.standNumber
}} 《{{ sarStandardsInfoEO.standName }}》</span>
<span v-else>{{ sarStandardsInfoEO.standSortShow || '' }} {{
sarStandardsInfoEO.standNumber sarStandardsInfoEO.standNumber
}}-{{ sarStandardsInfoEO.standYear }} 《{{ sarStandardsInfoEO.standName }}》</span> }}-{{ sarStandardsInfoEO.standYear }} 《{{ sarStandardsInfoEO.standName }}》</span>
</div> </div>
@@ -46,7 +49,7 @@
<div class="details-content-modular basic-information" style="border-top:none"> <div class="details-content-modular basic-information" style="border-top:none">
<div class="basic-information-content"> <div class="basic-information-content">
<!-- <p><label style=" margin-right: 150px;">标准类别</label><span>{{ sarStandardsInfoEO.standSort || '-' }}</span></p>--> <!-- <p><label style=" margin-right: 150px;">标准类别</label><span>{{ sarStandardsInfoEO.standSort || '-' }}</span></p>-->
<p style="color: #C42626;" class=""> <p class="">
<label style=" margin-right: 164px;">标准号</label> <label style=" margin-right: 164px;">标准号</label>
<span v-if="sarStandardsInfoEO.standYear">{{ <span v-if="sarStandardsInfoEO.standYear">{{
sarStandardsInfoEO.standSortShow + ' ' + sarStandardsInfoEO.standNumber + '-' + sarStandardsInfoEO.standYear sarStandardsInfoEO.standSortShow + ' ' + sarStandardsInfoEO.standNumber + '-' + sarStandardsInfoEO.standYear
@@ -106,7 +109,7 @@
<label style=" margin-right: 150px;" <label style=" margin-right: 150px;"
title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。" title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。"
>文本状态</label> >文本状态</label>
<span style="color: #409EFF;">{{ textStatusMap[sarStandardsInfoEO.textStatus] || '-' }}</span> <span>{{ textStatusMap[sarStandardsInfoEO.textStatus] || '-' }}</span>
</p> </p>
<p class="half"><label style=" margin-right: 150px;">发布日期</label><span>{{ <p class="half"><label style=" margin-right: 150px;">发布日期</label><span>{{
sarStandardsInfoEO.issueTime || '-' sarStandardsInfoEO.issueTime || '-'
@@ -3599,13 +3602,14 @@ export default {
} }
& > div:not(.modular-item-more) { & > div:not(.modular-item-more) {
/*border-bottom: 1px solid #E5E5E5;*/ //英文名称变粗
border-bottom: 1px solid #E5E5E5;
min-height: 43px; min-height: 43px;
line-height: 43px; line-height: 43px;
.modular-content-p-name { .modular-content-p-name {
display: inline-block; display: inline-block;
width: 220px; width: 213px;
height: 43px; height: 43px;
line-height: 43px; line-height: 43px;
font-size: 16px; font-size: 16px;
@@ -3619,10 +3623,10 @@ export default {
.modular-content-p-val { .modular-content-p-val {
display: inline-block; display: inline-block;
width: calc(~'100% - 225px'); width: calc(~'100% - 225px');
min-height: 50px; //min-height: 50px;
line-height: 50px; //line-height: 50px;
font-size: 16px; //font-size: 16px;
color: #999999; //color: #999999;
word-break: break-all; word-break: break-all;
//overflow: hidden; //overflow: hidden;
//white-space: nowrap; //white-space: nowrap;
@@ -3636,9 +3640,10 @@ export default {
& > .files-title { & > .files-title {
width: calc(~'100% - 120px'); width: calc(~'100% - 120px');
min-height: 50px; //报批稿撑开
line-height: 50px; //min-height: 50px;
font-size: 16px; //line-height: 50px;
//font-size: 16px;
color: #409EFF; color: #409EFF;
& > a { & > a {
@@ -3668,7 +3673,8 @@ export default {
.decomposition-btn { .decomposition-btn {
position: absolute; position: absolute;
top: 10px; //报批稿撑开
//top: 10px;
right: 0; right: 0;
padding: 0 10px; padding: 0 10px;
height: 30px; height: 30px;
+6 -6
View File
@@ -3,7 +3,7 @@
<div> <div>
<div v-if="label" class="icon-style"> <div v-if="label" class="icon-style">
<span v-for="item in icons" v-if="item.label === label" :class="item.icon" style="font-size: 20px;"> <span v-for="item in icons" v-if="item.label === label" :class="item.icon" style="font-size: 20px;">
<span style="padding-left: 10px; font-size: 16px"> <span style="font-size: 15px;">
{{ label }} {{ label }}
</span> </span>
</span> </span>
@@ -67,7 +67,7 @@
<style lang="less" scoped> <style lang="less" scoped>
.wx-card { .wx-card {
line-height: 70px; line-height: 50px;
text-align: center; text-align: center;
background: #fff; background: #fff;
display: flex; display: flex;
@@ -79,7 +79,7 @@
& > div { & > div {
border-radius: 5px; border-radius: 5px;
width: 100%; width: 100%;
height: 70px; height: 50px;
color: #fff; color: #fff;
background-color: #4788c0; background-color: #4788c0;
} }
@@ -91,7 +91,7 @@
} }
} }
.wx-card1 { .wx-card1 {
line-height: 70px; line-height: 50px;
text-align: center; text-align: center;
background: #fff; background: #fff;
display: flex; display: flex;
@@ -102,7 +102,7 @@
padding-left: 10px; padding-left: 10px;
& > div { & > div {
width: 100%; width: 100%;
height: 70px; height: 50px;
background: #fff; background: #fff;
border: 2px dashed #E4E4E4; border: 2px dashed #E4E4E4;
border-radius: 5px; border-radius: 5px;
@@ -119,7 +119,7 @@
display: flex; display: flex;
align-items: center; align-items: center;
.el-icon-circle-plus-outline { .el-icon-circle-plus-outline {
font-size: 50px; font-size: 40px;
color: #E4E4E4; color: #E4E4E4;
} }
} }
+207 -189
View File
@@ -1,202 +1,220 @@
<!-- 尾部链接 --> <!-- 尾部链接 -->
<template> <template>
<div class="link" id="link"> <div class="link" id="link">
<!-- 此部分暂时这样写,到后面做修改 --> <!-- 此部分暂时这样写,到后面做修改 -->
<div style="display: inline-block;width: 15%;"> <div style="display: inline-block;width: 15%;">
<span class="title borderRight">友情链接</span> <span class="title borderRight">友情链接</span>
</div>
<div style="display: inline-block;width: 80%;text-align: center">
<div>
<el-row>
<el-col :span="4">
<a style="color: #0068B7;" href="http://www.sac.gov.cn/" target="_blank">国标委</a>
</el-col>
<el-col :span="1">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="4">
<a style="color: #0068B7;" href="http://www.catarc.org.cn/" target="_blank">汽标委</a>
</el-col>
<el-col :span="1">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="4">
<a style="color: #0068B7;" href="http://openstd.samr.gov.cn/bzgk/gb/index" target="_blank">国标全文公开</a>
</el-col>
<el-col :span="1">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="4">
<a style="color: #0068B7;" href="http://std.samr.gov.cn/" target="_blank">全国标准信息公共服务</a>
</el-col>
<el-col :span="1">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="4">
<a style="color: #0068B7;" href="http://jtst.mot.gov.cn/" target="_blank">交通部标准信息</a>
</el-col>
</el-row>
</div>
<div>
<el-row>
<el-col :span="4">
<a style="color: #0068B7;" href="https://www.un.org/zh/aboutun/structure/unece/" target="_blank">欧洲经济委员会</a>
</el-col>
<el-col :span="1">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="4">
<a style="color: #0068B7;" href="https://eur-lex.europa.eu" target="_blank">欧盟</a>
</el-col>
<el-col :span="1">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="4">
<a style="color: #0068B7;" href="https://www.interregs.com/" target="_blank">InterRegs </a>
</el-col>
<el-col :span="1">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="4">
<a style="color: #0068B7;" href="https://tbt.sist.org.cn/cslm/wtotbttb/" target="_blank">WTO/TBT通报</a>
</el-col>
<el-col :span="1">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="4">
<a style="color: #0068B7;" href="https://www.iso.org/home.html" target="_blank">ISO</a>
</el-col>
</el-row>
</div>
</div>
<div style="display: inline-block;width: 15%;">
<span class="borderLeft"></span>
<span class="myLi1" @click="$router.push('linkManage')">更多链接 ⋙</span></div>
<!-- <div>
<span class="myLi1 borderRight" v-for="(link, index) in linkList" :key="index" @click="openLinkUrl(link.url)" :title="link.name" >
{{ link.name }}
</span>
<span class="myLi1" @click="$router.push('linkManage')">更多链接 ⋙</span>
</div>
<div v-show="false">
<span class="myLi1 borderRight" v-for="(link, index) in linkList" :key="index" @click="openLinkUrl(link.url)" :title="link.name" >
{{ link.name }}
</span>
<span class="myLi1" @click="$router.push('linkManage')">更多链接 ⋙</span>
</div>-->
</div> </div>
<div style="display: inline-block;width: 80%;text-align: center">
<div>
<el-row>
<span v-for="(item, index) in linkListFirst" :key="index">
<el-col :span="4">
<img
style="height: 10px;width: 10px;margin-bottom: 3px"
:src="item.icon"
v-if="index < 5">
<a v-if="index < 5" style="color: #0068B7;" @click="openLinkUrl(item.url)" target="_blank">
{{ item.name }}
</a>
</el-col>
<el-col :span="1" v-if="index < 4" v-show="true">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="1" v-else v-show="false">
<span class="borderMiddle"></span>
</el-col>
</span>
</el-row>
</div>
<div>
<el-row>
<span v-for="(item, index) in linkListSecond" :key="index">
<el-col :span="4">
<img
style="height: 10px;width: 10px;margin-bottom: 3px"
:src="item.icon"
v-if="index < 5">
<a v-if="index < 5" style="color: #0068B7;" @click="openLinkUrl(item.url)" target="_blank">
{{ item.name }}
</a>
</el-col>
<el-col :span="1" v-if="index < 4" v-show="true">
<span class="borderMiddle"></span>
</el-col>
<el-col :span="1" v-else v-show="false">
<span class="borderMiddle"></span>
</el-col>
</span>
</el-row>
</div>
</div>
<div style="display: inline-block;width: 15%;">
<span class="borderLeft"></span>
<span class="myLi1" @click="$router.push('linkManage')">更多链接 ⋙</span>
</div>
</div>
</template> </template>
<script> <script>
export default { import {getImg} from '@/api/linkApi.js'
name: 'Empennage',
components: {},
mixins: [],
data() {
return {
linkList: [],
width: ''
}
},
computed: {},
watch: {
width(val) {
console.log(val);
}
},
mounted() {
this.getLink();
this.width = document.getElementById("link").offsetWidth
let self = this
this.screenWidth = document.body.clientWidth
window.onresize = () => {
return (() => {
console.log(document.body.clientWidth);
})
}
},
methods: {
// 跳转链接
openLinkUrl (linkUri) {
let getHttp = linkUri.substring(0, 7)
let getHttps = linkUri.substring(0, 8)
if (getHttp === 'http://' || getHttps === 'https://') {
window.open(linkUri)
} else {
window.open('https://' + linkUri)
}
},
// 获取链接数据
getLink () {
var width = document.getElementById("link").offsetWidth
this.$http.get('sarUrl/tsUrl', {
}, {
_this: this,
loading: 'Loading'
}, res=> {
let b = 0
let c = 0
for (let a = 0; a < res.data.length; a++) {
b += res.data[a].name.length * 14 + 100
if (b > width) {
c = a - 1
} else {
c = a
}
}
let list
list = res.data.slice(0, c)
this.linkList = list
})
}
},
export default {
name: 'Empennage',
components: {},
mixins: [],
data() {
return {
linkListFirst: [],
linkListSecond: [],
width: '',
verifyImg: '',
} }
},
computed: {},
watch: {
width(val) {
console.log(val);
}
},
mounted() {
this.getLink();
/*this.width = document.getElementById("link").offsetWidth
let self = this
this.screenWidth = document.body.clientWidth
window.onresize = () => {
return (() => {
console.log(document.body.clientWidth);
})
}*/
},
methods: {
// 跳转链接
openLinkUrl(linkUri) {
let getHttp = linkUri.substring(0, 7)
let getHttps = linkUri.substring(0, 8)
if (getHttp === 'http://' || getHttps === 'https://') {
window.open(linkUri)
} else {
window.open('https://' + linkUri)
}
},
// 获取链接数据
getLink() {
// var width = document.getElementById("link").offsetWidth
this.$http.get('sarUrl/tsUrl', {}, {
_this: this,
loading: 'Loading'
}, res => {
/* let b = 0
let c = 0
for (let a = 0; a < res.data.length; a++) {
b += res.data[a].name.length * 14 + 100
if (b > width) {
c = a - 1
} else {
c = a
}
}*/
/*let list
list = res.data*/
res.data.forEach(item => {
if (item.type === 1) {
this.linkListFirst.push(item)
} else if (item.type === 2) {
this.linkListSecond.push(item)
}
})
this.linkListFirst.forEach(item => {
if (item.icon !== '') {
let imgId = {
id: item.id
}
// 图片转base64
getImg(imgId).then(res => {
const src =
"data:image/png;base64," +
btoa(
new Uint8Array(res).reduce(
(data, byte) => data + String.fromCharCode(byte), "")
)
item.icon = src
})
}
})
this.linkListSecond.forEach(item => {
if (item.icon !== '') {
let imgId = {
id: item.id
}
// 图片转base64
getImg(imgId).then(res => {
const src =
"data:image/png;base64," +
btoa(
new Uint8Array(res).reduce(
(data, byte) => data + String.fromCharCode(byte), "")
)
item.icon = src
})
}
})
})
},
},
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.link { .link {
margin-right: 10px; margin-right: 10px;
display: flex; display: flex;
border-radius: 3px; border-radius: 3px;
height: 100%; height: 100%;
align-items: center; align-items: center;
box-shadow: 1px 1px 10px rgba(0,0,0,0.1); box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1);
.borderRight {
//padding-right: 50px; .borderRight {
//margin-right: 50px; //padding-right: 50px;
border-right: 2px dotted #aaa; //margin-right: 50px;
} border-right: 2px dotted #aaa;
.borderLeft { }
margin-right: 50px;
//padding-left: 50px; .borderLeft {
//margin-left: 50px; margin-right: 50px;
border-left: 2px dotted #aaa; //padding-left: 50px;
} //margin-left: 50px;
.borderMiddle { border-left: 2px dotted #aaa;
border-left: 2px dotted #aaa; }
}
.title { .borderMiddle {
padding-right: 40px; border-left: 2px dotted #aaa;
font-weight: bold; }
padding-left: 40px;
width: 80px; .title {
} font-size: 15px;
.myLi1 { padding-right: 40px;
cursor: pointer; font-weight: bold;
color: #0068B7; padding-left: 40px;
} width: 80px;
.el-col-4 { }
white-space: nowrap;
text-overflow: ellipsis; .myLi1 {
overflow: hidden; font-size: 15px;
word-break: break-all; cursor: pointer;
line-height: normal; color: #0068B7;
margin-top: 10px; }
font-size: 5px;
} .el-col-4 {
} white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
word-break: break-all;
line-height: normal;
margin-top: 10px;
font-size: 5px;
}
}
</style> </style>
+3 -3
View File
@@ -77,7 +77,7 @@
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
background: #fff; background: #fff;
font-size: 14px; font-size: 15px;
border-radius: 10px; border-radius: 10px;
} }
.menu-wrap { .menu-wrap {
@@ -92,11 +92,11 @@
margin-bottom: 0; margin-bottom: 0;
} }
.wx-card { .wx-card {
height: 70px; height: 50px;
width: 33.333333%; width: 33.333333%;
} }
.wx-card1 { .wx-card1 {
height: 70px; height: 50px;
width: 33.333333%; width: 33.333333%;
} }
.menu-item { .menu-item {
+7 -1
View File
@@ -21,7 +21,7 @@
label="序号" label="序号"
type="index" type="index"
align="center" align="center"
width="50"> width="55">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="standName" prop="standName"
@@ -98,6 +98,12 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
.release { .release {
/deep/.el-table th > .cell {
font-size: 15px;
}
/deep/.el-table td > .cell{
font-size: 13px;
}
width: 100%; width: 100%;
.time-title { .time-title {
margin: 15px; margin: 15px;
@@ -22,8 +22,8 @@
placeholder="请输入关键词" placeholder="请输入关键词"
clearable clearable
></el-input> ></el-input>
<el-button style="box-shadow:1px 1px 10px rgba(0,0,0,0.2);margin-left: 5px;" type="primary" @click="search">一般检索</el-button> <el-button style="box-shadow:1px 1px 10px rgba(0,0,0,0.2);margin-left: 5px;font-size: 15px;" type="primary" @click="search">一般检索</el-button>
<el-button style="box-shadow:1px 1px 10px rgba(0,0,0,0.2);margin-left: 5px;" type="primary" @click="seniorSearch">高级检索</el-button> <el-button style="box-shadow:1px 1px 10px rgba(0,0,0,0.2);margin-left: 5px;font-size: 15px;" type="primary" @click="seniorSearch">高级检索</el-button>
</div> </div>
</div> </div>
</template> </template>
@@ -106,7 +106,7 @@ export default {
width: 18vm; width: 18vm;
height: 40px; height: 40px;
color: #333333; color: #333333;
font-size: 14px; font-size: 15px;
border: 0; border: 0;
border-radius: 3px; border-radius: 3px;
background-color: #FFFFFF; background-color: #FFFFFF;
@@ -21,7 +21,7 @@
label="序号" label="序号"
type="index" type="index"
align="center" align="center"
width="50"> width="55">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="cid" prop="cid"
@@ -91,6 +91,12 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
.solicitopinions { .solicitopinions {
/deep/.el-table th > .cell {
font-size: 15px;
}
/deep/.el-table td > .cell{
font-size: 13px;
}
height: 100%; height: 100%;
width: 100%; width: 100%;
.time-title { .time-title {
+17 -4
View File
@@ -10,7 +10,8 @@
<ul> <ul>
<li v-for="item in toDoTaskList" :key="item.id" class="time-title"> <li v-for="item in toDoTaskList" :key="item.id" class="time-title">
<div style="height: 30px"> <div style="height: 30px">
<span @click="dealWith(item)" style="line-height: 30px; font-size: 12px;">{{ item.prcName }}</span> <span @click="dealWith(item)" v-if="item.prcName.length<25" style="line-height: 30px; font-size: 13px;">{{ item.prcName }}</span>
<span @click="dealWith(item)" v-else style="line-height: 30px; font-size: 13px;">{{ item.prcName.substring(0,25)+'...' }}</span>
</div> </div>
</li> </li>
</ul> </ul>
@@ -614,7 +615,7 @@ export default {
break break
//项目清单确认流程 //项目清单确认流程
case '10' : case '10' :
if(row.taskInfo === '确认人确认'){ if(row.taskInfo === '产品工程经理分发清单'){
this.$router.push({ this.$router.push({
name: 'xmqdqrStep2', name: 'xmqdqrStep2',
query: { query: {
@@ -625,7 +626,7 @@ export default {
prcType: row.prcType prcType: row.prcType
} }
}) })
} else if (row.taskInfo === '标准法规部经理审批') { } else if (row.taskInfo === '确认人确认') {
this.$router.push({ this.$router.push({
name: 'xmqdqrStep3', name: 'xmqdqrStep3',
query: { query: {
@@ -636,6 +637,17 @@ export default {
prcType: row.prcType prcType: row.prcType
} }
}) })
}else if(row.taskInfo === '标准法规部经理审批'){
this.$router.push({
name: 'xmqdqrStep5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} }
break break
case '14': case '14':
@@ -1284,9 +1296,10 @@ export default {
display: inline-block; display: inline-block;
margin: 15px; margin: 15px;
color: #333333; color: #333333;
font-size: 14px; font-size: 15px;
} }
.more { .more {
font-size: 15px;
float: right; float: right;
color: #4788c0; color: #4788c0;
margin: 15px 15px; margin: 15px 15px;
+1 -1
View File
@@ -172,7 +172,7 @@ export default {
.right_wrapper { .right_wrapper {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
width: 37vw; width: 30vw;
height: 100%; height: 100%;
} }
.search-condition { .search-condition {
+15 -3
View File
@@ -641,7 +641,20 @@ export default {
}, { }, {
_this: this _this: this
}, res => { }, res => {
console.log('805',res) // 适用车型转换
for (let a = 0; a < res.data.records.length; a++) {
if (res.data.records[a].applyType !== null) {
let k = (res.data.records[a].applyType || "").split(",");
for (let i in this.energyKindOptions) {
for (let m = 0; m < k.length; m++) {
if (this.energyKindOptions[i].value === k[m]) {
k[m] = this.energyKindOptions[i].label;
}
res.data.records[a].applyType = k.join(",");
}
}
}
}
this.warningTableDatas = res.data.records this.warningTableDatas = res.data.records
this.pageConfig.page = res.data.current this.pageConfig.page = res.data.current
this.pageConfig.pageSize = res.data.size this.pageConfig.pageSize = res.data.size
@@ -650,9 +663,8 @@ export default {
this.warningTableLoading = false this.warningTableLoading = false
}, e => { }, e => {
}); });
}); });
this.searchBtnClick()
} }
}; };
@@ -0,0 +1,83 @@
<!-- 流程信息公共头部 -->
<template>
<div class="prc-header-wrap">
<div class="process-header">
<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: 'ProcessHeaderPhone',
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;
}
.process-title {
margin-left: 10px;
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>
@@ -325,12 +325,6 @@
submitBTNText="同意" submitBTNText="同意"
> >
</ProcessFooter> </ProcessFooter>
<Role-tree
check-box
is-title="转办处理人"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
></Role-tree>
<el-dialog <el-dialog
title="查看条款内容" title="查看条款内容"
:visible.sync="itermsConditionsFlag" :visible.sync="itermsConditionsFlag"
@@ -385,6 +379,9 @@
ProcessTitle ProcessTitle
}, },
methods: { methods: {
phoneClick () {
this.$router.push('/phoneBzjdStep4')
},
handleTransfer() { handleTransfer() {
this.drawerModal = true this.drawerModal = true
}, },
@@ -29,7 +29,7 @@
<el-radio label="1">海外标准入库</el-radio> <el-radio label="1">海外标准入库</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="标准类别" prop="standSort" class="add-form-item form-item-disabled" v-show="form.standInData === '0'"> <el-form-item label="标准类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" filterable v-model="form.standSort" placeholder="请选择标准类别"> <el-select :popper-append-to-body="false" filterable v-model="form.standSort" placeholder="请选择标准类别">
<el-option <el-option
v-for="item in standSortOptions" v-for="item in standSortOptions"
@@ -1047,7 +1047,7 @@
<el-drawer <el-drawer
ref="standard" ref="standard"
title="查询结果" title="查询结果"
size="1300px" size="800px"
:visible.sync="standardDrawer" :visible.sync="standardDrawer"
direction="rtl" direction="rtl"
:before-close="handleReviseDrawerClose"> :before-close="handleReviseDrawerClose">
@@ -1055,7 +1055,8 @@
<div class="content"> <div class="content">
<div class="standard-table-search"> <div class="standard-table-search">
<el-form :model="standardSearchForm" inline class="label-input-form search-area"> <el-form :model="standardSearchForm" inline class="label-input-form search-area">
<el-formItem label="标准来源" style="margin-right:-20px" prop="standType" class="search-item" > <el-row>
<el-formItem label="标准来源" prop="standType" class="search-item" >
<el-select <el-select
:popper-append-to-body="false" :popper-append-to-body="false"
v-model="standardSearchForm.standType" v-model="standardSearchForm.standType"
@@ -1064,7 +1065,7 @@
<el-option value="FOREIGN" label="海外标准库"></el-option> <el-option value="FOREIGN" label="海外标准库"></el-option>
</el-select> </el-select>
</el-formItem> </el-formItem>
<el-form-item label="标准类别" style="margin-right:-20px" prop="standSort" class="search-item" > <el-form-item label="标准类别" prop="standSort" class="search-item" >
<el-select :popper-append-to-body="false" v-model="standardSearchForm.standSort" placeholder="请选择标准类别" filterable clearable> <el-select :popper-append-to-body="false" v-model="standardSearchForm.standSort" placeholder="请选择标准类别" filterable clearable>
<el-option <el-option
v-for="item in standSortOptions" v-for="item in standSortOptions"
@@ -1074,20 +1075,21 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="标准编号" style="margin-right:-20px" prop="standNumber" class="search-item" > <el-form-item label="标准编号" prop="standNumber" class="search-item" >
<el-input <el-input
v-model="standardSearchForm.standNumber" v-model="standardSearchForm.standNumber"
placeholder="请输入标准编号" placeholder="请输入标准编号"
clearable clearable
:maxlength="100"></el-input> :maxlength="100"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="中文名称" style="margin-right:-20px" prop="standName" class="search-item" > </el-row>
<el-form-item label="中文名称" prop="standName" class="search-item" >
<el-input v-model="standardSearchForm.standName" <el-input v-model="standardSearchForm.standName"
placeholder="请输入标准名称" placeholder="请输入标准名称"
clearable clearable
:maxlength="500"></el-input> :maxlength="500"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="英文名称" style="margin-right:-20px" prop="standEnName" class="search-item"> <el-form-item label="英文名称" prop="standEnName" class="search-item">
<el-input <el-input
v-model="standardSearchForm.standEnName" v-model="standardSearchForm.standEnName"
maxlength="1000" maxlength="1000"
@@ -1137,6 +1139,7 @@
<el-table-column <el-table-column
label="标准号" label="标准号"
align="center" align="center"
min-width="40"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<a v-if="scope.row.standYear" @click="handlePreview(scope.row)"> <a v-if="scope.row.standYear" @click="handlePreview(scope.row)">
@@ -1152,21 +1155,22 @@
<el-table-column <el-table-column
prop="textStatus" prop="textStatus"
label="文本状态" label="文本状态"
align="center"> align="center"
min-width="30">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ textStatusMap[scope.row.textStatus] }}</span> <span>{{ textStatusMap[scope.row.textStatus] }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="80"> <!-- <el-table-column label="操作" align="center" width="80">-->
<template slot-scope="scope"> <!-- <template slot-scope="scope">-->
<el-button <!-- <el-button-->
class="opera-btn" <!-- class="opera-btn"-->
size="mini" <!-- size="mini"-->
type="primary" <!-- type="primary"-->
@click="handlePreview(scope.row)">查看 <!-- @click="handlePreview(scope.row)">查看-->
</el-button> <!-- </el-button>-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
</el-table> </el-table>
</div> </div>
<pagination <pagination
@@ -1732,6 +1736,26 @@
this.getFormFieldList(mes.form) this.getFormFieldList(mes.form)
}) })
}, },
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
this.$nextTick(() => {
this.form = JSON.parse(JSON.stringify(item))
this.defaultCheckedKeys = [this.form.standSystem]
this.defaultCheckedKeys1 = [this.form.cycvppsbm]
this.defaultCheckedKeys2 = [this.form.kccvppsbm]
this.defaultCheckedKeys3 = [this.form.dybxh]
this.form.standType = this.form.standInData === '0' ? 'INLAND' : 'FOREIGN'
this.form.standYear = this.form.standYear ? parseInt(this.form.standYear) : ''
if( this.form.country !== undefined && this.form.country !== null && this.form.country !== ''){
this.form.country=this.form.country.split(",");
}
this.form.prcNum = this.prcNum
this.form.prcName = this.prcName
this.form['id'] = item.id
})
},
// 将文本状态的id与name对应 // 将文本状态的id与name对应
setMap(data){ setMap(data){
data.forEach(item => { data.forEach(item => {
@@ -1822,7 +1846,7 @@
this.verifySarStandard = true this.verifySarStandard = true
this.clearFormData(this.form) this.clearFormData(this.form)
break break
// 带入 // 带入(确认)
case 2: case 2:
if (this.standardCheckedList.length === 1) { if (this.standardCheckedList.length === 1) {
this.$http.get('sarStandardsInfo/sar-standards-info/getStandInfoUpdateById', {id: this.standardCheckedList[0].id}, { this.$http.get('sarStandardsInfo/sar-standards-info/getStandInfoUpdateById', {id: this.standardCheckedList[0].id}, {
@@ -1853,7 +1877,10 @@
this.key3++ this.key3++
this.form.standType = this.form.standInData === '0' ? 'INLAND' : 'FOREIGN' this.form.standType = this.form.standInData === '0' ? 'INLAND' : 'FOREIGN'
this.form.standYear = bringData.standYear ? parseInt(bringData.standYear) : '' this.form.standYear = bringData.standYear ? parseInt(bringData.standYear) : ''
this.form.ssrq = this.$moment(this.form.ssrq).format("YYYY-MM-DD") console.log(this.form)
this.form.ssrq = this.form.ssrq?this.$moment(this.form.ssrq).format("YYYY-MM-DD"):null
this.form.zccssrq = this.form.zccssrq?this.$moment(this.form.zccssrq).format("YYYY-MM-DD"):null
this.form.xcxssrq = this.form.xcxssrq?this.$moment(this.form.xcxssrq).format("YYYY-MM-DD"):null
this.form.prcNum = this.prcNum this.form.prcNum = this.prcNum
this.form.prcName = this.prcName this.form.prcName = this.prcName
this.form['id'] = bringData.id this.form['id'] = bringData.id
@@ -2787,6 +2814,11 @@
<style lang="less" scoped> <style lang="less" scoped>
@import '~@/assets/styles/style'; @import '~@/assets/styles/style';
.bzrkStep1 { .bzrkStep1 {
/deep/ .search-area {
display: contents;
flex-wrap: wrap;
justify-content: space-around;
}
/deep/ .el-upload-dragger { /deep/ .el-upload-dragger {
background-color: #fff; background-color: #fff;
border: 1px dashed #d9d9d9; border: 1px dashed #d9d9d9;
@@ -423,7 +423,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
addfjList() { addfjList() {
this.$http.get('lawss/sarStandFile/queryFileInfo', { this.$http.get('lawss/sarStandFile/queryFileInfo', {
@@ -275,7 +275,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData () { getHistoryData () {
this.$http.get('lawss/activiti/get_list_by_instance', { this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -422,7 +422,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
addfjList() { addfjList() {
this.$http.get('lawss/sarStandFile/queryFileInfo', { this.$http.get('lawss/sarStandFile/queryFileInfo', {
@@ -249,7 +249,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", { this.$http.get("lawss/activiti/get_list_by_instance", {
@@ -340,7 +340,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', { this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -313,7 +313,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', { this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -353,7 +353,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", { this.$http.get("lawss/activiti/get_list_by_instance", {
@@ -337,7 +337,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", { this.$http.get("lawss/activiti/get_list_by_instance", {
@@ -334,7 +334,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', { this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -334,7 +334,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', { this.$http.get('lawss/activiti/get_list_by_instance', {
@@ -334,7 +334,7 @@ export default {
} else { } else {
id = item.oriAttId id = item.oriAttId
} }
window.open('/static/pdf/web/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id)) window.open('/static/pdf/phone/bzzqyjViewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + id))
}, },
getHistoryData() { getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", { this.$http.get("lawss/activiti/get_list_by_instance", {
@@ -310,7 +310,7 @@
:rows="3" :rows="3"
resize="none" resize="none"
placeholder="请输入意见" placeholder="请输入意见"
v-model="commentText"> v-model.trim="commentText">
</el-input> </el-input>
</div> </div>
</el-collapse-item> </el-collapse-item>
@@ -96,15 +96,15 @@
</el-form-item> </el-form-item>
</el-card> </el-card>
</el-timeline-item> </el-timeline-item>
<el-timeline-item timestamp="选择确认人" placement="top" <el-timeline-item timestamp="选择产品经理" placement="top"
:color="roleForm.confirmId ? '#66b1ff' : ''"> :color="roleForm.confirmId ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="confirmName" style="margin-bottom: 0"> <el-form-item prop="confirmName" style="margin-bottom: 0">
<h4>确认人</h4> <h4>产品经理</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.confirmId" style="display: none;"></el-input> <el-input v-model="roleForm.confirmId" style="display: none;"></el-input>
<el-input v-model="roleForm.confirmName" placeholder="选择确认人" <el-input v-model="roleForm.confirmName" placeholder="选择产品经理"
@click.native="choiceZRR('confirmId', '选择确认人', roleForm.confirmId)"></el-input> @click.native="choiceZRR('confirmId', '选择产品经理', roleForm.confirmId)"></el-input>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
@@ -449,7 +449,7 @@ export default {
// 角色验证 // 角色验证
roleFormRules: { roleFormRules: {
confirmName: [ confirmName: [
{ required: true, message: "请选择确认人", trigger: "change" } { required: true, message: "请选择产品经理", trigger: "change" }
] ]
} }
}; };
@@ -691,7 +691,7 @@ export default {
_formData.append("createUserName", this.$store.getters.userInfo.userName); _formData.append("createUserName", this.$store.getters.userInfo.userName);
_formData.append("prcType", "10"); _formData.append("prcType", "10");
_formData.append("json", JSON.stringify({ _formData.append("json", JSON.stringify({
taskInfo: "确认人确认", taskInfo: "产品经理分发",
form: this.qdform, form: this.qdform,
roleForm: this.roleForm, roleForm: this.roleForm,
commentText: this.commentText commentText: this.commentText
@@ -80,7 +80,7 @@
prop="standName" prop="standName"
align="center" align="center"
label="中文名称" label="中文名称"
width="180px" min-width="300"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a> <a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
@@ -90,7 +90,7 @@
prop="standEnName" prop="standEnName"
label="英文名称" label="英文名称"
align="center" align="center"
width="180px" min-width="300"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standEnName }}</a> <a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standEnName }}</a>
@@ -133,30 +133,16 @@
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip prop="involve"
prop="kccvppsbm" width="160px"
width="180px"
align="center" align="center"
label="卡车VPPS编码"> label="标准是否涉及">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip prop="remarks"
prop="kccvppscn"
width="180px"
align="center" align="center"
label="卡车vpps中文名称"> width="180"
</el-table-column> label="备注">
<el-table-column
prop="cycvppsbm"
width="180px"
align="center"
label="乘用车VPPS编码">
</el-table-column>
<el-table-column
prop="cycvppscn"
width="180px"
align="center"
label="乘用车vpps中文名称">
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
@@ -356,8 +342,13 @@ export default {
this.qdform.prcName = this.prcName; this.qdform.prcName = this.prcName;
this.qdform["id"] = item.id; this.qdform["id"] = item.id;
this.dataList = item.dataList this.dataList = item.dataList
this.projectId = item.projectId this.dataList.forEach(item => {
// this.getStandData(); if(item.involve === 'involve'){
item.involve = '涉及'
}else if(item.involve === 'noInvolve'){
item.involve = '不涉及'
}
})
}else{ }else{
this.qdform = item.form this.qdform = item.form
this.dataList =item.form.dataList this.dataList =item.form.dataList
@@ -103,15 +103,15 @@
</el-form-item> </el-form-item>
</el-card> </el-card>
</el-timeline-item> </el-timeline-item>
<el-timeline-item timestamp="选择确认人" placement="top" <el-timeline-item timestamp="选择产品经理" placement="top"
:color="roleForm.confirmId ? '#66b1ff' : ''"> :color="roleForm.confirmId ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="confirmName" style="margin-bottom: 0"> <el-form-item prop="confirmName" style="margin-bottom: 0">
<h4>确认人</h4> <h4>产品经理</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.confirmId" style="display: none;"></el-input> <el-input v-model="roleForm.confirmId" style="display: none;"></el-input>
<el-input v-model="roleForm.confirmName" placeholder="选择确认人" <el-input v-model="roleForm.confirmName" placeholder="选择产品经理"
@click.native="choiceZRR('confirmId', '选择确认人', roleForm.confirmId)"></el-input> @click.native="choiceZRR('confirmId', '选择产品经理', roleForm.confirmId)"></el-input>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
@@ -461,7 +461,7 @@ export default {
// 角色验证 // 角色验证
roleFormRules: { roleFormRules: {
confirmName: [ confirmName: [
{ required: true, message: "请选择确认人", trigger: "change" } { required: true, message: "请选择产品经理", trigger: "change" }
], ],
approveName: [ approveName: [
{ required: true, message: "请选择审批人", trigger: "change" } { required: true, message: "请选择审批人", trigger: "change" }
@@ -695,7 +695,7 @@ export default {
_formData.append("createUserName", this.$store.getters.userInfo.userName); _formData.append("createUserName", this.$store.getters.userInfo.userName);
_formData.append("prcType", "10"); _formData.append("prcType", "10");
_formData.append("json", JSON.stringify({ _formData.append("json", JSON.stringify({
taskInfo: "确认人确认", taskInfo: "产品经理分发",
form: this.qdform, form: this.qdform,
roleForm: this.roleForm, roleForm: this.roleForm,
commentText: this.commentText commentText: this.commentText
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,713 @@
<template>
<div class="xmqdqr-step2">
<ProcessHeader toggle>
<template slot="proName">项目清单确认流程</template>
<template slot="proNode">产品经理汇总</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto">
<process-title>
<template slot="title">基础信息</template>
</process-title>
<el-form
:model="qdform"
class="label-input-form prc-content-border"
label-width="150px"
>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="项目编号" prop="projectNumber" class="add-form-item form-item-disabled">
<el-input
v-model="qdform.projectNumber"
placeholder="请输入项目编号"
disabled
clearable
></el-input>
</el-form-item>
<el-form-item label="项目名称" prop="projectName" class="add-form-item form-item-disabled">
<el-input
v-model="qdform.projectName"
placeholder="请输入项目名称"
disabled
clearable
></el-input>
</el-form-item>
<el-form-item label="清单名称" prop="detailedListName" class="add-form-item form-item-disabled">
<el-input
v-model="qdform.detailedListName"
placeholder="请输入清单名称"
disabled
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<process-title style="margin-top:5px; margin-bottom: 5px">
<template slot="title">填写信息</template>
</process-title>
<el-table
:data="dataList"
border
ref="selection"
height="63%"
@selection-change="selectStandChange"
style="width: 100%; border:1px solid #ccc"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
align="center"
width="200px"
label="标准号"
>
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSort
}} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSort }}
{{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
align="center"
label="中文名称"
min-width="300"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="standEnName"
label="英文名称"
align="center"
min-width="300"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standEnName }}</a>
</template>
</el-table-column>
<el-table-column
prop="ssrq"
width="190px"
align="center"
sortable
label="标准实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ssrq ? $moment(scope.row.ssrq).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="xcxssrqgj"
width="190px"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrqgj"
align="center"
sortable
width="190px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="zrbm"
label="责任部门"
align="center"
width="180px"
>
</el-table-column>
<el-table-column
prop="involve"
width="160px"
align="center"
label="标准是否涉及">
</el-table-column>
<el-table-column
prop="remarks"
align="center"
width="180"
label="备注">
</el-table-column>
</el-table>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list" style="height: 100%">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-back
show-transfer
show-submit
:submitLoading="isSubmit"
:transfer-loading="isTransfer"
:saveLoading="saveLoading"
:approval="true"
@back="beforeBack"
@transfer="handleTransfer"
@submit="handleSubmit"
>
</ProcessFooter>
<!-- 福田全公司选人解决方案 -->
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="drawerModal"
@checkedRole="checkedTransferRole"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, queryDetail, saveTaskForPub ,changeAssigneeNew, execTask} from "api/process";
export default {
name: "xmqdqrStep5",
components: {
ProcessTitle,
ProcessHeader,
ProcessFooter
},
data() {
return {
lawInfoTableLoading: true,
lawInfoTable:[],
isTransfer: false,
// 调整处理人抽屉状态
drawerModal: false,
drawerTitle:'',
active: "1",
nodeList: [],
nodeList2: [],
loading: false,
// 当前流程类型(1待办/2已办)
processType: 1,
isSubmit: false,
saveLoading: false,
submitShow: false,
acceptShow: false,
todoId: '',
projectId: "",
detailedId: "",
standSortOptions: [],
standList: [],
projectStand:[],
standardData: [],
handleSelectTableList: [], //标准数据
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
//查询清单下标准数据
standCommonlySearch: {
standSort: "",
standNumber: "",
standType: "",
page: 1,
Size: this.$store.getters.userInfo.configContent
},
//表单的数据
qdform: {
BZFlag: " ", //1审批通过 其他为驳回
projectNumber: "", //项目编号
projectName: "", //项目名称
dataList: [], //项目下的标准数据
breakdownList: [] //标准下的分解单数据
},
dataList: [], //展示的标准数据
commentText: "", //审批意见
detailData: [],//流程历史数据
userId: this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
standMap: new Map(),
textStatusMap: {},// 文本状态id与name对应
};
},
mounted() {
this.processTable();
this.getData();
// 查询各下拉框数据
this.$http.get("sys/dictype/getDicTypeListCode", {}, {
_this: this,
loading: "loading"
}, res => {
this.energyKindOptions = res.data.ENERGYTYPES; //适用车型
this.standSortOptions = res.data.STANDCLASSIFY; // 标准类别
this.setMap(res.data.WBZTCLASS);// 文本状态
this.setMap(this.zrbmMap, res.data.ZRBMCLASS);
this.showLocalProductData(this.getLocalPro);
}, e => {
});
},
methods: {
formatIssueDate(str) {
const momentDate = this.$moment(str)
if (momentDate.isValid()) {
return this.$moment(str).format('YYYY-MM-DD')
} else {
return str
}
},
//确认转办
checkedTransferRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // 任务id
assignee: data[0].id, // 被委托人
userId: this.$store.getters.userInfo.userId, // 委托人
pId: this.$route.query.prcId // 流程实例
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
// 请求转换流程图
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
//转办事件
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
// 将文本状态的id与name对应
setMap(data) {
data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label)
})
},
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: "loading",
_this: this
}, res => {
this.detailData = res;
}, e => {
});
},
//tab改变
handleTabs(type) {
this.active = type;
},
// 点击查看
handlePreview(item) {
let routeUrl = this.$router.resolve({
name: "OtherStandardDetails",
params: {
id: item.id,
pageType: "INLAND_STAND"
}
});
window.open(routeUrl.href, "_blank");
},
//获取数据
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg);
let commitStatus = res.commitStatus
if(commitStatus && commitStatus > 0){
this.acceptShow = true
this.submitShow = false
}else {
this.acceptShow = false
this.submitShow = true
}
this.todoId = res.id
this.getFormFieldList(processForm);
}
}).catch(e => {
});
});
},
//动态表单读取
getFormFieldList(item) {
this.$nextTick(() => {
if(item.form === undefined){
this.qdform = JSON.parse(JSON.stringify(item));
this.qdform.prcNum = this.prcNum;
this.qdform.prcName = this.prcName;
this.qdform["id"] = item.id;
this.dataList = item.dataList
this.dataList.forEach(item => {
if(item.involve === 'involve'){
item.involve = '涉及'
}else if(item.involve === 'noInvolve'){
item.involve = '不涉及'
}
})
// this.projectId = item.projectId;
// //获取清单id 查询对应清单下的标准
// this.detailedId = item.detailedListId;
// this.getStandData();
}else{
this.qdform = item.form
this.dataList =item.form.dataList
this.detailedId = item.form.detailedListId;
}
});
},
//查询清单下的标准
getStandData() {
this.$http.get("sarStandProjectLibrary/queryStandInfo", { id: this.projectId, cars: '1', }, {
_this: this
}, res => {
this.dataList = res.data.records;
this.dataList.forEach(item => {
// 责任部门转换
if (item.zrbm !== null || item.zrbm !== "" ) {
let k = (item.zrbm || "").split(",");
for (let i in this.zrbmOptions) {
for (let m = 0; m < k.length; m++) {
if (this.zrbmOptions[i].value === k[m]) {
k[m] = this.zrbmOptions[i].label;
}
item.zrbm = k.join(",");
}
}
}
});
this.dataList.map(item => {
if(item.zrbm === '[]'){
item.zrbm = ''
}
})
});
},
// 接受按钮
handleAccept(){
this.isSubmit = true
execTask({
todoId: this.todoId // 当前节点ID
}).then(res => {
if (res.sign && res.sign === '0') {
this.$message.success('接收成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
//保存事件
handleSave() {
this.saveLoading = true;
let _formData = new FormData();
this.qdform.dataList = this.dataList
_formData.append("id", this.bpnId || "");
_formData.append("prcType", "10");
_formData.append('taskIds', this.taskIds)
_formData.append("json", JSON.stringify({
form: this.qdform,
commentText: this.commentText
}));
saveTaskForPub(_formData).then(res => {
this.saveLoading = false;
this.$message.success("保存成功");
this.bpnId = res.result;
}).catch(e => {
this.saveLoading = false;
});
},
handleRemark(){
this.dataList.map(item => {
if(item.involve === 'noInvolve'){
comFlag
}
})
},
//驳回事件
beforeBack() {
if (this.commentText === null || this.commentText === undefined || this.commentText === "") {
this.$message.warning("请填写审批意见");
} else {
this.qdform.passFlag = "1";
this.qdform.commentText = this.commentText;
const json = JSON.stringify(this.qdform);
this.$http.post("lawss/activiti/completeTask", {
taskIds: this.taskIds,
userId: this.userId,
json: json
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message);
this.$router.push("/processCenter");
}
}, e => {
});
}
},
//提交事件
handleSubmit() {
this.isSubmit = true;
this.qdform.passFlag = "0";
this.qdform.commentText = this.commentText;
this.qdform.dataList = this.dataList
const json = JSON.stringify(this.qdform);
this.$http.post("lawss/activiti/completeTask", {
taskIds: this.taskIds,
userId: this.userId,
json: json
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message);
this.$router.push("/processCenter");
}
this.isSubmit = false;
}, e => {
});
},
//添加标准勾选框数据
handleSelectTableChange (data) {
this.handleSelectTableList = data
console.log(this.handleSelectTableList);
},
selectStandChange(data){
this.projectStand = data
},
cancelStand() {
this.standModel = false;
},
//添加标准带入事件
okStand() {
if(this.standList.length < 1){
this.$message.warning('请至少选择一条数据进行添加')
}else{
this.standList.forEach(item =>{
if(item.ssrq === "-"){
item.ssrq = ''
}
if(item.zrbm === '[]'){
item.zrbm =''
}
})
this.standList.map(item => {
let addIndex
addIndex = this.dataList.findIndex(items =>{
return items.id === item.id
})
if(addIndex > -1){
this.$message.warning('请勿重复添加数据')
}else{
this.dataList.push(item)
}
})
this.standModel = false
}
},
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.xmqdqr-step2 {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
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;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -24,7 +24,202 @@
</el-col> </el-col>
<el-col :span="size ? 6 : 8" v-btn-permission="'f4eeb9ed48eac5686a456a5582508d9c'"> <el-col :span="size ? 6 : 8" v-btn-permission="'f4eeb9ed48eac5686a456a5582508d9c'">
<el-card shadow="hover"> <el-card shadow="hover">
<div class="card-box" @click="handleCreateProcess('2')"> <div class="card-box" @click="handleCreateProcess('2')">
<div class="card-top">
<div class="card-top-left">
<img :src="getImg(Math.floor(Math.random() * 6))">
</div>
<div class="card-top-right">
<div class="card-top-right-text">标准调研流程</div>
<div class="card-top-right-line"></div>
</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="size ? 6 : 8" v-btn-permission="'fc25b770ad3752cdec52f3bd7b35a6a1'">
<el-card shadow="hover">
<div class="card-box" @click="handleCreateProcess('3')">
<div class="card-top">
<div class="card-top-left">
<img :src="getImg(Math.floor(Math.random() * 6))">
</div>
<div class="card-top-right">
<div class="card-top-right-text">标准征求意见流程</div>
<div class="card-top-right-line"></div>
</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="size ? 6 : 8" v-btn-permission="'2d0f99ba961c551b1d8cad8ad5223731'">
<el-card shadow="hover">
<div class="card-box" @click="handleCreateProcess('6')">
<div class="card-top">
<div class="card-top-left">
<img :src="getImg(Math.floor(Math.random() * 6))">
</div>
<div class="card-top-right">
<div class="card-top-right-text">标准清单发布/更新流程</div>
<div class="card-top-right-line"></div>
</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="size ? 6 : 8" v-btn-permission="'90c7bae6308595f053c6f6f90167e493'">
<el-card shadow="hover">
<div class="card-box" @click="handleCreateProcess('7')">
<div class="card-top">
<div class="card-top-left">
<img :src="getImg(Math.floor(Math.random() * 6))">
</div>
<div class="card-top-right">
<div class="card-top-right-text">标准合规评估流程</div>
<div class="card-top-right-line"></div>
</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="size ? 6 : 8" v-btn-permission="'a151f5e2ee44f8df81e201b8696fca31'">
<el-card shadow="hover">
<div class="card-box" @click="handleCreateProcess('8')">
<div class="card-top">
<div class="card-top-left">
<img :src="getImg(Math.floor(Math.random() * 6))">
</div>
<div class="card-top-right">
<div class="card-top-right-text">未符合项整改流程</div>
<div class="card-top-right-line"></div>
</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="size ? 6 : 8" v-btn-permission="'2564bd61852551b99e0fe3d49a89b288'">
<el-card shadow="hover">
<div class="card-box" @click="handleCreateProcess('9')">
<div class="card-top">
<div class="card-top-left">
<img :src="getImg(Math.floor(Math.random() * 6))">
</div>
<div class="card-top-right">
<div class="card-top-right-text">标准解读流程</div>
<div class="card-top-right-line"></div>
</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="size ? 6 : 8" v-btn-permission="'7751d25f72d0a6515e4110ae41837db8'">
<el-card shadow="hover">
<div class="card-box" @click="handleCreateProcess('10')">
<div class="card-top">
<div class="card-top-left">
<img :src="getImg(Math.floor(Math.random() * 6))">
</div>
<div class="card-top-right">
<div class="card-top-right-text">项目合规评估流程-项目</div>
<div class="card-top-right-line"></div>
</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="size ? 6 : 8" v-btn-permission="''">
<el-card shadow="hover">
<div class="card-box" @click="handleCreateProcess('11')">
<div class="card-top">
<div class="card-top-left">
<img :src="getImg(Math.floor(Math.random() * 6))">
</div>
<div class="card-top-right">
<div class="card-top-right-text">项目清单确认流程</div>
<div class="card-top-right-line"></div>
</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="size ? 6 : 8" v-btn-permission="''">
<el-card shadow="hover">
<div class="card-box" @click="handleCreateProcess('laws1')">
<div class="card-top">
<div class="card-top-left">
<img :src="getImg(Math.floor(Math.random() * 6))">
</div>
<div class="card-top-right">
<div class="card-top-right-text">政策入库流程</div>
<div class="card-top-right-line"></div>
</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="size ? 6 : 8" v-btn-permission="'2e3f4c0aaf77629755533255f1335801'">
<el-card shadow="hover">
<div class="card-box" @click="handleCreateProcess('17')">
<div class="card-top">
<div class="card-top-left">
<img :src="getImg(Math.floor(Math.random() * 6))">
</div>
<div class="card-top-right">
<div class="card-top-right-text">政策课题入会流程</div>
<div class="card-top-right-line"></div>
</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="size ? 6 : 8" v-btn-permission="'d415c764036a02559976b41b9dfe2cf1'">
<el-card shadow="hover">
<div class="card-box" @click="handleCreateProcess('18')">
<div class="card-top">
<div class="card-top-left">
<img :src="getImg(Math.floor(Math.random() * 6))">
</div>
<div class="card-top-right">
<div class="card-top-right-text">政策课题参会流程</div>
<div class="card-top-right-line"></div>
</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="size ? 6 : 8">
<el-card shadow="hover">
<div class="card-box" @click="handleCreateProcess('16')">
<div class="card-top">
<div class="card-top-left">
<img :src="getImg(Math.floor(Math.random() * 6))">
</div>
<div class="card-top-right">
<div class="card-top-right-text">外部署名推荐审批流程</div>
<div class="card-top-right-line"></div>
</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="size ? 6 : 8">
<el-card shadow="hover">
<div class="card-box" @click="handleCreateProcess('15')">
<div class="card-top">
<div class="card-top-left">
<img :src="getImg(Math.floor(Math.random() * 6))">
</div>
<div class="card-top-right">
<div class="card-top-right-text">加入标准化协会信息提报流程</div>
<div class="card-top-right-line"></div>
</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="size ? 6 : 8">
<el-card shadow="hover">
<div class="card-box" @click="handleCreateProcess('14')">
<div class="card-top"> <div class="card-top">
<div class="card-top-left"> <div class="card-top-left">
<img :src="getImg(Math.floor(Math.random() * 6))"> <img :src="getImg(Math.floor(Math.random() * 6))">
@@ -0,0 +1,548 @@
<template>
<div class="phoneBzjdStep4 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">标准解读流程</template>
<template slot="proNode">责任人审核</template>
</ProcessHeaderPhone>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="overflow: auto;">
<el-form
ref="bzzqyjForm"
:model="form"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<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.itemsNum"
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.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
<div class="prc-content-border" v-if="foldFormFlag === true" style="display: none">
<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.itemsNum"
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.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<ProcessTitle>
<template slot="title">拆分信息</template>
</ProcessTitle>
<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="条款名称"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
label="条款内容"
width="200"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="itermsConditionsOpen(scope.row.itermsConditions)" class="common-button-primary">查看条款内容</el-button>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="technicalRequir"
width="200"
label="核心技术要求"
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'INLAND'"
prop="changePoint"
width="150"
label="基于上一版本差异"
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
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
show-overflow-tooltip
prop="complianceState"
width="200"
label="合规性分析"
align="center">
</el-table-column>
<el-table-column
prop="newData"
width="150"
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="150"
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>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
submitBTNText="同意"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand,changeAssigneeNew} from 'api/process'
import axios from "axios";
export default {
name: "phoneBzjdStep4",
data() {
return {
drawerModal: false,
//折叠的标志,true为折叠,false为不折叠
foldFormFlag: false,
itermsConditionsFlag: false,
itermsConditionsTitle: '',
histortData: [],
sarType: '',
itemList: [],
loading: true,
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
textarea: '', // 意见
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
itemsNum: '',
itemsName: '',
itemsNum1: '',
itemsName1: '',
},
json: {},
}
},
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
methods: {
handleTransfer() {
this.drawerModal = true
},
checkedRole (data) {
changeAssigneeNew({
taskId: this.$route.query.taskIds, // 任务id
userId:this.$store.getters.userInfo.userId, // 委托人
assignee: data[0].id, // 被委托人
pId: this.$route.query.prcId, // 流程实例
}).then(res => {
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.processNum()
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
} else {
this.$message.warning(res.message)
}
})
},
// 请求转换流程图
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
this.processStep = window.URL.createObjectURL(res.data)
})
},
//折叠/展开基础信息方法
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
itermsConditionsOpen (row) {
this.itermsConditionsFlag = true
this.itermsConditionsTitle = row
},
getHistoryData () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
}, {}, res => {
this.histortData = res
}, e => {})
},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
this.isSubmit = true
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')
}
this.isSubmit = false
})
},
handleSubmitNo () {
if (this.commentText) {
this.isSubmit = true
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')
}
this.isSubmit = false
})
} 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.itemsNum = data.itemsNum || data.form.itemsNum
this.form.itemsName = data.itemsName || data.form.itemsName
if (data.form) {
this.form.itemsName1 = data.form.itemsName1 || ''
this.form.itemsNum1 = data.form.itemsNum1 || ''
} else {
this.form.itemsName1 = data.itemsName1 || ''
this.form.itemsNum1 = data.itemsNum1 || ''
}
this.sarType = data.standInData || data.sarType
this.json = data
this.itemList = data.itemList
this.loading = false
}).catch(e => {
})
})
},
},
mounted () {
this.getHistoryData()
this.getData()
},
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzjdStep4 {
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
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 {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
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>
@@ -834,7 +834,7 @@ export default {
}) })
} else if (row.taskInfo === '责任人审核') { } else if (row.taskInfo === '责任人审核') {
this.$router.push({ this.$router.push({
name: 'bzjdStep4', name: 'phoneBzjdStep4',
query: { query: {
taskIds: row.taskIds, taskIds: row.taskIds,
prcId: row.prcId, prcId: row.prcId,
@@ -868,7 +868,7 @@ export default {
} }
break break
case '10': case '10':
if (row.taskInfo === '确认人确认') { if (row.taskInfo === '产品工程经理分发清单') {
this.$router.push({ this.$router.push({
name: 'xmqdqrStep2', name: 'xmqdqrStep2',
query: { query: {
@@ -879,7 +879,7 @@ export default {
prcType: row.prcType prcType: row.prcType
} }
}) })
} else if(row.taskInfo === '标准法规部经理审批'){ } else if(row.taskInfo === '确认人确认'){
this.$router.push({ this.$router.push({
name: 'xmqdqrStep3', name: 'xmqdqrStep3',
query: { query: {
@@ -890,6 +890,28 @@ export default {
prcType: row.prcType prcType: row.prcType
} }
}) })
}else if(row.taskInfo === '产品工程经理汇总清单'){
this.$router.push({
name: 'xmqdqrStep4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if(row.taskInfo === '标准法规部经理审批'){
this.$router.push({
name: 'xmqdqrStep5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} }
break break
case 'laws2': case 'laws2':
@@ -1641,6 +1641,7 @@ export default {
}, res => { }, res => {
console.log('1640',res) console.log('1640',res)
this.sarAccessInfoSearchList = res.data.list this.sarAccessInfoSearchList = res.data.list
this.drawerTotal = res.data.count
}, e => { }, e => {
}) })
}else if (this.sarAccessInfoSearch.dataSource === 'BUSINESS'){ }else if (this.sarAccessInfoSearch.dataSource === 'BUSINESS'){
@@ -1649,6 +1650,7 @@ export default {
}, res => { }, res => {
console.log('1648',res) console.log('1648',res)
this.sarAccessInfoSearchList = res.data.list this.sarAccessInfoSearchList = res.data.list
this.drawerTotal = res.data.count
}, e => { }, e => {
}) })
} }
@@ -1538,6 +1538,7 @@ export default {
}, res => { }, res => {
console.log('1640',res) console.log('1640',res)
this.sarAccessInfoSearchList = res.data.list this.sarAccessInfoSearchList = res.data.list
this.drawerTotal = res.data.count
}, e => { }, e => {
}) })
}else if (this.sarAccessInfoSearch.dataSource === 'BUSINESS'){ }else if (this.sarAccessInfoSearch.dataSource === 'BUSINESS'){
@@ -1546,6 +1547,7 @@ export default {
}, res => { }, res => {
console.log('1648',res) console.log('1648',res)
this.sarAccessInfoSearchList = res.data.list this.sarAccessInfoSearchList = res.data.list
this.drawerTotal = res.data.count
}, e => { }, e => {
}) })
} }
@@ -1636,6 +1636,7 @@ export default {
}, res => { }, res => {
console.log('1640',res) console.log('1640',res)
this.sarAccessInfoSearchList = res.data.list this.sarAccessInfoSearchList = res.data.list
this.drawerTotal = res.data.count
}, e => { }, e => {
}) })
}else if (this.sarAccessInfoSearch.dataSource === 'BUSINESS'){ }else if (this.sarAccessInfoSearch.dataSource === 'BUSINESS'){
@@ -1644,6 +1645,7 @@ export default {
}, res => { }, res => {
console.log('1648',res) console.log('1648',res)
this.sarAccessInfoSearchList = res.data.list this.sarAccessInfoSearchList = res.data.list
this.drawerTotal = res.data.count
}, e => { }, e => {
}) })
} }
@@ -20,8 +20,7 @@
default-expanded-keys="['64df1d5522bb49c09af2']" default-expanded-keys="['64df1d5522bb49c09af2']"
highlight-current highlight-current
@node-click="treeClick" @node-click="treeClick"
:filter-node-method="filterNode" :filter-node-method="filterNode">
:expand-on-click-node="false">
<span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" <span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)"
@mouseleave="mouseleave(data)"> @mouseleave="mouseleave(data)">
<span <span
@@ -151,7 +150,7 @@
:loading="delLoading" :loading="delLoading"
size="mini" size="mini"
@click="deleteStand(2)" @click="deleteStand(2)"
v-btn-permission="'c09dc12531085e30e39bbdc6cb6116ba'"><i class="iconfont">&#xe61b;</i>批量删除 v-btn-permission="'dbaf9df2990a595c8abea28e68b1a681'"><i class="iconfont">&#xe61b;</i>批量删除
</el-button> </el-button>
<el-button class="common-button-default" <el-button class="common-button-default"
size="mini" size="mini"
@@ -772,7 +771,7 @@
> >
<template slot="label">起草单位</template> <template slot="label">起草单位</template>
<div style="display: flex;justify-content: space-between;align-items: center;"> <div style="display: flex;justify-content: space-between;align-items: center;">
<el-tooltip class="item" effect="dark" :content="sarStandardsInfoEO['QCDW']" placement="top-start"> <el-tooltip v-if="sarStandardsInfoEO['QCDW']" class="item" effect="dark" :content="sarStandardsInfoEO['QCDW']" placement="top-start">
<el-input <el-input
:key="field.attrField" :key="field.attrField"
:config="field" :config="field"
@@ -781,6 +780,15 @@
:disabled="formdisableflag" placeholder="选择或输入起草单位"> :disabled="formdisableflag" placeholder="选择或输入起草单位">
</el-input> </el-input>
</el-tooltip> </el-tooltip>
<div v-else>
<el-input
:key="field.attrField"
:config="field"
clearable
v-model="sarStandardsInfoEO['QCDW']"
:disabled="formdisableflag" placeholder="选择或输入起草单位">
</el-input>
</div>
<div> <div>
<el-button <el-button
size="mini" size="mini"
@@ -10,8 +10,6 @@
</el-input> </el-input>
<div class="tree"> <div class="tree">
<el-card style="height: 100%;padding-right: 120px;overflow-y:auto"> <el-card style="height: 100%;padding-right: 120px;overflow-y:auto">
<el-tree <el-tree
ref="tree" ref="tree"
node-key="id" node-key="id"
@@ -23,8 +21,7 @@
default-expanded-keys="['22179d54d4e640098e30']" default-expanded-keys="['22179d54d4e640098e30']"
highlight-current highlight-current
@node-click="treeClick" @node-click="treeClick"
:filter-node-method="filterNode" :filter-node-method="filterNode">
:expand-on-click-node="false">
<span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)"> <span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)">
<span :class="data.children.length !== 0 ? 'is-show' : 'is-leaf-none'"></span> <span :class="data.children.length !== 0 ? 'is-show' : 'is-leaf-none'"></span>
<span style="font-size:12px"> {{ node.label }} </span> <span style="font-size:12px"> {{ node.label }} </span>
@@ -21,8 +21,7 @@
default-expanded-keys="['64df1d5522bb49c09af6']" default-expanded-keys="['64df1d5522bb49c09af6']"
highlight-current highlight-current
@node-click="treeClick" @node-click="treeClick"
:filter-node-method="filterNode" :filter-node-method="filterNode">
:expand-on-click-node="false">
<span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)"> <span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)">
<span :class="data.children.length !== 0 ? 'is-show' : 'is-leaf-none'"></span> <span :class="data.children.length !== 0 ? 'is-show' : 'is-leaf-none'"></span>
<span style="font-size:12px"> {{ node.label }} </span> <span style="font-size:12px"> {{ node.label }} </span>
@@ -9,7 +9,6 @@
</el-input> </el-input>
<div class="tree"> <div class="tree">
<el-card style="height: 100%;padding-right: 120px;overflow-y:auto"> <el-card style="height: 100%;padding-right: 120px;overflow-y:auto">
<el-tree <el-tree
ref="tree" ref="tree"
node-key="id" node-key="id"
@@ -21,8 +20,7 @@
default-expanded-keys="['22179d54d4e640098e29']" default-expanded-keys="['22179d54d4e640098e29']"
highlight-current highlight-current
@node-click="treeClick" @node-click="treeClick"
:filter-node-method="filterNode" :filter-node-method="filterNode">
:expand-on-click-node="false">
<span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)"> <span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)">
<span :class="data.children.length !== 0 ? 'is-show' : 'is-leaf-none'"></span> <span :class="data.children.length !== 0 ? 'is-show' : 'is-leaf-none'"></span>
<span style="font-size:12px"> {{ node.label }} </span> <span style="font-size:12px"> {{ node.label }} </span>
@@ -100,12 +100,14 @@
<el-table-column <el-table-column
prop="standName" prop="standName"
label="中文名称" label="中文名称"
min-width="300"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="standEnName" prop="standEnName"
label="英文名称" label="英文名称"
min-width="300"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
@@ -190,7 +190,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <el-button @click="changeState(scope.row)">符合性状态</el-button>--> <!-- <el-button @click="changeState(scope.row)">符合性状态</el-button>-->
<div class="table-jump" @click="changeState(scope.row)"> <div class="table-jump" @click="changeState(scope.row)">
<div v-if="scope.row.sarState === 0">符合</div> <div v-if="scope.row.unCount === '0'">符合</div>
<div v-else >不符合</div> <div v-else >不符合</div>
</div> </div>
</template> </template>
+38 -10
View File
@@ -736,6 +736,33 @@ const routes = [
title: '项目清单确认流程' title: '项目清单确认流程'
} }
}, },
{
path: '/xmqdqrStep3',
name: 'xmqdqrStep3',
component: () => import('@/pages/processCenter/pages/creatProcess/xmqdqr/step3.vue'),
meta: {
requireAuth: true,
title: '项目清单确认流程'
}
},
{
path: '/xmqdqrStep4',
name: 'xmqdqrStep4',
component: () => import('@/pages/processCenter/pages/creatProcess/xmqdqr/step4.vue'),
meta: {
requireAuth: true,
title: '项目清单确认流程'
}
},
{
path: '/xmqdqrStep5',
name: 'xmqdqrStep5',
component: () => import('@/pages/processCenter/pages/creatProcess/xmqdqr/step5.vue'),
meta: {
requireAuth: true,
title: '项目清单确认流程'
}
},
{ {
path: '/xmqdqrStep1-1', path: '/xmqdqrStep1-1',
name: 'xmqdqrStep1-1', name: 'xmqdqrStep1-1',
@@ -763,15 +790,6 @@ const routes = [
title: '项目清单确认流程' title: '项目清单确认流程'
} }
}, },
{
path: '/xmqdqrStep3',
name: 'xmqdqrStep3',
component: () => import('@/pages/processCenter/pages/creatProcess/xmqdqr/step3.vue'),
meta: {
requireAuth: true,
title: '项目清单确认流程'
}
},
{ {
path: '/wfhxzgStep1', path: '/wfhxzgStep1',
name: 'wfhxzgStep1', name: 'wfhxzgStep1',
@@ -1687,7 +1705,18 @@ const routes = [
title: '外部标准化会后管理流程(审批)' title: '外部标准化会后管理流程(审批)'
} }
}, },
{
path: '/phoneBzjdStep4',
name: 'phoneBzjdStep4',
component: () => import('@/pages/processCenter/pages/phone/bzjd/step4.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '标准解读流程'
}
},
] ]
}, },
// 本地工具 // 本地工具
{ {
@@ -1993,7 +2022,6 @@ const routes = [
menuId: 'PCZKM8TQJAH5UP5EAXTJ' menuId: 'PCZKM8TQJAH5UP5EAXTJ'
} }
}, },
// 工作组 // 工作组
{ {
path: '/workingGroup', path: '/workingGroup',