Merge branch 'develop' into 'FOTON'
Develop See merge request LAWS/laws-system-front-FOTON!216
This commit is contained in:
@@ -6649,13 +6649,13 @@ var PDFPageView = function () {
|
||||
watermark_txt: msg,
|
||||
watermark_x: 50,//水印起始位置x轴坐标
|
||||
watermark_y: 0,//水印起始位置Y轴坐标
|
||||
watermark_rows: 7,//水印行数
|
||||
watermark_cols: 5,//水印列数
|
||||
watermark_x_space: 80,//水印x轴间隔
|
||||
watermark_y_space: 120,//水印y轴间隔
|
||||
watermark_rows: 15,//水印行数
|
||||
watermark_cols: 7,//水印列数
|
||||
watermark_x_space: 18,//水印x轴间隔
|
||||
watermark_y_space: 20,//水印y轴间隔
|
||||
watermark_color: 'rgba(192, 192, 192)',//水印字体颜色
|
||||
watermark_alpha: 0.3,//水印透明度
|
||||
watermark_fontsize: '30px',//水印字体大小
|
||||
watermark_fontsize: '40px',//水印字体大小
|
||||
watermark_font: '微软雅黑',//水印字体
|
||||
watermark_width: 120,//水印宽度
|
||||
watermark_height: 80,//水印长度
|
||||
|
||||
@@ -96,7 +96,6 @@
|
||||
#upload .placeholder .webuploader-pick {
|
||||
font-size: 18px;
|
||||
background: #00b7ee;
|
||||
3px;
|
||||
line-height: 44px;
|
||||
padding: 0 30px;
|
||||
*width: 120px;
|
||||
@@ -198,7 +197,6 @@
|
||||
overflow: hidden;
|
||||
z-index: 50;
|
||||
margin: 0;
|
||||
0;
|
||||
background: none;
|
||||
-webkit-box-shadow: 0 0 0;
|
||||
}
|
||||
@@ -317,7 +315,6 @@
|
||||
height: 113px;
|
||||
background: url(./images/image.png) no-repeat center 12px;
|
||||
border: 1px solid #eeeeee;
|
||||
0;
|
||||
}
|
||||
#upload .filelist li.filePickerBlock div.webuploader-pick {
|
||||
width: 100%;
|
||||
@@ -447,7 +444,6 @@
|
||||
color: #565656;
|
||||
padding: 0 18px;
|
||||
display: inline-block;
|
||||
3px;
|
||||
margin-left: 10px;
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
|
||||
@@ -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'
|
||||
})
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
/*liuyan 全局公共样式*/
|
||||
@import './style';
|
||||
@import './mixins';
|
||||
// 移动端公共样式
|
||||
@import './phone';
|
||||
// 左侧菜单样式
|
||||
@import './navMenu';
|
||||
// tree组件父组件内样式
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
.phoneBox {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
@media screen and (max-width: 1366px) {
|
||||
.el-message {
|
||||
min-width: 200px !important;
|
||||
}
|
||||
}
|
||||
@@ -18,7 +18,12 @@ mark{background-color:transparent}
|
||||
a,ins,s,u,del{text-decoration:none}
|
||||
sup,sub{vertical-align:baseline}
|
||||
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;}
|
||||
a {text-decoration: none;}
|
||||
/*意见反馈页面富文本表格宽度*/
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
class="form-upload-btn"
|
||||
>
|
||||
<!-- {{ (value === 'null' || value === '' || value == null) && (!processModel || (processModel && !disabled)) ? '点击上传' : '查看已上传的文件' }}-->
|
||||
上传
|
||||
</el-button>
|
||||
</template>
|
||||
<el-dialog
|
||||
|
||||
@@ -1,393 +1,68 @@
|
||||
<!-- 配置管理 - 链接管理 -->
|
||||
<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="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"></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>
|
||||
<div class="data-link">
|
||||
<el-tabs v-model="activeName">
|
||||
<el-tab-pane label="第一行链接" name="firstLink">
|
||||
<first-link v-if="activeName === 'firstLink'"></first-link>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="第二行链接" name="secondLink">
|
||||
<second-link v-if="activeName === 'secondLink'"></second-link>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Sortable from 'sortablejs'
|
||||
export default {
|
||||
name: "linkManage",
|
||||
data () {
|
||||
return {
|
||||
editId: '',
|
||||
type: '', // 1为新增 2为编辑
|
||||
dialogTitle: '',
|
||||
submitLoading: false,
|
||||
// 向后台传参使用
|
||||
data: [],
|
||||
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();
|
||||
}
|
||||
import firstLink from "./linkType/firstLink";
|
||||
import secondLink from "./linkType/secondLink";
|
||||
export default {
|
||||
name: "linkManage",
|
||||
components: {
|
||||
firstLink,
|
||||
secondLink
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'firstLink',
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/mixins';
|
||||
#post-manage {
|
||||
height: 100%;
|
||||
.content {
|
||||
height: calc(~'100% - 53px')
|
||||
}
|
||||
.filter-tree {
|
||||
height: calc(~'100% - 50px')
|
||||
}
|
||||
@import '~@/assets/styles/mixins';
|
||||
.data-link{
|
||||
height: 100%;
|
||||
padding: 0 10px;
|
||||
background: #fff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
/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>
|
||||
|
||||
@@ -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"></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"></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>
|
||||
@@ -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" >不满足</el-divider>
|
||||
<div class="content">
|
||||
<el-table
|
||||
height="100%"
|
||||
ref="selection"
|
||||
v-if="unfit.length"
|
||||
:data="unfit"
|
||||
tooltip-effect="dark"
|
||||
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',
|
||||
fontWeight: 'bold', height: '48px'}">
|
||||
<el-table-column
|
||||
@@ -60,19 +58,16 @@
|
||||
</el-table>
|
||||
<!-- <pagination :page="page" :total="total" @pageChange="pageChange"-->
|
||||
<!-- @pageSizeChange="pageSizeChange"></pagination>-->
|
||||
</div>
|
||||
|
||||
<!--满足-->
|
||||
<el-divider content-position="left" v-if="fit.length">满足</el-divider>
|
||||
<div class="content">
|
||||
<el-table
|
||||
height="100%"
|
||||
ref="selection"
|
||||
v-if="fit.length"
|
||||
:data="fit"
|
||||
tooltip-effect="dark"
|
||||
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',
|
||||
fontWeight: 'bold', height: '48px'}">
|
||||
<el-table-column
|
||||
@@ -103,7 +98,6 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<!-- <pagination :page="page" :total="total" @pageChange="pageChange"-->
|
||||
<!-- @pageSizeChange="pageSizeChange"></pagination>-->
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
@@ -170,12 +164,5 @@ export default {
|
||||
//width: 1200px;
|
||||
//margin: 0 auto;
|
||||
height: 100%;
|
||||
.content{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: calc(~'50% - 30px');
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -22,6 +22,56 @@
|
||||
style="border-top:none;position: absolute;right: 36px;">
|
||||
<div class="modular-header" style="height: 50px;">
|
||||
<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-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>
|
||||
@@ -987,6 +1037,19 @@ export default {
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
targetScore: '',
|
||||
businessCommentDialog: false,
|
||||
businessCommentForm: {},
|
||||
revise: '',
|
||||
businessCommentTable: [{
|
||||
commentTarget: '企业标准内容完整、要求合理(指标、流程等。)',
|
||||
}, {
|
||||
commentTarget: '企业标准便于实施应用',
|
||||
}, {
|
||||
commentTarget: '标准编写规范,内容清晰易理解',
|
||||
}, {
|
||||
commentTarget: '标准对我的实际工作很有帮助',
|
||||
}],
|
||||
activeNames: ['基础信息','过程稿件','实施日期'],
|
||||
activeState: true,
|
||||
visiblePlanCheck: false,
|
||||
@@ -1194,6 +1257,9 @@ export default {
|
||||
watch: {
|
||||
},
|
||||
methods: {
|
||||
targetScoreChange(row){
|
||||
console.log('1234',row)
|
||||
},
|
||||
child1Func(child1){
|
||||
const list = []
|
||||
if(child1 && child1.length > 1){
|
||||
|
||||
@@ -3,7 +3,10 @@
|
||||
<div class="other-standard-details v-class" :class="{'hidden': !isMoreAwayBtn}">
|
||||
<!--title 标题-->
|
||||
<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.standYear }} 《{{ sarStandardsInfoEO.standName }}》</span>
|
||||
</div>
|
||||
@@ -46,7 +49,7 @@
|
||||
<div class="details-content-modular basic-information" style="border-top:none">
|
||||
<div class="basic-information-content">
|
||||
<!-- <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>
|
||||
<span v-if="sarStandardsInfoEO.standYear">{{
|
||||
sarStandardsInfoEO.standSortShow + ' ' + sarStandardsInfoEO.standNumber + '-' + sarStandardsInfoEO.standYear
|
||||
@@ -106,7 +109,7 @@
|
||||
<label style=" margin-right: 150px;"
|
||||
title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。"
|
||||
>文本状态</label>
|
||||
<span style="color: #409EFF;">{{ textStatusMap[sarStandardsInfoEO.textStatus] || '-' }}</span>
|
||||
<span>{{ textStatusMap[sarStandardsInfoEO.textStatus] || '-' }}</span>
|
||||
</p>
|
||||
<p class="half"><label style=" margin-right: 150px;">发布日期</label><span>{{
|
||||
sarStandardsInfoEO.issueTime || '-'
|
||||
@@ -3599,13 +3602,14 @@ export default {
|
||||
}
|
||||
|
||||
& > div:not(.modular-item-more) {
|
||||
/*border-bottom: 1px solid #E5E5E5;*/
|
||||
//英文名称变粗
|
||||
border-bottom: 1px solid #E5E5E5;
|
||||
min-height: 43px;
|
||||
line-height: 43px;
|
||||
|
||||
.modular-content-p-name {
|
||||
display: inline-block;
|
||||
width: 220px;
|
||||
width: 213px;
|
||||
height: 43px;
|
||||
line-height: 43px;
|
||||
font-size: 16px;
|
||||
@@ -3619,10 +3623,10 @@ export default {
|
||||
.modular-content-p-val {
|
||||
display: inline-block;
|
||||
width: calc(~'100% - 225px');
|
||||
min-height: 50px;
|
||||
line-height: 50px;
|
||||
font-size: 16px;
|
||||
color: #999999;
|
||||
//min-height: 50px;
|
||||
//line-height: 50px;
|
||||
//font-size: 16px;
|
||||
//color: #999999;
|
||||
word-break: break-all;
|
||||
//overflow: hidden;
|
||||
//white-space: nowrap;
|
||||
@@ -3636,9 +3640,10 @@ export default {
|
||||
|
||||
& > .files-title {
|
||||
width: calc(~'100% - 120px');
|
||||
min-height: 50px;
|
||||
line-height: 50px;
|
||||
font-size: 16px;
|
||||
//报批稿撑开
|
||||
//min-height: 50px;
|
||||
//line-height: 50px;
|
||||
//font-size: 16px;
|
||||
color: #409EFF;
|
||||
|
||||
& > a {
|
||||
@@ -3668,7 +3673,8 @@ export default {
|
||||
|
||||
.decomposition-btn {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
//报批稿撑开
|
||||
//top: 10px;
|
||||
right: 0;
|
||||
padding: 0 10px;
|
||||
height: 30px;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<div>
|
||||
<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 style="padding-left: 10px; font-size: 16px">
|
||||
<span style="font-size: 15px;">
|
||||
{{ label }}
|
||||
</span>
|
||||
</span>
|
||||
@@ -67,7 +67,7 @@
|
||||
|
||||
<style lang="less" scoped>
|
||||
.wx-card {
|
||||
line-height: 70px;
|
||||
line-height: 50px;
|
||||
text-align: center;
|
||||
background: #fff;
|
||||
display: flex;
|
||||
@@ -79,7 +79,7 @@
|
||||
& > div {
|
||||
border-radius: 5px;
|
||||
width: 100%;
|
||||
height: 70px;
|
||||
height: 50px;
|
||||
color: #fff;
|
||||
background-color: #4788c0;
|
||||
}
|
||||
@@ -91,7 +91,7 @@
|
||||
}
|
||||
}
|
||||
.wx-card1 {
|
||||
line-height: 70px;
|
||||
line-height: 50px;
|
||||
text-align: center;
|
||||
background: #fff;
|
||||
display: flex;
|
||||
@@ -102,7 +102,7 @@
|
||||
padding-left: 10px;
|
||||
& > div {
|
||||
width: 100%;
|
||||
height: 70px;
|
||||
height: 50px;
|
||||
background: #fff;
|
||||
border: 2px dashed #E4E4E4;
|
||||
border-radius: 5px;
|
||||
@@ -119,7 +119,7 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.el-icon-circle-plus-outline {
|
||||
font-size: 50px;
|
||||
font-size: 40px;
|
||||
color: #E4E4E4;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,202 +1,220 @@
|
||||
<!-- 尾部链接 -->
|
||||
<template>
|
||||
<div class="link" id="link">
|
||||
<!-- 此部分暂时这样写,到后面做修改 -->
|
||||
<div style="display: inline-block;width: 15%;">
|
||||
<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 class="link" id="link">
|
||||
<!-- 此部分暂时这样写,到后面做修改 -->
|
||||
<div style="display: inline-block;width: 15%;">
|
||||
<span class="title borderRight">友情链接</span>
|
||||
</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>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
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
|
||||
})
|
||||
}
|
||||
},
|
||||
import {getImg} from '@/api/linkApi.js'
|
||||
|
||||
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>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.link {
|
||||
margin-right: 10px;
|
||||
display: flex;
|
||||
border-radius: 3px;
|
||||
height: 100%;
|
||||
align-items: center;
|
||||
box-shadow: 1px 1px 10px rgba(0,0,0,0.1);
|
||||
.borderRight {
|
||||
//padding-right: 50px;
|
||||
//margin-right: 50px;
|
||||
border-right: 2px dotted #aaa;
|
||||
}
|
||||
.borderLeft {
|
||||
margin-right: 50px;
|
||||
//padding-left: 50px;
|
||||
//margin-left: 50px;
|
||||
border-left: 2px dotted #aaa;
|
||||
}
|
||||
.borderMiddle {
|
||||
border-left: 2px dotted #aaa;
|
||||
}
|
||||
.title {
|
||||
padding-right: 40px;
|
||||
font-weight: bold;
|
||||
padding-left: 40px;
|
||||
width: 80px;
|
||||
}
|
||||
.myLi1 {
|
||||
cursor: pointer;
|
||||
color: #0068B7;
|
||||
}
|
||||
.el-col-4 {
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
word-break: break-all;
|
||||
line-height: normal;
|
||||
margin-top: 10px;
|
||||
font-size: 5px;
|
||||
}
|
||||
}
|
||||
.link {
|
||||
margin-right: 10px;
|
||||
display: flex;
|
||||
border-radius: 3px;
|
||||
height: 100%;
|
||||
align-items: center;
|
||||
box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1);
|
||||
|
||||
.borderRight {
|
||||
//padding-right: 50px;
|
||||
//margin-right: 50px;
|
||||
border-right: 2px dotted #aaa;
|
||||
}
|
||||
|
||||
.borderLeft {
|
||||
margin-right: 50px;
|
||||
//padding-left: 50px;
|
||||
//margin-left: 50px;
|
||||
border-left: 2px dotted #aaa;
|
||||
}
|
||||
|
||||
.borderMiddle {
|
||||
border-left: 2px dotted #aaa;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 15px;
|
||||
padding-right: 40px;
|
||||
font-weight: bold;
|
||||
padding-left: 40px;
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
.myLi1 {
|
||||
font-size: 15px;
|
||||
cursor: pointer;
|
||||
color: #0068B7;
|
||||
}
|
||||
|
||||
.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>
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
background: #fff;
|
||||
font-size: 14px;
|
||||
font-size: 15px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
.menu-wrap {
|
||||
@@ -92,11 +92,11 @@
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.wx-card {
|
||||
height: 70px;
|
||||
height: 50px;
|
||||
width: 33.333333%;
|
||||
}
|
||||
.wx-card1 {
|
||||
height: 70px;
|
||||
height: 50px;
|
||||
width: 33.333333%;
|
||||
}
|
||||
.menu-item {
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
width="50">
|
||||
width="55">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standName"
|
||||
@@ -98,6 +98,12 @@ export default {
|
||||
|
||||
<style lang="less" scoped>
|
||||
.release {
|
||||
/deep/.el-table th > .cell {
|
||||
font-size: 15px;
|
||||
}
|
||||
/deep/.el-table td > .cell{
|
||||
font-size: 13px;
|
||||
}
|
||||
width: 100%;
|
||||
.time-title {
|
||||
margin: 15px;
|
||||
|
||||
@@ -22,8 +22,8 @@
|
||||
placeholder="请输入关键词"
|
||||
clearable
|
||||
></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;" 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="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="seniorSearch">高级检索</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -106,7 +106,7 @@ export default {
|
||||
width: 18vm;
|
||||
height: 40px;
|
||||
color: #333333;
|
||||
font-size: 14px;
|
||||
font-size: 15px;
|
||||
border: 0;
|
||||
border-radius: 3px;
|
||||
background-color: #FFFFFF;
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
width="50">
|
||||
width="55">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="cid"
|
||||
@@ -91,6 +91,12 @@ export default {
|
||||
|
||||
<style lang="less" scoped>
|
||||
.solicitopinions {
|
||||
/deep/.el-table th > .cell {
|
||||
font-size: 15px;
|
||||
}
|
||||
/deep/.el-table td > .cell{
|
||||
font-size: 13px;
|
||||
}
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
.time-title {
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
<ul>
|
||||
<li v-for="item in toDoTaskList" :key="item.id" class="time-title">
|
||||
<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>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -614,7 +615,7 @@ export default {
|
||||
break
|
||||
//项目清单确认流程
|
||||
case '10' :
|
||||
if(row.taskInfo === '确认人确认'){
|
||||
if(row.taskInfo === '产品工程经理分发清单'){
|
||||
this.$router.push({
|
||||
name: 'xmqdqrStep2',
|
||||
query: {
|
||||
@@ -625,7 +626,7 @@ export default {
|
||||
prcType: row.prcType
|
||||
}
|
||||
})
|
||||
} else if (row.taskInfo === '标准法规部经理审批') {
|
||||
} else if (row.taskInfo === '确认人确认') {
|
||||
this.$router.push({
|
||||
name: 'xmqdqrStep3',
|
||||
query: {
|
||||
@@ -636,6 +637,17 @@ export default {
|
||||
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
|
||||
case '14':
|
||||
@@ -1284,9 +1296,10 @@ export default {
|
||||
display: inline-block;
|
||||
margin: 15px;
|
||||
color: #333333;
|
||||
font-size: 14px;
|
||||
font-size: 15px;
|
||||
}
|
||||
.more {
|
||||
font-size: 15px;
|
||||
float: right;
|
||||
color: #4788c0;
|
||||
margin: 15px 15px;
|
||||
|
||||
@@ -172,7 +172,7 @@ export default {
|
||||
.right_wrapper {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 37vw;
|
||||
width: 30vw;
|
||||
height: 100%;
|
||||
}
|
||||
.search-condition {
|
||||
|
||||
@@ -641,7 +641,20 @@ export default {
|
||||
}, {
|
||||
_this: this
|
||||
}, 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.pageConfig.page = res.data.current
|
||||
this.pageConfig.pageSize = res.data.size
|
||||
@@ -650,9 +663,8 @@ export default {
|
||||
this.warningTableLoading = false
|
||||
}, 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="同意"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<Role-tree
|
||||
check-box
|
||||
is-title="转办处理人"
|
||||
:is-visible.sync="drawerModal"
|
||||
@checkedRole="checkedRole"
|
||||
></Role-tree>
|
||||
<el-dialog
|
||||
title="查看条款内容"
|
||||
:visible.sync="itermsConditionsFlag"
|
||||
@@ -385,6 +379,9 @@
|
||||
ProcessTitle
|
||||
},
|
||||
methods: {
|
||||
phoneClick () {
|
||||
this.$router.push('/phoneBzjdStep4')
|
||||
},
|
||||
handleTransfer() {
|
||||
this.drawerModal = true
|
||||
},
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<el-radio label="1">海外标准入库</el-radio>
|
||||
</el-radio-group>
|
||||
</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-option
|
||||
v-for="item in standSortOptions"
|
||||
@@ -1047,7 +1047,7 @@
|
||||
<el-drawer
|
||||
ref="standard"
|
||||
title="查询结果"
|
||||
size="1300px"
|
||||
size="800px"
|
||||
:visible.sync="standardDrawer"
|
||||
direction="rtl"
|
||||
:before-close="handleReviseDrawerClose">
|
||||
@@ -1055,7 +1055,8 @@
|
||||
<div class="content">
|
||||
<div class="standard-table-search">
|
||||
<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
|
||||
:popper-append-to-body="false"
|
||||
v-model="standardSearchForm.standType"
|
||||
@@ -1064,7 +1065,7 @@
|
||||
<el-option value="FOREIGN" label="海外标准库"></el-option>
|
||||
</el-select>
|
||||
</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-option
|
||||
v-for="item in standSortOptions"
|
||||
@@ -1074,20 +1075,21 @@
|
||||
></el-option>
|
||||
</el-select>
|
||||
</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
|
||||
v-model="standardSearchForm.standNumber"
|
||||
placeholder="请输入标准编号"
|
||||
clearable
|
||||
:maxlength="100"></el-input>
|
||||
</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"
|
||||
placeholder="请输入标准名称"
|
||||
clearable
|
||||
:maxlength="500"></el-input>
|
||||
</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
|
||||
v-model="standardSearchForm.standEnName"
|
||||
maxlength="1000"
|
||||
@@ -1137,6 +1139,7 @@
|
||||
<el-table-column
|
||||
label="标准号"
|
||||
align="center"
|
||||
min-width="40"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a v-if="scope.row.standYear" @click="handlePreview(scope.row)">
|
||||
@@ -1152,21 +1155,22 @@
|
||||
<el-table-column
|
||||
prop="textStatus"
|
||||
label="文本状态"
|
||||
align="center">
|
||||
align="center"
|
||||
min-width="30">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ textStatusMap[scope.row.textStatus] }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="80">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
class="opera-btn"
|
||||
size="mini"
|
||||
type="primary"
|
||||
@click="handlePreview(scope.row)">查看
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="操作" align="center" width="80">-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- <el-button-->
|
||||
<!-- class="opera-btn"-->
|
||||
<!-- size="mini"-->
|
||||
<!-- type="primary"-->
|
||||
<!-- @click="handlePreview(scope.row)">查看-->
|
||||
<!-- </el-button>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination
|
||||
@@ -1732,6 +1736,26 @@
|
||||
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对应
|
||||
setMap(data){
|
||||
data.forEach(item => {
|
||||
@@ -1822,7 +1846,7 @@
|
||||
this.verifySarStandard = true
|
||||
this.clearFormData(this.form)
|
||||
break
|
||||
// 带入
|
||||
// 带入(确认)
|
||||
case 2:
|
||||
if (this.standardCheckedList.length === 1) {
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/getStandInfoUpdateById', {id: this.standardCheckedList[0].id}, {
|
||||
@@ -1853,7 +1877,10 @@
|
||||
this.key3++
|
||||
this.form.standType = this.form.standInData === '0' ? 'INLAND' : 'FOREIGN'
|
||||
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.prcName = this.prcName
|
||||
this.form['id'] = bringData.id
|
||||
@@ -2787,6 +2814,11 @@
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/style';
|
||||
.bzrkStep1 {
|
||||
/deep/ .search-area {
|
||||
display: contents;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-around;
|
||||
}
|
||||
/deep/ .el-upload-dragger {
|
||||
background-color: #fff;
|
||||
border: 1px dashed #d9d9d9;
|
||||
|
||||
@@ -423,7 +423,7 @@ export default {
|
||||
} else {
|
||||
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() {
|
||||
this.$http.get('lawss/sarStandFile/queryFileInfo', {
|
||||
|
||||
@@ -275,7 +275,7 @@ export default {
|
||||
} else {
|
||||
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 () {
|
||||
this.$http.get('lawss/activiti/get_list_by_instance', {
|
||||
|
||||
@@ -422,7 +422,7 @@ export default {
|
||||
} else {
|
||||
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() {
|
||||
this.$http.get('lawss/sarStandFile/queryFileInfo', {
|
||||
|
||||
@@ -249,7 +249,7 @@ export default {
|
||||
} else {
|
||||
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() {
|
||||
this.$http.get("lawss/activiti/get_list_by_instance", {
|
||||
|
||||
@@ -340,7 +340,7 @@ export default {
|
||||
} else {
|
||||
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() {
|
||||
this.$http.get('lawss/activiti/get_list_by_instance', {
|
||||
|
||||
@@ -313,7 +313,7 @@ export default {
|
||||
} else {
|
||||
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() {
|
||||
this.$http.get('lawss/activiti/get_list_by_instance', {
|
||||
|
||||
@@ -353,7 +353,7 @@ export default {
|
||||
} else {
|
||||
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() {
|
||||
this.$http.get("lawss/activiti/get_list_by_instance", {
|
||||
|
||||
@@ -337,7 +337,7 @@ export default {
|
||||
} else {
|
||||
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() {
|
||||
this.$http.get("lawss/activiti/get_list_by_instance", {
|
||||
|
||||
@@ -334,7 +334,7 @@ export default {
|
||||
} else {
|
||||
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() {
|
||||
this.$http.get('lawss/activiti/get_list_by_instance', {
|
||||
|
||||
@@ -334,7 +334,7 @@ export default {
|
||||
} else {
|
||||
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() {
|
||||
this.$http.get('lawss/activiti/get_list_by_instance', {
|
||||
|
||||
@@ -334,7 +334,7 @@ export default {
|
||||
} else {
|
||||
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() {
|
||||
this.$http.get("lawss/activiti/get_list_by_instance", {
|
||||
|
||||
@@ -310,7 +310,7 @@
|
||||
:rows="3"
|
||||
resize="none"
|
||||
placeholder="请输入意见"
|
||||
v-model="commentText">
|
||||
v-model.trim="commentText">
|
||||
</el-input>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
|
||||
@@ -96,15 +96,15 @@
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="选择确认人" placement="top"
|
||||
<el-timeline-item timestamp="选择产品经理" placement="top"
|
||||
:color="roleForm.confirmId ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="confirmName" style="margin-bottom: 0">
|
||||
<h4>确认人</h4>
|
||||
<h4>产品经理</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.confirmId" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.confirmName" placeholder="选择确认人"
|
||||
@click.native="choiceZRR('confirmId', '选择确认人', roleForm.confirmId)"></el-input>
|
||||
<el-input v-model="roleForm.confirmName" placeholder="选择产品经理"
|
||||
@click.native="choiceZRR('confirmId', '选择产品经理', roleForm.confirmId)"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
@@ -449,7 +449,7 @@ export default {
|
||||
// 角色验证
|
||||
roleFormRules: {
|
||||
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("prcType", "10");
|
||||
_formData.append("json", JSON.stringify({
|
||||
taskInfo: "确认人确认",
|
||||
taskInfo: "产品经理分发",
|
||||
form: this.qdform,
|
||||
roleForm: this.roleForm,
|
||||
commentText: this.commentText
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
prop="standName"
|
||||
align="center"
|
||||
label="中文名称"
|
||||
width="180px"
|
||||
min-width="300"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
|
||||
@@ -90,7 +90,7 @@
|
||||
prop="standEnName"
|
||||
label="英文名称"
|
||||
align="center"
|
||||
width="180px"
|
||||
min-width="300"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standEnName }}</a>
|
||||
@@ -133,30 +133,16 @@
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="kccvppsbm"
|
||||
width="180px"
|
||||
prop="involve"
|
||||
width="160px"
|
||||
align="center"
|
||||
label="卡车VPPS编码">
|
||||
label="标准是否涉及">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="kccvppscn"
|
||||
width="180px"
|
||||
prop="remarks"
|
||||
align="center"
|
||||
label="卡车vpps中文名称">
|
||||
</el-table-column>
|
||||
<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中文名称">
|
||||
width="180"
|
||||
label="备注">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
@@ -356,8 +342,13 @@ export default {
|
||||
this.qdform.prcName = this.prcName;
|
||||
this.qdform["id"] = item.id;
|
||||
this.dataList = item.dataList
|
||||
this.projectId = item.projectId
|
||||
// this.getStandData();
|
||||
this.dataList.forEach(item => {
|
||||
if(item.involve === 'involve'){
|
||||
item.involve = '涉及'
|
||||
}else if(item.involve === 'noInvolve'){
|
||||
item.involve = '不涉及'
|
||||
}
|
||||
})
|
||||
}else{
|
||||
this.qdform = item.form
|
||||
this.dataList =item.form.dataList
|
||||
|
||||
@@ -103,15 +103,15 @@
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item timestamp="选择确认人" placement="top"
|
||||
<el-timeline-item timestamp="选择产品经理" placement="top"
|
||||
:color="roleForm.confirmId ? '#66b1ff' : ''">
|
||||
<el-card>
|
||||
<el-form-item prop="confirmName" style="margin-bottom: 0">
|
||||
<h4>确认人</h4>
|
||||
<h4>产品经理</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input v-model="roleForm.confirmId" style="display: none;"></el-input>
|
||||
<el-input v-model="roleForm.confirmName" placeholder="选择确认人"
|
||||
@click.native="choiceZRR('confirmId', '选择确认人', roleForm.confirmId)"></el-input>
|
||||
<el-input v-model="roleForm.confirmName" placeholder="选择产品经理"
|
||||
@click.native="choiceZRR('confirmId', '选择产品经理', roleForm.confirmId)"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
@@ -461,7 +461,7 @@ export default {
|
||||
// 角色验证
|
||||
roleFormRules: {
|
||||
confirmName: [
|
||||
{ required: true, message: "请选择确认人", trigger: "change" }
|
||||
{ required: true, message: "请选择产品经理", trigger: "change" }
|
||||
],
|
||||
approveName: [
|
||||
{ required: true, message: "请选择审批人", trigger: "change" }
|
||||
@@ -695,7 +695,7 @@ export default {
|
||||
_formData.append("createUserName", this.$store.getters.userInfo.userName);
|
||||
_formData.append("prcType", "10");
|
||||
_formData.append("json", JSON.stringify({
|
||||
taskInfo: "确认人确认",
|
||||
taskInfo: "产品经理分发",
|
||||
form: this.qdform,
|
||||
roleForm: this.roleForm,
|
||||
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 :span="size ? 6 : 8" v-btn-permission="'f4eeb9ed48eac5686a456a5582508d9c'">
|
||||
<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-left">
|
||||
<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 === '责任人审核') {
|
||||
this.$router.push({
|
||||
name: 'bzjdStep4',
|
||||
name: 'phoneBzjdStep4',
|
||||
query: {
|
||||
taskIds: row.taskIds,
|
||||
prcId: row.prcId,
|
||||
@@ -868,7 +868,7 @@ export default {
|
||||
}
|
||||
break
|
||||
case '10':
|
||||
if (row.taskInfo === '确认人确认') {
|
||||
if (row.taskInfo === '产品工程经理分发清单') {
|
||||
this.$router.push({
|
||||
name: 'xmqdqrStep2',
|
||||
query: {
|
||||
@@ -879,7 +879,7 @@ export default {
|
||||
prcType: row.prcType
|
||||
}
|
||||
})
|
||||
} else if(row.taskInfo === '标准法规部经理审批'){
|
||||
} else if(row.taskInfo === '确认人确认'){
|
||||
this.$router.push({
|
||||
name: 'xmqdqrStep3',
|
||||
query: {
|
||||
@@ -890,6 +890,28 @@ export default {
|
||||
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
|
||||
case 'laws2':
|
||||
|
||||
@@ -1641,6 +1641,7 @@ export default {
|
||||
}, res => {
|
||||
console.log('1640',res)
|
||||
this.sarAccessInfoSearchList = res.data.list
|
||||
this.drawerTotal = res.data.count
|
||||
}, e => {
|
||||
})
|
||||
}else if (this.sarAccessInfoSearch.dataSource === 'BUSINESS'){
|
||||
@@ -1649,6 +1650,7 @@ export default {
|
||||
}, res => {
|
||||
console.log('1648',res)
|
||||
this.sarAccessInfoSearchList = res.data.list
|
||||
this.drawerTotal = res.data.count
|
||||
}, e => {
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1538,6 +1538,7 @@ export default {
|
||||
}, res => {
|
||||
console.log('1640',res)
|
||||
this.sarAccessInfoSearchList = res.data.list
|
||||
this.drawerTotal = res.data.count
|
||||
}, e => {
|
||||
})
|
||||
}else if (this.sarAccessInfoSearch.dataSource === 'BUSINESS'){
|
||||
@@ -1546,6 +1547,7 @@ export default {
|
||||
}, res => {
|
||||
console.log('1648',res)
|
||||
this.sarAccessInfoSearchList = res.data.list
|
||||
this.drawerTotal = res.data.count
|
||||
}, e => {
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1636,6 +1636,7 @@ export default {
|
||||
}, res => {
|
||||
console.log('1640',res)
|
||||
this.sarAccessInfoSearchList = res.data.list
|
||||
this.drawerTotal = res.data.count
|
||||
}, e => {
|
||||
})
|
||||
}else if (this.sarAccessInfoSearch.dataSource === 'BUSINESS'){
|
||||
@@ -1644,6 +1645,7 @@ export default {
|
||||
}, res => {
|
||||
console.log('1648',res)
|
||||
this.sarAccessInfoSearchList = res.data.list
|
||||
this.drawerTotal = res.data.count
|
||||
}, e => {
|
||||
})
|
||||
}
|
||||
|
||||
@@ -20,8 +20,7 @@
|
||||
default-expanded-keys="['64df1d5522bb49c09af2']"
|
||||
highlight-current
|
||||
@node-click="treeClick"
|
||||
:filter-node-method="filterNode"
|
||||
:expand-on-click-node="false">
|
||||
:filter-node-method="filterNode">
|
||||
<span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)"
|
||||
@mouseleave="mouseleave(data)">
|
||||
<span
|
||||
@@ -151,7 +150,7 @@
|
||||
:loading="delLoading"
|
||||
size="mini"
|
||||
@click="deleteStand(2)"
|
||||
v-btn-permission="'c09dc12531085e30e39bbdc6cb6116ba'"><i class="iconfont"></i>批量删除
|
||||
v-btn-permission="'dbaf9df2990a595c8abea28e68b1a681'"><i class="iconfont"></i>批量删除
|
||||
</el-button>
|
||||
<el-button class="common-button-default"
|
||||
size="mini"
|
||||
@@ -772,7 +771,7 @@
|
||||
>
|
||||
<template slot="label">起草单位</template>
|
||||
<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
|
||||
:key="field.attrField"
|
||||
:config="field"
|
||||
@@ -781,6 +780,15 @@
|
||||
:disabled="formdisableflag" placeholder="选择或输入起草单位">
|
||||
</el-input>
|
||||
</el-tooltip>
|
||||
<div v-else>
|
||||
<el-input
|
||||
:key="field.attrField"
|
||||
:config="field"
|
||||
clearable
|
||||
v-model="sarStandardsInfoEO['QCDW']"
|
||||
:disabled="formdisableflag" placeholder="选择或输入起草单位">
|
||||
</el-input>
|
||||
</div>
|
||||
<div>
|
||||
<el-button
|
||||
size="mini"
|
||||
|
||||
+1
-4
@@ -10,8 +10,6 @@
|
||||
</el-input>
|
||||
<div class="tree">
|
||||
<el-card style="height: 100%;padding-right: 120px;overflow-y:auto">
|
||||
|
||||
|
||||
<el-tree
|
||||
ref="tree"
|
||||
node-key="id"
|
||||
@@ -23,8 +21,7 @@
|
||||
default-expanded-keys="['22179d54d4e640098e30']"
|
||||
highlight-current
|
||||
@node-click="treeClick"
|
||||
:filter-node-method="filterNode"
|
||||
:expand-on-click-node="false">
|
||||
:filter-node-method="filterNode">
|
||||
<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 style="font-size:12px"> {{ node.label }} </span>
|
||||
|
||||
@@ -21,8 +21,7 @@
|
||||
default-expanded-keys="['64df1d5522bb49c09af6']"
|
||||
highlight-current
|
||||
@node-click="treeClick"
|
||||
:filter-node-method="filterNode"
|
||||
:expand-on-click-node="false">
|
||||
:filter-node-method="filterNode">
|
||||
<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 style="font-size:12px"> {{ node.label }} </span>
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
</el-input>
|
||||
<div class="tree">
|
||||
<el-card style="height: 100%;padding-right: 120px;overflow-y:auto">
|
||||
|
||||
<el-tree
|
||||
ref="tree"
|
||||
node-key="id"
|
||||
@@ -21,8 +20,7 @@
|
||||
default-expanded-keys="['22179d54d4e640098e29']"
|
||||
highlight-current
|
||||
@node-click="treeClick"
|
||||
:filter-node-method="filterNode"
|
||||
:expand-on-click-node="false">
|
||||
:filter-node-method="filterNode">
|
||||
<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 style="font-size:12px"> {{ node.label }} </span>
|
||||
|
||||
@@ -100,12 +100,14 @@
|
||||
<el-table-column
|
||||
prop="standName"
|
||||
label="中文名称"
|
||||
min-width="300"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standEnName"
|
||||
label="英文名称"
|
||||
min-width="300"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
</el-table-column>
|
||||
|
||||
+1
-1
@@ -190,7 +190,7 @@
|
||||
<template slot-scope="scope">
|
||||
<!-- <el-button @click="changeState(scope.row)">符合性状态</el-button>-->
|
||||
<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>
|
||||
</template>
|
||||
|
||||
+38
-10
@@ -736,6 +736,33 @@ const routes = [
|
||||
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',
|
||||
name: 'xmqdqrStep1-1',
|
||||
@@ -763,15 +790,6 @@ const routes = [
|
||||
title: '项目清单确认流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/xmqdqrStep3',
|
||||
name: 'xmqdqrStep3',
|
||||
component: () => import('@/pages/processCenter/pages/creatProcess/xmqdqr/step3.vue'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '项目清单确认流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/wfhxzgStep1',
|
||||
name: 'wfhxzgStep1',
|
||||
@@ -1687,7 +1705,18 @@ const routes = [
|
||||
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'
|
||||
}
|
||||
},
|
||||
|
||||
// 工作组
|
||||
{
|
||||
path: '/workingGroup',
|
||||
|
||||
Reference in New Issue
Block a user