Compare commits
75
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
acfa0f7910 | ||
|
|
8d60b79bc5 | ||
|
|
e334e1efc0 | ||
|
|
3bfdb1da01 | ||
|
|
a71c02333e | ||
|
|
6f76035a00 | ||
|
|
5d5da6502c | ||
|
|
e2e20e6702 | ||
|
|
6fd3f42163 | ||
|
|
c20ea9ccee | ||
|
|
9f825677b5 | ||
|
|
15e6cb7024 | ||
|
|
a72523106b | ||
|
|
dea3149524 | ||
|
|
2c4c77b56b | ||
|
|
78cf8bcefd | ||
|
|
bd820559a0 | ||
|
|
d3d1346cf0 | ||
|
|
9789adce36 | ||
|
|
1de74763b4 | ||
|
|
abc6671786 | ||
|
|
a52796f329 | ||
|
|
20a5b522fc | ||
|
|
10c9c008ce | ||
|
|
d46d4756ea | ||
|
|
25456f18e4 | ||
|
|
e79bca92fa | ||
|
|
aa8b442b47 | ||
|
|
e077bc79b2 | ||
|
|
6c9d691189 | ||
|
|
f431f8aff6 | ||
|
|
9a81d89d5e | ||
|
|
8c1b8c953f | ||
|
|
726686c847 | ||
|
|
c71b61ccf1 | ||
|
|
ccd28604cb | ||
|
|
94137281db | ||
|
|
bec5eab464 | ||
|
|
1b6b3bf4d8 | ||
|
|
401f113855 | ||
|
|
8c8d2e7fc2 | ||
|
|
099def45e7 | ||
|
|
40ca0d84c8 | ||
|
|
0cfce63b66 | ||
|
|
5a837f5d52 | ||
|
|
b92d330adc | ||
|
|
611bd37a64 | ||
|
|
a8e322c49f | ||
|
|
4ac8bceb58 | ||
|
|
97342823e6 | ||
|
|
5a36f2ecdc | ||
|
|
8fc16b03d4 | ||
|
|
1c61e2c26b | ||
|
|
c32e4dcc16 | ||
|
|
e5023e029a | ||
|
|
679fab752a | ||
|
|
038b5d60bf | ||
|
|
b642bed2f1 | ||
|
|
5f66128bcc | ||
|
|
392a46397a | ||
|
|
34e89a53d5 | ||
|
|
3c737dda0e | ||
|
|
3ed0168cff | ||
|
|
3a97e3b6b4 | ||
|
|
093f122822 | ||
|
|
f92eb0105c | ||
|
|
02485b4b6a | ||
|
|
7ef5f06a8a | ||
|
|
d3bef2f4b5 | ||
|
|
3bc531758d | ||
|
|
2e2fed24a3 | ||
|
|
e01a6e85b4 | ||
|
|
a0f263556d | ||
|
|
37168a9bfe | ||
|
|
fd7cbaabdd |
@@ -396,3 +396,6 @@
|
||||
border-color: #3986c9
|
||||
}
|
||||
|
||||
.flow-list{
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
@@ -131,6 +131,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -185,7 +187,7 @@ export default {
|
||||
replaceLawsNumForm: {
|
||||
standNumber: '', // 政策编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: '',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -143,6 +143,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -206,7 +208,7 @@
|
||||
standNumber: '', // 政策编号
|
||||
standName: '',
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'INLAND',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -127,6 +127,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -187,7 +189,7 @@ export default {
|
||||
replaceLawsNumForm: {
|
||||
numberName: '', // 政策编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
lawsType: 'FOREIGN',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -123,6 +123,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -183,7 +185,7 @@
|
||||
// 代替标准号
|
||||
replaceLawsNumForm: {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'ALL',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -126,6 +126,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -192,7 +194,7 @@ export default {
|
||||
dataSource: '',
|
||||
standNumber: '', // 标准编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'INLAND',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -136,6 +136,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size = "replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -200,7 +202,7 @@ export default {
|
||||
standNumber: '', // 标准编号
|
||||
standName: '', // 标准编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'INLAND',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -155,6 +155,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -215,7 +217,7 @@ export default {
|
||||
dataSource: 'BUSINESS', // 数据来源
|
||||
numberName: '', // 政策编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
quoteIdList: '',
|
||||
menuId: '',
|
||||
|
||||
@@ -139,6 +139,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -206,7 +208,7 @@ export default {
|
||||
replaceLawsNumForm: {
|
||||
standNumber: '', // 政策编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'FOREIGN',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -152,6 +152,8 @@
|
||||
<loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading>
|
||||
<!--分页-->
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
style="position: relative;"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@@ -211,7 +213,7 @@ export default {
|
||||
lawsNumber: '', // 政策编号
|
||||
numberName: '', // 政策名称
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
quoteIdList: '',
|
||||
menuId: '',
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
<template>
|
||||
<el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled">
|
||||
<el-radio-group :value="value"
|
||||
:disabled="disabled"
|
||||
:placeholder="placeholder"
|
||||
@input="handleChange"
|
||||
>
|
||||
<el-radio v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label">{{ item.value }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "RadioGroupFormItem",
|
||||
props: {
|
||||
label: {
|
||||
type: String,
|
||||
},
|
||||
prop: {
|
||||
type: String
|
||||
},
|
||||
value: {
|
||||
required: true
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
options: {
|
||||
type: Array,
|
||||
required: true
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
placeholder () {
|
||||
return `请选择${this.label}`
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
handleChange (event) {
|
||||
console.log(event)
|
||||
this.$emit('input', event)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.add-form-item /deep/ .el-radio-group{
|
||||
padding: 0 10px !important;
|
||||
}
|
||||
.add-form-item /deep/ .el-radio{
|
||||
margin-right: 15px !important;
|
||||
}
|
||||
.add-form-item /deep/ .el-radio:last-child {
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
</style>
|
||||
@@ -23,6 +23,7 @@ export default {
|
||||
name: "SelectMultipleFormItem",
|
||||
props: {
|
||||
value: {
|
||||
type: [Array, String],
|
||||
required: true
|
||||
},
|
||||
prop: {
|
||||
@@ -49,21 +50,39 @@ export default {
|
||||
default: true
|
||||
},
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
basicType: 'Array'
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
placeholder () {
|
||||
return `请选择${this.label}`
|
||||
},
|
||||
data () {
|
||||
if (this.value && this.value !== '') {
|
||||
return this.value.split(',')
|
||||
} else {
|
||||
if (!this.value) {
|
||||
return []
|
||||
} else {
|
||||
if (this.getType(this.value) === 'Array') {
|
||||
this.basicType = 'Array'
|
||||
return this.value
|
||||
} else if (this.getType(this.value) === 'String'){
|
||||
this.basicType = 'String'
|
||||
return this.value.split(',')
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getType (target) {
|
||||
return Object.prototype.toString.call(target).slice(8, -1)
|
||||
},
|
||||
handleChange (event) {
|
||||
this.$emit('input', event.join(','))
|
||||
if (this.basicType === 'Array') {
|
||||
this.$emit('input', event)
|
||||
} else if (this.basicType === 'String') {
|
||||
this.$emit('input', event.join(','))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<el-card>
|
||||
<el-form-item :prop="prop" style="margin-bottom: 0">
|
||||
<h4>{{ title }}</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<div style="margin-top: 10px;width: 300px;max-width: 100%">
|
||||
<el-input
|
||||
:disabled="disabled"
|
||||
:value="name"
|
||||
|
||||
@@ -7,16 +7,21 @@
|
||||
clearable
|
||||
></el-input>
|
||||
<div style="display: flex;justify-content: space-between">
|
||||
<div style="width: 80%;margin-top: 13px">
|
||||
<div v-for="file in FileList"
|
||||
:key="file.id"
|
||||
@click="onPreview(file)"
|
||||
style="color: #409eff;cursor:pointer"
|
||||
class="fileClass">
|
||||
{{ file.name }}
|
||||
</div>
|
||||
<div style="margin-top: 13px" :style="{width: view ? '100%' : '80%'}">
|
||||
<template v-if="FileList.length > 0">
|
||||
<div v-for="file in FileList"
|
||||
:key="file.id"
|
||||
@click="onPreview(file)"
|
||||
style="color: #409eff;cursor:pointer"
|
||||
class="fileClass">
|
||||
{{ file.name }}
|
||||
</div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<div v-if="view" style="line-height: 22px">-</div>
|
||||
</template>
|
||||
</div>
|
||||
<div style="width: 20%;">
|
||||
<div v-if="!view" style="width: 20%;">
|
||||
<el-button :disabled="disabled"
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
@@ -27,7 +32,8 @@
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
|
||||
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件" v-dragDialogWidth
|
||||
:close-on-click-modal="false">
|
||||
<el-upload
|
||||
multiple
|
||||
drag
|
||||
@@ -85,6 +91,10 @@ export default {
|
||||
size: {
|
||||
type: Number,
|
||||
default: 200
|
||||
},
|
||||
view: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
created () {
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
<template>
|
||||
<div class="phoneHistortTable">
|
||||
<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"
|
||||
min-width="100"
|
||||
label="任务步骤"
|
||||
align="center"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="assignee"
|
||||
min-width="100"
|
||||
label="任务受理人"
|
||||
align="center"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="createTime"
|
||||
label="创建时间"
|
||||
min-width="100"
|
||||
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="完成时间"
|
||||
min-width="100"
|
||||
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="流程信息"
|
||||
min-width="100"
|
||||
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 ? '已完成' : scope.row.receiveStatus ? '已接收' : '未完成' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<loading :loading="loading">流程列表加载中</loading>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "phoneApprovalHistory",
|
||||
data() {
|
||||
return {
|
||||
histortData: [],
|
||||
loading: false
|
||||
}
|
||||
},
|
||||
props: {
|
||||
prcNum: {
|
||||
type: String
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getHistoryData () {
|
||||
this.$http.get('lawss/activiti/get_list_by_instance', {
|
||||
prcNum: this.prcNum || this.$route.query.prcNum
|
||||
}, {
|
||||
loading: "loading",
|
||||
_this: this
|
||||
}, res => {
|
||||
this.histortData = res
|
||||
}, e => {})
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.getHistoryData()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.phoneHistortTable{
|
||||
height: calc(100vh - 157px);
|
||||
//min-height: calc(100vh - 52px)
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,578 @@
|
||||
<template>
|
||||
<div class="roleTree">
|
||||
<el-drawer
|
||||
:title="isTitle"
|
||||
v-if="visible"
|
||||
:visible.sync="visible"
|
||||
:wrapperClosable="false"
|
||||
@close="handleTreeDrawerCancel"
|
||||
append-to-body
|
||||
size="90%">
|
||||
<el-form
|
||||
ref="attributeEO"
|
||||
class="label-input-form"
|
||||
:inline="true"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<el-form-item class="form-item-disabled" style="margin: 10px;">
|
||||
<el-input
|
||||
v-model="filterText"
|
||||
placeholder="请输入姓名"
|
||||
@keyup.enter.native="searchChange"
|
||||
size="mini"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class="form-item-disabled" style="margin-top: 10px;">
|
||||
<el-button size="mini" type="primary" @click="searchChange">
|
||||
查询
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div class="divTree">
|
||||
<!-- 当前tree展示全部人员 -->
|
||||
<el-tree
|
||||
v-if="open1 && isVisible"
|
||||
node-key="id"
|
||||
style="height: 100%; overflow: auto;"
|
||||
class="filter-tree tree-line"
|
||||
icon-class="icon-tree"
|
||||
@check-change="checkChange"
|
||||
:data="treeData"
|
||||
:props="defaultProps"
|
||||
:default-checked-keys="nodeList2"
|
||||
:default-expanded-keys="defaultKey"
|
||||
highlight-current
|
||||
check-strictly
|
||||
@check="drawerCheck"
|
||||
:expand-on-click-node="true"
|
||||
show-checkbox
|
||||
ref="tree"
|
||||
:load="loadNode"
|
||||
:lazy="true">
|
||||
<span class="custom-tree-node" slot-scope="{ node, data }">
|
||||
<span :class="node.disabled ? 'is-show' : 'is-leaf-none'"></span>
|
||||
<span> {{ node.label }} </span>
|
||||
</span>
|
||||
</el-tree>
|
||||
<!-- 当前tree展示搜索出的人员 -->
|
||||
<el-tree
|
||||
v-if="!open1 && isVisible"
|
||||
node-key="id"
|
||||
style="height: 100%; overflow: auto;"
|
||||
class="filter-tree tree-line"
|
||||
icon-class="icon-tree"
|
||||
:data="treeData1"
|
||||
:props="defaultProps"
|
||||
@check-change="checkChange2"
|
||||
:default-checked-keys="nodeList2"
|
||||
:default-expanded-keys="defaultKey"
|
||||
default-expand-all
|
||||
highlight-current
|
||||
:check-strictly="true"
|
||||
@check="drawerCheck"
|
||||
show-checkbox
|
||||
ref="tree"
|
||||
:lazy="false"
|
||||
:key="treeKey"
|
||||
>
|
||||
<span class="custom-tree-node" slot-scope="{ node, data }">
|
||||
<span :class="node.disabled ? 'is-show' : 'is-leaf-none'"></span>
|
||||
<span> {{ node.label }} </span>
|
||||
</span>
|
||||
</el-tree>
|
||||
</div>
|
||||
<div class="divDel">
|
||||
<div class="divDel_title">已选中人员</div>
|
||||
<div class="divDel_box">
|
||||
<el-tag
|
||||
v-for="tag in delList"
|
||||
:key="tag.id"
|
||||
size="mini"
|
||||
@close="handleClose(tag)"
|
||||
closable>
|
||||
{{tag.name}}
|
||||
</el-tag>
|
||||
<el-tag v-show="delList.length > 0 && !checkBox" type="danger" closable size="mini"
|
||||
@close="handleCloseAll()">全部删除
|
||||
</el-tag>
|
||||
</div>
|
||||
</div>
|
||||
<div id="roleFormButton" class="demo-drawer-footer">
|
||||
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary"
|
||||
:loading="subLoading" @click="saveUserInfo">确定
|
||||
</el-button>
|
||||
|
||||
<el-button class="common-button-default" size="mini" icon="el-icon-close" :loading="subLoading"
|
||||
@click="handleTreeDrawerCancel">取消
|
||||
</el-button>
|
||||
</div>
|
||||
<loading style="z-index: 2099;" :loading="treeLoading">导入中...</loading>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
function debounce(func, wait = 500) {
|
||||
let timeout;
|
||||
return function (event) {
|
||||
clearTimeout(timeout)
|
||||
timeout = setTimeout(() => {
|
||||
func.call(this, event)
|
||||
}, wait)
|
||||
}
|
||||
}
|
||||
|
||||
export default {
|
||||
name: "phoneRoleTree",
|
||||
props: {
|
||||
checkBox: { // 单选/多选
|
||||
type: Boolean,
|
||||
default: false,//默认false多选
|
||||
},
|
||||
isTitle: { // 标题
|
||||
type: String
|
||||
},
|
||||
isVisible: { // drawer开关
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
nodeList: { // 回显
|
||||
type: Array,
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
},
|
||||
type: {
|
||||
type: Number,
|
||||
default: 0
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
treeKey: 1,
|
||||
defaultKey: [],//默认展开的节点的 key 的数组
|
||||
visible: false,
|
||||
selectList: [],
|
||||
nodeList2: [],//默认勾选的节点的 key 的数组
|
||||
delList: [],
|
||||
roleList: [],
|
||||
filterText: '',
|
||||
defaultProps: {//配置选项
|
||||
children: 'children',//指定子树为节点对象的某个属性值
|
||||
label: 'name',//指定节点标签为节点对象的某个属性值
|
||||
},
|
||||
treeData1: [],
|
||||
treeData: [],
|
||||
open1: true,
|
||||
treeLoading: false,
|
||||
subLoading: false,
|
||||
roleRow: {}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
nameJoinAccount(treeData1) {
|
||||
treeData1.forEach(item => {
|
||||
if (item.account) item.name = `${item.name}(${item.account})`
|
||||
if (item.children) this.nameJoinAccount(item.children)
|
||||
})
|
||||
},
|
||||
handleClose(tag) {
|
||||
let arr = []
|
||||
for (let a = 0; a < this.delList.length; a++) {
|
||||
if (tag.id === this.delList[a].id) {
|
||||
this.delList.splice(a, 1)
|
||||
}
|
||||
}
|
||||
this.delList.map(item => {
|
||||
arr.push(item)
|
||||
})
|
||||
this.$refs.tree.setCheckedKeys(arr);
|
||||
for (let b = 0; b < this.nodeList2.length; b++) {
|
||||
if (tag.id === this.nodeList2[b]) {
|
||||
this.nodeList2.splice(b, 1)
|
||||
}
|
||||
}
|
||||
for (let c = 0; c < this.roleList.length; c++) {
|
||||
if (tag.id === this.roleList[c].id) {
|
||||
this.roleList.splice(c, 1)
|
||||
}
|
||||
}
|
||||
},
|
||||
handleCloseAll() {
|
||||
this.$msgbox({
|
||||
title: '提示',
|
||||
message: '是否删除当前选中人员',
|
||||
showCancelButton: true,
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
}).then(() => {
|
||||
this.delList = []
|
||||
this.nodeList2 = []
|
||||
this.roleList = []
|
||||
this.$refs.tree.setCheckedKeys([]);
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '取消删除'
|
||||
});
|
||||
}
|
||||
)
|
||||
},
|
||||
searchChange() {
|
||||
// 查询
|
||||
if (this.filterText.length) {
|
||||
this.open1 = false // 显示第二个tree
|
||||
this.treeLoading = true
|
||||
this.defaultKey = []
|
||||
this.$http.get('SarInstitution/institution/getNextTwo', {
|
||||
userName: this.filterText
|
||||
}, {}, res => {
|
||||
this.treeData1 = res
|
||||
this.treeData1.forEach(item => {
|
||||
this.defaultKey.push(item.id)
|
||||
})
|
||||
this.nameJoinAccount(this.treeData1)
|
||||
this.treeLoading = false
|
||||
})
|
||||
// this.treeKey++
|
||||
|
||||
|
||||
// this.$http.get('SarInstitution/institution/institutionAndUser', {
|
||||
// userName: this.filterText
|
||||
// }, {}, res => {
|
||||
// this.treeData1 = res.data
|
||||
// this.treeData1.forEach(item => {
|
||||
// this.defaultKey.push(item.id)
|
||||
// })
|
||||
// console.log(1);
|
||||
// this.getChildren()
|
||||
// this.treeLoading = false
|
||||
// })
|
||||
} else {
|
||||
this.open1 = true
|
||||
}
|
||||
},
|
||||
changeInput: debounce(function (val) {
|
||||
if (val.length) {
|
||||
this.open1 = false
|
||||
this.treeLoading = true
|
||||
this.$http.get('SarInstitution/institution/institutionAndUser', {
|
||||
userName: val
|
||||
}, {}, res => {
|
||||
this.treeData1 = res.data
|
||||
this.treeLoading = false
|
||||
})
|
||||
} else {
|
||||
this.open1 = true
|
||||
}
|
||||
}),
|
||||
checkChange2(row, type, c) {
|
||||
if (this.checkBox) {
|
||||
} else {
|
||||
if (type) {
|
||||
this.nodeList2.push(row.id)
|
||||
this.delList.push(row)
|
||||
} else {
|
||||
for (let a = 0; a < this.nodeList2.length; a++) {
|
||||
if (row.id === this.nodeList2[a]) {
|
||||
this.nodeList2.splice(a, 1)
|
||||
}
|
||||
}
|
||||
for (let b = 0; b < this.delList.length; b++) {
|
||||
if (row.id === this.delList[b].id) {
|
||||
this.delList.splice(b, 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
checkChange(row, type, c) {
|
||||
//节点选中状态发生变化时的回调(传递给 data 属性的数组中该节点所对应的对象、节点本身是否被选中、节点的子树中是否有被选中的节点)
|
||||
if (this.checkBox) {
|
||||
} else {
|
||||
if (type) {
|
||||
this.nodeList2.push(row.id)
|
||||
this.delList.push(row)
|
||||
} else {
|
||||
for (let a = 0; a < this.nodeList2.length; a++) {
|
||||
if (row.id === this.nodeList2[a]) {
|
||||
this.nodeList2.splice(a, 1)
|
||||
}
|
||||
}
|
||||
for (let b = 0; b < this.delList.length; b++) {
|
||||
if (row.id === this.delList[b].id) {
|
||||
this.delList.splice(b, 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
handleTreeDrawerCancel() {
|
||||
this.filterText = ''
|
||||
this.open1 = true
|
||||
this.visible = false
|
||||
},
|
||||
saveUserInfo() {
|
||||
if (this.roleList.length === 0) {
|
||||
// this.roleList.push({id: "", name: ""});
|
||||
return this.$message.warning('请选择人员')
|
||||
}
|
||||
if (this.checkBox) {
|
||||
this.$emit('checkedRole', this.roleList)
|
||||
this.nodeList2 = []
|
||||
this.$emit('update:isVisible', false)
|
||||
} else {
|
||||
if (this.nodeList2.length > 0 && this.nodeList2[0].length !== 0) {
|
||||
let ids = ''
|
||||
this.nodeList2.forEach(item => {
|
||||
if (ids.length > 0) {
|
||||
ids += ','
|
||||
ids += item
|
||||
} else {
|
||||
ids = item
|
||||
}
|
||||
})
|
||||
this.subLoading = true
|
||||
this.$http.get('SarInstitution/institution/getNextById', {
|
||||
ids: ids,
|
||||
topNum: 3,
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.$emit('checkedRole', res)
|
||||
this.nodeList2 = []
|
||||
this.$emit('update:isVisible', false)
|
||||
this.subLoading = false
|
||||
})
|
||||
} else {
|
||||
this.$emit('checkedRole', this.roleList)
|
||||
this.nodeList2 = []
|
||||
this.$emit('update:isVisible', false)
|
||||
}
|
||||
}
|
||||
this.open1 = true
|
||||
},
|
||||
drawerCheck(data) {
|
||||
//当复选框被点击的时候触发
|
||||
//共两个参数,依次为:传递给 data 属性的数组中该节点所对应的对象、树目前的选中状态对象,包含 checkedNodes、checkedKeys、halfCheckedNodes、halfCheckedKeys 四个属性
|
||||
if (this.checkBox) { // 单选
|
||||
// 单选判断
|
||||
let getlist = this.$refs.tree.getCheckedNodes()
|
||||
if (getlist.length > 1) {
|
||||
this.$refs.tree.setCheckedKeys([])
|
||||
this.$refs.tree.setCheckedKeys([data.id])
|
||||
this.roleList = [data]
|
||||
this.delList = [data]
|
||||
} else if (getlist.length === 0) {
|
||||
this.roleList = [{}]
|
||||
this.delList = []
|
||||
} else if (getlist.length === 1) {
|
||||
this.roleList = [data]
|
||||
this.delList = [data]
|
||||
}
|
||||
} else { // 多选
|
||||
if (this.roleList.length === 0) {
|
||||
this.roleList.push(data)
|
||||
} else {
|
||||
let delFlag = true
|
||||
this.roleList.forEach((item, index) => {
|
||||
if (item.id === data.id) {
|
||||
this.roleList.splice(index, 1)
|
||||
delFlag = false
|
||||
}
|
||||
})
|
||||
if (delFlag) {
|
||||
this.roleList.push(data)
|
||||
}
|
||||
}
|
||||
// this.roleList = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes())
|
||||
}
|
||||
},
|
||||
loadNode(node, resolve) {
|
||||
//加载子树数据的方法,仅当 lazy 属性为true 时生效
|
||||
if (node.level === 0) {
|
||||
return resolve(this.treeData);
|
||||
}
|
||||
this.getChildren(node, resolve)
|
||||
},
|
||||
getChildren(node, resolve) {
|
||||
this.$http.get('SarInstitution/institution/getNext', {
|
||||
institutionId: node.key,
|
||||
userName: this.filterText
|
||||
}, {}, res => {
|
||||
resolve(res)
|
||||
})
|
||||
},
|
||||
getTree() {
|
||||
this.treeLoading = true
|
||||
this.$http.get('SarInstitution/institution/getFirstInstitution', {}, {}, res => {
|
||||
this.treeData = res
|
||||
this.treeLoading = false
|
||||
})
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
isVisible(val) {
|
||||
this.visible = val
|
||||
if (val) {
|
||||
this.nodeList2 = this.nodeList
|
||||
if (this.nodeList2.length && this.nodeList2[0].length) {
|
||||
let ids = ''
|
||||
this.nodeList2.forEach(item => {
|
||||
if (ids.length) {
|
||||
ids += ','
|
||||
ids += item
|
||||
} else {
|
||||
ids = item
|
||||
}
|
||||
})
|
||||
this.$http.get('SarInstitution/institution/getNextById', {
|
||||
ids: ids
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.delList = res
|
||||
})
|
||||
} else {
|
||||
this.delList = []
|
||||
}
|
||||
} else {
|
||||
this.delList = []
|
||||
}
|
||||
},
|
||||
visible(val) {
|
||||
this.$emit('update:isVisible', val)
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getTree()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.divTree {
|
||||
overflow: auto;
|
||||
height: calc(~'100% - 100px');
|
||||
}
|
||||
|
||||
.divDel {
|
||||
border-top: 1px solid #000;
|
||||
height: 100px;
|
||||
|
||||
.divDel_title {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.divDel_box {
|
||||
height: 66px;
|
||||
padding: 0px 0 10px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
overflow: auto;
|
||||
margin: 10px;
|
||||
align-content: flex-start;
|
||||
|
||||
span {
|
||||
margin: 0px 5px 5px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/deep/ .icon-tree {
|
||||
margin: 0 5px 0 10px;
|
||||
position: relative;
|
||||
background: url('~@/assets/images/shangqi/img/tree-add.png');
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
/deep/ .el-tree-node__content {
|
||||
padding-left: 0px !important;
|
||||
}
|
||||
|
||||
/deep/ .is-leaf {
|
||||
background-image: none;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
/deep/ .is-leaf-none {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
background: url('~@/assets/images/shangqi/img/personnel.png');
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
/deep/ .is-show {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
background: url('~@/assets/images/shangqi/img/mechanism.png');
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
/deep/ .tree-line {
|
||||
.el-tree-node {
|
||||
position: relative;
|
||||
padding-left: 0px; // 缩进量
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.el-tree-node__children {
|
||||
padding-left: 16px; // 缩进量
|
||||
}
|
||||
|
||||
// 竖线
|
||||
.el-tree-node::before {
|
||||
content: "";
|
||||
height: 100%;
|
||||
width: 1px;
|
||||
position: absolute;
|
||||
left: -3px;
|
||||
top: -26px;
|
||||
border-width: 1px;
|
||||
border-left: 1px dashed #858990e0;
|
||||
}
|
||||
|
||||
// 当前层最后一个节点的竖线高度固定
|
||||
.el-tree-node:last-child::before {
|
||||
height: 38px; // 可以自己调节到合适数值
|
||||
}
|
||||
|
||||
// 横线
|
||||
.el-tree-node::after {
|
||||
content: "";
|
||||
width: 11px;
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
left: -3px;
|
||||
top: 12px;
|
||||
border-width: 1px;
|
||||
border-top: 1px dashed #858990e0;
|
||||
}
|
||||
|
||||
// 去掉最顶层的虚线,放最下面样式才不会被上面的覆盖了
|
||||
& > .el-tree-node::after {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
& > .el-tree-node::before {
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
// 展开关闭的icon
|
||||
.el-tree-node__expand-icon {
|
||||
font-size: 16px;
|
||||
// 叶子节点(无子节点)
|
||||
&.is-leaf {
|
||||
color: transparent;
|
||||
// display: none; // 也可以去掉
|
||||
}
|
||||
}
|
||||
}
|
||||
.demo-drawer-footer {
|
||||
height: 50px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -28,9 +28,14 @@ export default {
|
||||
this.$emit('pageChange', page)
|
||||
},
|
||||
pageSizeChange (pageSize) {
|
||||
this.userInfo.configContent = pageSize
|
||||
this.setUserInfo(JSON.stringify(JSON.parse(JSON.stringify(this.userInfo))))
|
||||
this.$emit('pageSizeChange', pageSize)
|
||||
if(this.autoSize) {
|
||||
this.$emit('pageSizeChange', pageSize)
|
||||
}else{
|
||||
this.userInfo.configContent = pageSize
|
||||
this.setUserInfo(JSON.stringify(JSON.parse(JSON.stringify(this.userInfo))))
|
||||
this.$emit('pageSizeChange', pageSize)
|
||||
}
|
||||
|
||||
|
||||
// if (this.getTypeFlag === 'CloudRepository') {
|
||||
// this.userInfo.configContent = pageSize
|
||||
|
||||
@@ -248,7 +248,7 @@
|
||||
:expand-on-click-node="false"
|
||||
show-checkbox>
|
||||
</el-tree>
|
||||
<pagination :page="page1" :pageSize="pageSize1" :total="total2" @pageChange="pageChange2" @pageSizeChange="pageSizeChange2"></pagination>
|
||||
<pagination :auto-size="true" :page="page1" :pageSize="pageSize1" :total="total2" @pageChange="pageChange2" @pageSizeChange="pageSizeChange2"></pagination>
|
||||
<div id="roleFormButton" class="demo-drawer-footer">
|
||||
<el-button
|
||||
size="mini"
|
||||
|
||||
@@ -1000,6 +1000,8 @@
|
||||
<loading :loading="tableLoading">数据加载中...</loading>
|
||||
</div>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="pageSize7"
|
||||
:page="page7"
|
||||
:total="total7"
|
||||
@pageChange="pageChange7"
|
||||
@@ -1898,7 +1900,7 @@ export default {
|
||||
orderBy: '',
|
||||
total7: 0,
|
||||
page7: 1,
|
||||
pageSize7: this.$store.getters.userInfo.configContent,
|
||||
pageSize7: 20,
|
||||
addForm: {
|
||||
title: '',
|
||||
content: '',
|
||||
|
||||
@@ -652,7 +652,9 @@
|
||||
align="center"
|
||||
width="130">
|
||||
<template slot-scope="scope">
|
||||
<p v-for="item in scope.row.issueTime.split(',')">{{ item }}</p>
|
||||
<template v-if="scope.row.issueTime"> <p v-for="item in scope.row.issueTime.split(',')">{{ item }}</p>
|
||||
</template>
|
||||
<template v-else></template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -664,7 +666,7 @@
|
||||
@pageChange="handlePageChange"
|
||||
@pageSizeChange="handlePageSizeChange"
|
||||
></pagination>
|
||||
<loading :loading="loading">数据获取中</loading>
|
||||
<loading :loading="dataLoading">数据获取中</loading>
|
||||
</div>
|
||||
<div class="demo-drawer-footer">
|
||||
<el-button
|
||||
@@ -904,7 +906,7 @@ export default {
|
||||
lawsType: 'FOREIGN'
|
||||
}, {
|
||||
_this: this,
|
||||
loading: 'loading'
|
||||
loading: 'dataLoading'
|
||||
}, res => {
|
||||
if (res.ok) {
|
||||
res.data.list.map(item => {
|
||||
@@ -921,7 +923,7 @@ export default {
|
||||
standNumber: this.conditionForm.numberName,
|
||||
standType: this.conditionForm.standType
|
||||
}, {
|
||||
_this: this, loading: 'loading'
|
||||
_this: this, loading: 'dataLoading'
|
||||
}, res => {
|
||||
if (res.ok) {
|
||||
res.data.list.map(item => {
|
||||
@@ -935,6 +937,7 @@ export default {
|
||||
item.resType = this.conditionForm.standType === 'FOREIGN' ? 'FOREIGN_STAND' : 'INLAND_STAND'
|
||||
})
|
||||
this.tableData = res.data.list
|
||||
console.log(this.tableData,"tableDatatableDatatableDatatableData")
|
||||
this.total2 = res.data.count
|
||||
}
|
||||
})
|
||||
|
||||
@@ -55,10 +55,14 @@ export default {
|
||||
required: true
|
||||
}
|
||||
},
|
||||
activated () {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
initOpen () {
|
||||
this.checkedKeys = []
|
||||
this.textStatusName = '全部'
|
||||
this.getData()
|
||||
this.$refs.standardSystemTreeRef.setCheckedKeys([])
|
||||
this.popupShow = true
|
||||
},
|
||||
open () {
|
||||
this.getData()
|
||||
this.$refs.standardSystemTreeRef.setCheckedKeys(this.initKeys)
|
||||
|
||||
@@ -102,7 +102,7 @@ export default {
|
||||
if (page) {
|
||||
this.searchQuery.page = page
|
||||
}
|
||||
this.$http._postData(this.url.searchSarBykey, this.searchQuery, config).then(res => {
|
||||
this.$http._post(this.url.searchSarBykey, this.searchQuery, config).then(res => {
|
||||
if (res.ok) {
|
||||
this.total = res.data.count
|
||||
if (this.searchQuery.page === 1) {
|
||||
|
||||
@@ -108,18 +108,20 @@ export default {
|
||||
standardSystemPopup,
|
||||
},
|
||||
data () {
|
||||
const searchQuery = {
|
||||
selectIndex: 'stand',
|
||||
selectValue: '',
|
||||
standSystem: [],
|
||||
textStatus: '全部',
|
||||
selectType: 'titleSearch',
|
||||
standType: 'INLAND',
|
||||
page: 1,
|
||||
pageSize: 20
|
||||
}
|
||||
return {
|
||||
titleName: '',
|
||||
searchQuery: {
|
||||
selectIndex: 'stand',
|
||||
selectValue: '',
|
||||
standSystem: [],
|
||||
textStatus: '全部',
|
||||
selectType: 'titleSearch',
|
||||
standType: 'INLAND',
|
||||
page: 1,
|
||||
pageSize: 20
|
||||
},
|
||||
searchQuery,
|
||||
initSearQuery: { ...searchQuery },
|
||||
total: 0,
|
||||
loading: false,
|
||||
list: [],
|
||||
@@ -149,8 +151,8 @@ export default {
|
||||
vm.titleName = '国内外政策库'
|
||||
break
|
||||
}
|
||||
vm.searchQuery.page = 1
|
||||
vm.$refs.standardSystemPopupRef.popupShow = true
|
||||
vm.searchQuery = { ...vm.initSearQuery }
|
||||
vm.$refs.standardSystemPopupRef.initOpen()
|
||||
vm.$refs.scroll.scrollTo(0, 0)
|
||||
vm.getData()
|
||||
}
|
||||
@@ -215,7 +217,7 @@ export default {
|
||||
if (page) {
|
||||
this.searchQuery.page = page
|
||||
}
|
||||
this.$http._postData("search/searchCenter/searchSarBykey", this.searchQuery, config).then(res => {
|
||||
this.$http._post("search/searchCenter/searchSarBykey", this.searchQuery, config).then(res => {
|
||||
if (res.ok) {
|
||||
this.total = res.data.count
|
||||
|
||||
@@ -240,10 +242,12 @@ export default {
|
||||
},
|
||||
getDicTypeListCode () {
|
||||
this.$http._getData('sys/dictype/getDicTypeListCode').then(res => {
|
||||
this.dict = {...res.data}
|
||||
this.setMap(this.dict.WBZTCLASS, 'textStatusMap')
|
||||
this.setMap(this.dict.lawsTextState, 'lawsMap')
|
||||
this.setMap(this.dict.SARPROPERTY, 'natureMap')
|
||||
if (res.ok) {
|
||||
this.dict = {...res.data}
|
||||
this.setMap(this.dict.WBZTCLASS, 'textStatusMap')
|
||||
this.setMap(this.dict.lawsTextState, 'lawsMap')
|
||||
this.setMap(this.dict.SARPROPERTY, 'natureMap')
|
||||
}
|
||||
})
|
||||
},
|
||||
setMap(data, key) {
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination style="position: relative" :page="searchForm.page" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
|
||||
<pagination style="position: relative" :auto-size="true" :page-size="searchForm.pageSize" :page="searchForm.page" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
|
||||
<loading :loading="loading">数据获取中...</loading>
|
||||
</div>
|
||||
<div slot="footer">
|
||||
@@ -163,7 +163,10 @@ export default {
|
||||
]
|
||||
return {
|
||||
show: false,
|
||||
searchForm: {},
|
||||
searchForm: {
|
||||
pageSize:20,
|
||||
page:1
|
||||
},
|
||||
api: {
|
||||
page: 'lawss/sarLawsTopic/page'
|
||||
},
|
||||
@@ -177,7 +180,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
async getData () {
|
||||
this.searchForm.pageSize = this.searchForm.pageSize || this.$store.getters.userInfo.configContent
|
||||
this.searchForm.pageSize = this.searchForm.pageSize
|
||||
this.searchForm.page = this.searchForm.page || 1
|
||||
let params = { ...this.searchForm }
|
||||
const res = await this.$http._getData(this.api.page, params, {_this:this,loading: 'loading'})
|
||||
@@ -187,7 +190,10 @@ export default {
|
||||
}
|
||||
},
|
||||
open () {
|
||||
this.$set(this, 'searchForm', {})
|
||||
this.$set(this, 'searchForm', {
|
||||
pageSize:20,
|
||||
page:1
|
||||
})
|
||||
this.getData()
|
||||
this.show = true
|
||||
},
|
||||
|
||||
@@ -73,12 +73,14 @@
|
||||
}
|
||||
.process-title {
|
||||
width: 100%;
|
||||
margin-left: 10px;
|
||||
//margin-left: 10px;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
display: inline-block;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
box-sizing: border-box;
|
||||
padding-left: 10px;
|
||||
.smallText {
|
||||
font-size: 14px;
|
||||
margin-left: 5px;
|
||||
|
||||
@@ -536,7 +536,7 @@
|
||||
// this.form.dyhz = data.form ? data.form.dyhz : ''
|
||||
this.newDocUser = data.docUser
|
||||
// this.form.fileList = data.form ? data.form.fileList : []
|
||||
this.commentText3 = data.commentText3 || data.commentText || ''
|
||||
this.commentText3 = data.commentText3 || ''
|
||||
this.form.fileName = data.form? data.form.fileName : data.fileName || ''
|
||||
this.form.fileId = data.form ? data.form.fileId : data.fileId || ''
|
||||
this.form.dyhz = data.form ? data.form.dyhz : data.dyhz || ''
|
||||
|
||||
@@ -454,7 +454,8 @@ export default {
|
||||
if (this.rh_pageData.fillFile !== undefined) {
|
||||
this.fillFileList = this.rh_pageData.fillFile
|
||||
}
|
||||
this.commentStep3 = JSON.parse(JSON.stringify(item)).commentStep3
|
||||
|
||||
this.commentStep3 = JSON.parse(JSON.stringify(item)).commentStep3 || ''
|
||||
this.rh_pageData.fillPeopleId = this.$store.getters.userInfo.userId
|
||||
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
|
||||
this.infoSourcesLength = this.rh_pageData.infoSources.length
|
||||
|
||||
@@ -547,7 +547,7 @@ export default {
|
||||
this.$nextTick(() => {
|
||||
this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData
|
||||
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
|
||||
this.commentStep5 = JSON.parse(JSON.stringify(item)).commentStep5
|
||||
this.commentStep5 = JSON.parse(JSON.stringify(item)).commentStep5 || ''
|
||||
this.infoSourcesLength = this.rh_pageData.infoSources.length
|
||||
// this.rh_pageData.comityFileNum = this.fileTextList
|
||||
})
|
||||
|
||||
@@ -381,7 +381,7 @@ export default {
|
||||
this.ch_pageData.fillPeopleId = this.$store.getters.userInfo.userId
|
||||
this.ch_pageData.fillPeople = this.$store.getters.userInfo.userName + '(' + this.$store.getters.userInfo.userId + ')'
|
||||
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
|
||||
this.commentStep3 = JSON.parse(JSON.stringify(item)).commentStep3
|
||||
this.commentStep3 = JSON.parse(JSON.stringify(item)).commentStep3 || ''
|
||||
// this.rh_pageData.comityFileNum = this.fileTextList
|
||||
})
|
||||
},
|
||||
|
||||
@@ -410,7 +410,7 @@ export default {
|
||||
this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData
|
||||
this.uploadFileLength = this.ch_pageData.fileTextList.length
|
||||
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
|
||||
this.commentStep5 = JSON.parse(JSON.stringify(item)).commentStep5
|
||||
this.commentStep5 = JSON.parse(JSON.stringify(item)).commentStep5 || ''
|
||||
// this.ch_pageData.comityFileNum = this.fileTextList
|
||||
})
|
||||
},
|
||||
|
||||
@@ -371,6 +371,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page="page"
|
||||
:pageSize="pageSize"
|
||||
:total="total"
|
||||
@@ -494,6 +495,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page="pageNo"
|
||||
:pageSize="pageSizeNo"
|
||||
:total="totalNo"
|
||||
@@ -646,10 +648,10 @@ export default {
|
||||
dataList: [],
|
||||
page: 1,
|
||||
total: 0,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
pageNo: 1,
|
||||
totalNo: 0,
|
||||
pageSizeNo: this.$store.getters.userInfo.configContent,
|
||||
pageSizeNo: 20,
|
||||
product: new Map(),
|
||||
hisListForm:{},
|
||||
listForm: {
|
||||
|
||||
@@ -538,6 +538,7 @@
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page="page"
|
||||
:pageSize="pageSize"
|
||||
:total="total"
|
||||
@@ -690,6 +691,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page="pageNo"
|
||||
:pageSize="pageSizeNo"
|
||||
:total="totalNo"
|
||||
@@ -847,10 +849,10 @@ export default {
|
||||
bringData: [],
|
||||
page: 1,
|
||||
total: 0,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
pageNo: 1,
|
||||
totalNo: 0,
|
||||
pageSizeNo: this.$store.getters.userInfo.configContent,
|
||||
pageSizeNo: 20,
|
||||
listForm: {
|
||||
listType: "", //区分是哪个清单
|
||||
listName: "", //清单名称
|
||||
|
||||
@@ -1329,6 +1329,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -1503,6 +1505,8 @@
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="standardSearchForm.pageSize"
|
||||
:page="standardSearchForm.page"
|
||||
:total="standardSearchForm.total"
|
||||
@pageChange="handleStandardPageChange"
|
||||
@@ -1655,7 +1659,7 @@
|
||||
verifySarStandard: false,
|
||||
standardSearchForm: {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'INLAND',
|
||||
standSort: '',
|
||||
@@ -1693,7 +1697,7 @@
|
||||
standNumber: '', // 标准编号
|
||||
standName: '', // 标准名称
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'INLAND',
|
||||
quoteIdList: '',
|
||||
@@ -3075,7 +3079,7 @@
|
||||
this.replaceLawsNumForm = {
|
||||
standNumber: '', // 标准编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'INLAND',
|
||||
quoteIdList: '',
|
||||
@@ -3101,7 +3105,7 @@
|
||||
standName: '',
|
||||
standNumber: '',
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
}
|
||||
this.replaceLawsNumModel = true
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<el-form-item label="标准来源" prop="standInData" class="add-form-item form-item-disabled">
|
||||
<el-radio-group v-model="form.standInData" disabled>
|
||||
<el-radio label="0">国内标准入库</el-radio>
|
||||
<el-radio label="1">国外标准入库</el-radio>
|
||||
<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">
|
||||
|
||||
@@ -192,6 +192,10 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<ReceiptDescription
|
||||
title="回执说明"
|
||||
v-model="commentStep"
|
||||
></ReceiptDescription>
|
||||
</div>
|
||||
<div class="content" v-show="active === '3'">
|
||||
<div class="flow-list">
|
||||
@@ -259,6 +263,7 @@
|
||||
</el-table>
|
||||
<loading :loading="loading">流程列表加载中</loading>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- 添加标准抽屉-->
|
||||
<el-drawer
|
||||
@@ -329,7 +334,11 @@
|
||||
width="55"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column type="index" width="55" label="序号" align="center"/>
|
||||
<el-table-column type="index" width="55" label="序号" align="center">
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (pageNo - 1) * pageSizeNo }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="code"
|
||||
align="center"
|
||||
@@ -408,17 +417,21 @@
|
||||
import ProcessHeader from "../../components/ProcessHeader";
|
||||
import ProcessTitle from "process/components/ProcessTitle";
|
||||
import ProcessFooter from "process/components/ProcessFooter";
|
||||
import { inboundLiaisonDetail } from "api/process";
|
||||
import { inboundLiaisonDetail ,saveTaskForPub } from "api/process";
|
||||
import ReceiptDescription from '@/components/hzwlComponents/ReceiptDescription'
|
||||
|
||||
export default {
|
||||
name: "cywbbzzxdStep3",
|
||||
components: {
|
||||
ReceiptDescription,
|
||||
ProcessHeader,
|
||||
ProcessTitle,
|
||||
ProcessFooter
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
taskIds:'',
|
||||
commentStep:'',
|
||||
//切换tab
|
||||
active: "1",
|
||||
foldFormFlag: true,
|
||||
@@ -507,6 +520,7 @@ export default {
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.taskIds=this.$route.query.taskIds
|
||||
this.getData();
|
||||
this.processTable();
|
||||
this.getStandData()
|
||||
@@ -533,6 +547,7 @@ export default {
|
||||
this.$nextTick(() => {
|
||||
if(item.wbbzform !== undefined){
|
||||
this.wbbzform = item.wbbzform
|
||||
this.commentStep = JSON.parse(JSON.stringify(item)).commentStep || ''
|
||||
this.participantsData = item.participantsData
|
||||
}else{
|
||||
return
|
||||
@@ -638,6 +653,23 @@ export default {
|
||||
|
||||
},
|
||||
handleSave() {
|
||||
this.saveLoading = true
|
||||
this.isSubmit = true
|
||||
let _formData = new FormData()
|
||||
_formData.append('taskIds', this.taskIds)
|
||||
_formData.append('json', JSON.stringify({
|
||||
wbbzform: this.wbbzform,
|
||||
participantsData: this.participantsData,
|
||||
commentStep: this.commentStep
|
||||
}))
|
||||
saveTaskForPub(_formData).then(res => {
|
||||
this.$message.success('保存成功')
|
||||
this.bpnId = res.result
|
||||
}).finally(() => {
|
||||
this.isSubmit = false
|
||||
this.saveLoading = false
|
||||
})
|
||||
|
||||
},
|
||||
//不备案
|
||||
handleRecord() {
|
||||
@@ -668,7 +700,7 @@ export default {
|
||||
this.$message.warning("请完善项目信息");
|
||||
}
|
||||
});
|
||||
this.wbbzform.commentText = this.commentText;
|
||||
this.wbbzform.commentText = this.commentStep;
|
||||
let json = {
|
||||
participantsData: this.participantsData,
|
||||
wbbzform: this.wbbzform,
|
||||
@@ -702,7 +734,7 @@ export default {
|
||||
projectNumber: this.projectNumber,
|
||||
projectName: this.projectName,
|
||||
expenses: this.expenses,
|
||||
costBudget: this.costBudget
|
||||
costBudget: this.costBudget,
|
||||
};
|
||||
this.participantsData.push(list);
|
||||
},
|
||||
@@ -723,6 +755,9 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.demo-drawer-footer{
|
||||
height:6% !important;
|
||||
}
|
||||
.wbbz-step1 {
|
||||
height: 100%;
|
||||
position: relative;
|
||||
|
||||
@@ -152,6 +152,10 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<ReceiptDescription
|
||||
title="回执说明"
|
||||
v-model="commentText"
|
||||
></ReceiptDescription>
|
||||
</div>
|
||||
<div class="content" v-show="active === '3'">
|
||||
<div class="flow-list">
|
||||
@@ -249,17 +253,19 @@ import ProcessHeader from "../../components/ProcessHeader";
|
||||
import ProcessTitle from "process/components/ProcessTitle";
|
||||
import ProcessFooter from "process/components/ProcessFooter";
|
||||
import { changeAssigneeNew, inboundLiaisonDetail } from "api/process";
|
||||
|
||||
import ReceiptDescription from '@/components/hzwlComponents/ReceiptDescription'
|
||||
export default {
|
||||
name: "cywbbzzxdStep4",
|
||||
components: {
|
||||
ProcessHeader,
|
||||
ProcessTitle,
|
||||
ProcessFooter
|
||||
ProcessFooter,
|
||||
ReceiptDescription
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
//切换tab
|
||||
commentText:'',
|
||||
active: "1",
|
||||
foldFormFlag: true,
|
||||
isSubmit: false,
|
||||
|
||||
@@ -152,6 +152,10 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<ReceiptDescription
|
||||
title="回执说明"
|
||||
v-model="commentText"
|
||||
></ReceiptDescription>
|
||||
</div>
|
||||
<div class="content" v-show="active === '3'">
|
||||
<div class="flow-list">
|
||||
@@ -249,17 +253,19 @@ import ProcessHeader from "../../components/ProcessHeader";
|
||||
import ProcessTitle from "process/components/ProcessTitle";
|
||||
import ProcessFooter from "process/components/ProcessFooter";
|
||||
import { changeAssigneeNew, inboundLiaisonDetail } from "api/process";
|
||||
|
||||
import ReceiptDescription from '@/components/hzwlComponents/ReceiptDescription'
|
||||
export default {
|
||||
name: "cywbbzzxdStep5",
|
||||
components: {
|
||||
ProcessHeader,
|
||||
ProcessTitle,
|
||||
ProcessFooter
|
||||
ProcessFooter,
|
||||
ReceiptDescription
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
//切换tab
|
||||
commentText:'',
|
||||
//切换tab,
|
||||
active: "1",
|
||||
foldFormFlag: true,
|
||||
isSubmit: false,
|
||||
|
||||
@@ -152,6 +152,10 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<ReceiptDescription
|
||||
title="回执说明"
|
||||
v-model="commentText"
|
||||
></ReceiptDescription>
|
||||
</div>
|
||||
<div class="content" v-show="active === '3'">
|
||||
<div class="flow-list">
|
||||
@@ -249,16 +253,18 @@ import ProcessHeader from "../../components/ProcessHeader";
|
||||
import ProcessTitle from "process/components/ProcessTitle";
|
||||
import ProcessFooter from "process/components/ProcessFooter";
|
||||
import { changeAssigneeNew, inboundLiaisonDetail } from "api/process";
|
||||
|
||||
import ReceiptDescription from '@/components/hzwlComponents/ReceiptDescription'
|
||||
export default {
|
||||
name: "cywbbzzxdStep6",
|
||||
components: {
|
||||
ProcessHeader,
|
||||
ProcessTitle,
|
||||
ProcessFooter
|
||||
ProcessFooter,
|
||||
ReceiptDescription
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
commentText:'',
|
||||
//切换tab
|
||||
active: "1",
|
||||
foldFormFlag: true,
|
||||
|
||||
+8
-2
@@ -80,7 +80,11 @@
|
||||
label="序号"
|
||||
width="55"
|
||||
align="center"
|
||||
></el-table-column>
|
||||
>
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (SearchForm.page - 1) * SearchForm.pageSize }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
label="政策文号"
|
||||
@@ -125,6 +129,8 @@
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="SearchForm.pageSize"
|
||||
:page="SearchForm.page"
|
||||
:total="SearchForm.total"
|
||||
@pageChange="pageChange"
|
||||
@@ -165,7 +171,7 @@ export default {
|
||||
standardDrawer: false,
|
||||
SearchForm: {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
// standType: 'INLAND',
|
||||
lawsNumber: '',
|
||||
|
||||
@@ -538,6 +538,8 @@ export default {
|
||||
this.qbfsForm = JSON.parse(JSON.stringify(json))
|
||||
this.qbfsForm.WJSCRYBUSS= this.$store.getters.userInfo.userId
|
||||
this.qbfsForm.WJSCRYBUSSName= this.$store.getters.userInfo.userName
|
||||
this.qbfsForm.commentText = ''
|
||||
this.commentText = ''
|
||||
this.qbfsForm['id'] = bringData.id
|
||||
this.FBGBUSSFileList=this.assemble(this.qbfsForm.FBGBUSS,this.qbfsForm.FBGBUSSName);
|
||||
this.BZSMBUSSFileList=this.assemble(this.qbfsForm.BZSMBUSS,this.qbfsForm.BZSMBUSSName);
|
||||
|
||||
@@ -1904,7 +1904,7 @@ export default {
|
||||
// this.QTWJBUSSFileList=this.assemble(this.form.QTWJBUSS,this.form.QTWJBUSSName);
|
||||
// this.GLWJBUSSFileList=this.assemble(this.form.GLWJBUSS,this.form.GLWJBUSSName);
|
||||
// this.roleForm = mes.roleForm
|
||||
this.commentText = mes.commentText
|
||||
this.commentText = mes.commentTexts || ''
|
||||
this.ccc = false
|
||||
})
|
||||
}else {
|
||||
@@ -2992,7 +2992,7 @@ export default {
|
||||
taskInfo: '技术标准起草',
|
||||
form: this.form,
|
||||
roleForm: this.roleForm,
|
||||
commentText: this.commentText
|
||||
commentTexts: this.commentText
|
||||
}))
|
||||
saveTaskFirst(_formData).then(res => {
|
||||
this.saveLoading = false
|
||||
|
||||
@@ -2438,7 +2438,7 @@
|
||||
},
|
||||
ifStandCodebyStandName(standCode,standName,taskIds,standNum,standSort){
|
||||
return new Promise((resolve, reject)=>{
|
||||
this.$http._postData('lawss/sarBussionessStand/ifStandCodebyStandName',{standCode,standName,taskIds,standNum,standSort})
|
||||
this.$http._post('lawss/sarBussionessStand/ifStandCodebyStandName',{standCode,standName,taskIds,standNum,standSort})
|
||||
.then(res => resolve(res))
|
||||
.catch(e => {
|
||||
throw new Error(e)
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="中文名称" prop="standName" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="form.standName"
|
||||
placeholder="请输入中文名称"
|
||||
clearable
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="中文名称" prop="standName" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="form.standName"
|
||||
placeholder="请输入中文名称"
|
||||
clearable
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="中文名称" prop="standName" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
:disabled="planDisabled || disabledXX"
|
||||
disabled
|
||||
v-model="form.standName"
|
||||
placeholder="请先选择计划带入企标名称"
|
||||
clearable
|
||||
@@ -933,6 +933,8 @@
|
||||
<loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading>
|
||||
<!--分页-->
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
style="position: relative;"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@@ -1286,6 +1288,8 @@
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="standardSearchForm.pageSize"
|
||||
:page="standardSearchForm.page"
|
||||
:total="tableCount"
|
||||
@pageChange="handleStandardPageChange"
|
||||
@@ -1565,7 +1569,7 @@
|
||||
dataSource: '',
|
||||
standNumber: '', // 标准编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'BUSINESS',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -269,6 +269,8 @@
|
||||
<loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading>
|
||||
<!--分页-->
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
style="position: relative;"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@@ -424,6 +426,8 @@
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="standardSearchForm.pageSize"
|
||||
:page="standardSearchForm.page"
|
||||
:total="standardSearchForm.total"
|
||||
@pageChange="handleStandardPageChange"
|
||||
@@ -595,7 +599,7 @@
|
||||
},
|
||||
standardSearchForm: {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'INLAND',
|
||||
standSort: '',
|
||||
@@ -636,7 +640,7 @@
|
||||
dataSource: '',
|
||||
standNumber: '', // 标准编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'BUSINESS',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -269,6 +269,9 @@
|
||||
<loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading>
|
||||
<!--分页-->
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
|
||||
style="position: relative;"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
|
||||
@@ -2572,7 +2572,7 @@
|
||||
},
|
||||
ifStandCodebyStandName(standCode,standName,taskIds,standNum,standSort){
|
||||
return new Promise((resolve, reject)=>{
|
||||
this.$http._postData('lawss/sarBussionessStand/ifStandCodebyStandName',{standCode,standName,taskIds,standNum,standSort})
|
||||
this.$http._post('lawss/sarBussionessStand/ifStandCodebyStandName',{standCode,standName,taskIds,standNum,standSort})
|
||||
.then(res => resolve(res))
|
||||
.catch(e => {
|
||||
throw new Error(e)
|
||||
|
||||
@@ -394,6 +394,8 @@
|
||||
<loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading>
|
||||
<!--分页-->
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
style="position: relative;"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@@ -548,6 +550,8 @@
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="standardSearchForm.pageSize"
|
||||
:page="standardSearchForm.page"
|
||||
:total="standardSearchForm.total"
|
||||
@pageChange="handleStandardPageChange"
|
||||
@@ -720,7 +724,7 @@
|
||||
},
|
||||
standardSearchForm: {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'INLAND',
|
||||
standSort: '',
|
||||
@@ -761,7 +765,7 @@
|
||||
dataSource: '',
|
||||
standNumber: '', // 标准编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'BUSINESS',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -326,6 +326,8 @@
|
||||
<loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading>
|
||||
<!--分页-->
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
style="position: relative;"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@@ -486,6 +488,8 @@
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="standardSearchForm.pageSize"
|
||||
:page="standardSearchForm.page"
|
||||
:total="standardSearchForm.total"
|
||||
@pageChange="handleStandardPageChange"
|
||||
@@ -700,7 +704,7 @@
|
||||
},
|
||||
standardSearchForm: {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize:20,
|
||||
total: 0,
|
||||
standType: 'INLAND',
|
||||
standSort: '',
|
||||
@@ -741,7 +745,7 @@
|
||||
dataSource: '',
|
||||
standNumber: '', // 标准编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'BUSINESS',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -272,6 +272,8 @@
|
||||
<loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading>
|
||||
<!--分页-->
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
style="position: relative;"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@@ -426,6 +428,8 @@
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="standardSearchForm.pageSize"
|
||||
:page="standardSearchForm.page"
|
||||
:total="standardSearchForm.total"
|
||||
@pageChange="handleStandardPageChange"
|
||||
@@ -596,7 +600,7 @@
|
||||
},
|
||||
standardSearchForm: {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'INLAND',
|
||||
standSort: '',
|
||||
@@ -637,7 +641,7 @@
|
||||
dataSource: '',
|
||||
standNumber: '', // 标准编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'BUSINESS',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -27,6 +27,12 @@
|
||||
show-summary
|
||||
:span-method="(({row, column, rowIndex, columnIndex})=>objectSpanMethod({row, column, rowIndex, columnIndex},form.evaluationData))"
|
||||
style="width: 100%">
|
||||
<el-table-column
|
||||
type="index"
|
||||
width="55"
|
||||
label="序号"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column label="企业标准编写质量评价表" align="center" label-class-name="column1">
|
||||
<el-table-column
|
||||
label="标准类别"
|
||||
|
||||
@@ -531,6 +531,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -691,6 +693,8 @@
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="standardSearchForm.pageSize"
|
||||
:page="standardSearchForm.page"
|
||||
:total="standardSearchForm.total"
|
||||
@pageChange="handleStandardPageChange"
|
||||
@@ -935,7 +939,7 @@
|
||||
},
|
||||
standardSearchForm: {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'INLAND',
|
||||
standSort: '',
|
||||
@@ -976,7 +980,7 @@
|
||||
dataSource: '',
|
||||
standNumber: '', // 标准编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'BUSINESS',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -380,6 +380,8 @@
|
||||
<loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading>
|
||||
<!--分页-->
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
style="position: relative;"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@@ -540,6 +542,8 @@
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="standardSearchForm.pageSize"
|
||||
:page="standardSearchForm.page"
|
||||
:total="standardSearchForm.total"
|
||||
@pageChange="handleStandardPageChange"
|
||||
|
||||
@@ -419,6 +419,8 @@
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="standardSearchForm.pageSize"
|
||||
:page="standardSearchForm.page"
|
||||
:total="standardSearchForm.total"
|
||||
@pageChange="handleStandardPageChange"
|
||||
@@ -611,7 +613,7 @@
|
||||
},
|
||||
standardSearchForm: {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'INLAND',
|
||||
standSort: '',
|
||||
|
||||
@@ -382,6 +382,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -536,6 +538,8 @@
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="standardSearchForm.pageSize"
|
||||
:page="standardSearchForm.page"
|
||||
:total="standardSearchForm.total"
|
||||
@pageChange="handleStandardPageChange"
|
||||
@@ -729,7 +733,7 @@
|
||||
},
|
||||
standardSearchForm: {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'INLAND',
|
||||
standSort: '',
|
||||
@@ -770,7 +774,7 @@
|
||||
dataSource: '',
|
||||
standNumber: '', // 标准编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'BUSINESS',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="bussSort" label="企标类别" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
|
||||
<el-select :disabled="disabledXX" disabled v-model="qbfsForm.bussSort" multiple filterable placeholder="请选择企标类别" style="width: 100%;">
|
||||
<el-select disabled v-model="qbfsForm.bussSort" filterable placeholder="请选择企标类别" style="width: 100%;">
|
||||
<el-option
|
||||
v-for="(item, index) in standSortOptions"
|
||||
:key="index"
|
||||
|
||||
@@ -296,7 +296,7 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination :page="QYBZform.page" :total="QYBZform.total" @pageChange="QYBZpageChange" @pageSizeChange="QYBZpageSizeChange"></pagination>
|
||||
<pagination :auto-size="true" :page="QYBZform.page" :page-size="QYBZform.pageSize" :total="QYBZform.total" @pageChange="QYBZpageChange" @pageSizeChange="QYBZpageSizeChange"></pagination>
|
||||
<loading :loading="QYBZShow">数据加载中……</loading>
|
||||
</div>
|
||||
</div>
|
||||
@@ -498,7 +498,7 @@ export default {
|
||||
},
|
||||
total: 0,
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
QYBZmodal: false,
|
||||
TXJGmodal: false,
|
||||
modalshowflagZRBM: false,
|
||||
@@ -514,7 +514,7 @@ export default {
|
||||
standSystemOptions: [],
|
||||
QYBZform: {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
validFlag: '0',
|
||||
userId: this.$store.getters.userInfo.userId,
|
||||
standCode: '',
|
||||
|
||||
@@ -349,6 +349,7 @@
|
||||
<loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading>
|
||||
</div>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page="page"
|
||||
:pageSize="pageSize"
|
||||
:total="total"
|
||||
@@ -457,7 +458,7 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination :page="QYBZform.page" :total="QYBZform.total" @pageChange="QYBZpageChange" @pageSizeChange="QYBZpageSizeChange"></pagination>
|
||||
<pagination :auto-size="true" :page-size="QYBZform.pageSize" :page="QYBZform.page" :total="QYBZform.total" @pageChange="QYBZpageChange" @pageSizeChange="QYBZpageSizeChange"></pagination>
|
||||
<loading :loading="QYBZShow">数据加载中……</loading>
|
||||
</div>
|
||||
</div>
|
||||
@@ -650,7 +651,7 @@ export default {
|
||||
standSystemOptions: [],
|
||||
QYBZform: {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
validFlag: '0',
|
||||
userId: this.$store.getters.userInfo.userId,
|
||||
standCode: '',
|
||||
@@ -674,7 +675,7 @@ export default {
|
||||
showType: '',
|
||||
page: 1,
|
||||
total: 0,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
selectList: [],
|
||||
qbfsFormRules: {
|
||||
bussSort: [
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="bussSort" label="企标类别" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
|
||||
<el-select :disabled="disabledXX" v-model="qbfsForm.bussSort" multiple filterable placeholder="请选择企标类别" style="width: 100%;">
|
||||
<el-select disabled v-model="qbfsForm.bussSort" filterable placeholder="请选择企标类别" style="width: 100%;">
|
||||
<el-option
|
||||
v-for="(item, index) in standSortOptions"
|
||||
:key="index"
|
||||
|
||||
@@ -432,7 +432,7 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination :page="QYBZform.page" :total="QYBZform.total" @pageChange="QYBZpageChange" @pageSizeChange="QYBZpageSizeChange"></pagination>
|
||||
<pagination :auto-size="true" :page-size="QYBZform.pageSize" :page="QYBZform.page" :total="QYBZform.total" @pageChange="QYBZpageChange" @pageSizeChange="QYBZpageSizeChange"></pagination>
|
||||
<loading :loading="QYBZShow">数据加载中……</loading>
|
||||
</div>
|
||||
</div>
|
||||
@@ -679,7 +679,7 @@ export default {
|
||||
standSystemOptions: [],
|
||||
QYBZform: {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
validFlag: '0',
|
||||
userId: this.$store.getters.userInfo.userId,
|
||||
standCode: '',
|
||||
|
||||
@@ -302,7 +302,7 @@ export default {
|
||||
this.passInfo = JSON.parse(JSON.stringify(item)).passInfo
|
||||
}
|
||||
this.dataList = JSON.parse(JSON.stringify(item)).standardInfoList
|
||||
this.commentInfo = JSON.parse(JSON.stringify(item)).commentInfo
|
||||
this.commentInfo = JSON.parse(JSON.stringify(item)).commentInfo || ''
|
||||
})
|
||||
},
|
||||
// 批量选择分发责任人
|
||||
|
||||
@@ -290,7 +290,7 @@ export default {
|
||||
if (item.responUserList !== undefined) {
|
||||
let listJSON = JSON.parse(JSON.stringify(item.responUserList))
|
||||
this.dataList = listJSON
|
||||
this.commentInput = JSON.parse(JSON.stringify(item)).commentInput
|
||||
this.commentInput = JSON.parse(JSON.stringify(item)).commentInput || ''
|
||||
} else {
|
||||
if (item.dockUserList !== undefined) {
|
||||
let listJSON = JSON.parse(JSON.stringify(item.dockUserList))
|
||||
|
||||
@@ -284,16 +284,6 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
layout="total,sizes, prev, pager, next"
|
||||
background
|
||||
:page-sizes="[20, 40, 60]"
|
||||
:total="total"
|
||||
:page-size="pageSize"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
>
|
||||
</el-pagination>
|
||||
<ReceiptDescription
|
||||
title="回执说明"
|
||||
v-model="commentText"
|
||||
|
||||
@@ -179,16 +179,6 @@
|
||||
label="责任人">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
layout="total,sizes, prev, pager, next"
|
||||
background
|
||||
:page-sizes="[20, 40, 60]"
|
||||
:total="total"
|
||||
:page-size="pageSize"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
>
|
||||
</el-pagination>
|
||||
<ReceiptDescription
|
||||
title="审批意见"
|
||||
v-model="commentText"
|
||||
|
||||
@@ -178,16 +178,7 @@
|
||||
label="责任人">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
layout="total,sizes, prev, pager, next"
|
||||
background
|
||||
:page-sizes="[20, 40, 60]"
|
||||
:total="total"
|
||||
:page-size="pageSize"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
>
|
||||
</el-pagination>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<el-collapse accordion v-model="activeNames">
|
||||
|
||||
@@ -179,16 +179,6 @@
|
||||
label="责任人">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
layout="total,sizes, prev, pager, next"
|
||||
background
|
||||
:page-sizes="[20, 40, 60]"
|
||||
:total="total"
|
||||
:page-size="pageSize"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
>
|
||||
</el-pagination>
|
||||
<ReceiptDescription
|
||||
title="审批意见"
|
||||
v-model="commentText"
|
||||
|
||||
@@ -0,0 +1,238 @@
|
||||
<template>
|
||||
<div class="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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-form
|
||||
v-if="reloadForm"
|
||||
ref="form"
|
||||
:model="form"
|
||||
class="label-input-form phoneForm"
|
||||
label-width="112px"
|
||||
>
|
||||
<template v-if="active === '1'">
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<div class="prc-content-border">
|
||||
<InputFormItem
|
||||
label="调研标题"
|
||||
prop="title"
|
||||
v-model="form.title"
|
||||
:disabled="disabled"
|
||||
></InputFormItem>
|
||||
<DatePickerFormItem
|
||||
label="完成时间"
|
||||
prop="date"
|
||||
v-model="form.date"
|
||||
:disabled="disabled"
|
||||
></DatePickerFormItem>
|
||||
<UploadFormItem
|
||||
label="调研模板"
|
||||
prop="modelName"
|
||||
:ids.sync="form.modelId"
|
||||
:names.sync="form.modelName"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
<UploadFormItem
|
||||
label="相关附件"
|
||||
prop="fjName"
|
||||
:ids.sync="form.fjId"
|
||||
:names.sync="form.fjName"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
</div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">调研回执</template>
|
||||
</ProcessTitle>
|
||||
<div class="prc-content-border">
|
||||
<UploadFormItem
|
||||
label="调研结果"
|
||||
prop="fileName"
|
||||
:ids.sync="form.fileId"
|
||||
:names.sync="form.fileName"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
<TextareaFormItem
|
||||
label="调研回执"
|
||||
prop="dyhz"
|
||||
v-model="form.dyhz"
|
||||
:disabled="disabled"
|
||||
></TextareaFormItem>
|
||||
</div>
|
||||
</div>
|
||||
<ReceiptDescription v-model="form.commentText" title="回执说明"></ReceiptDescription>
|
||||
</template>
|
||||
<template v-if="active === '3'">
|
||||
<PhoneHistortTable :prcNum="this.$route.query.prcNum"></PhoneHistortTable>
|
||||
</template>
|
||||
</el-form>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
show-transfer
|
||||
:submitLoading="footerLoading"
|
||||
:saveLoading="footerLoading"
|
||||
@submit="handleSubmit"
|
||||
@transfer="handleTransfer"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<!-- 福田全公司选人解决方案 -->
|
||||
<phoneRoleTree
|
||||
check-box
|
||||
:is-title="drawerTitle"
|
||||
:is-visible.sync="drawerModal"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></phoneRoleTree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeaderPhone from '@/pages/processCenter/pages/components/ProcessHeaderPhone'
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
import ProcessFooter from '@/pages/processCenter/pages/components/ProcessFooter'
|
||||
import PhoneHistortTable from '@/components/hzwlComponents/phoneComponents/phoneApprovalHistory'
|
||||
import ReceiptDescription from "@/components/hzwlComponents/ReceiptDescription";
|
||||
|
||||
import InputFormItem from '@/components/hzwlComponents/InputFormItem'
|
||||
import DatePickerFormItem from '@/components/hzwlComponents/DatePickerFormItem'
|
||||
import UploadFormItem from "@/components/hzwlComponents/UploadFormItem";
|
||||
import TextareaFormItem from '@/components/hzwlComponents/TextareaFormItem'
|
||||
|
||||
import phoneRoleTree from '@/components/hzwlComponents/phoneComponents/phoneRoleTree'
|
||||
|
||||
|
||||
import {inboundLiaisonDetail, processCreateStand, changeAssigneeNew} from 'api/process'
|
||||
export default {
|
||||
name: "step3",
|
||||
components: {
|
||||
ProcessHeaderPhone,
|
||||
PhoneHistortTable,
|
||||
ProcessTitle,
|
||||
ProcessFooter,
|
||||
ReceiptDescription,
|
||||
InputFormItem,
|
||||
DatePickerFormItem,
|
||||
UploadFormItem,
|
||||
TextareaFormItem,
|
||||
phoneRoleTree
|
||||
},
|
||||
data () {
|
||||
const form = {}
|
||||
return {
|
||||
active: '1',
|
||||
reloadForm: true,
|
||||
form,
|
||||
disabled: true,
|
||||
footerLoading: false,
|
||||
|
||||
// 福田全公司选人解决方案
|
||||
drawerModal: false,
|
||||
drawerTitle: '',
|
||||
nodeList: [],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
getData () {
|
||||
const { taskIds, prcId } = this.$route.query
|
||||
|
||||
inboundLiaisonDetail({
|
||||
taskIds,
|
||||
pId: prcId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
this.reloadForm = false
|
||||
const processForm = JSON.parse(res.mesg)
|
||||
this.form = JSON.parse(JSON.stringify(processForm.form || processForm))
|
||||
this.form.commentText = ''
|
||||
this.form.modelId = this.form.modelList.map(item => item.id).join(',')
|
||||
this.form.modelName = this.form.modelList.map(item => item.name).join(',')
|
||||
this.form.fjId = this.form.fjList.map(item => item.id).join(',')
|
||||
this.form.fjName = this.form.fjList.map(item => item.name).join(',')
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
handleSubmit () {
|
||||
this.$message({
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
|
||||
type: 'error'
|
||||
})
|
||||
},
|
||||
handleTransfer () {
|
||||
this.drawerModal = true
|
||||
this.drawerTitle = '转办处理人'
|
||||
},
|
||||
// 转办
|
||||
checkedRole (data) {
|
||||
this.footerLoading = true
|
||||
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('调整成功')
|
||||
setTimeout(() => {
|
||||
this.$router.go(-2)
|
||||
}, 100)
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.footerLoading = false
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.phoneBox .content {
|
||||
border-top: 1px solid #DCDFE6;
|
||||
margin-top: 51px;
|
||||
height: calc(100% - 156px);
|
||||
|
||||
background-color: #fff;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
|
||||
overflow: auto;
|
||||
.phoneForm {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
.phoneBox /deep/ .van-field__label {
|
||||
width: 112px !important;
|
||||
margin-right: 0 !important;
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
.phoneBox /deep/ .van-field__control {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,276 @@
|
||||
<template>
|
||||
<div class="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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-form
|
||||
v-if="reloadForm"
|
||||
ref="form"
|
||||
:model="form"
|
||||
class="label-input-form phoneForm"
|
||||
label-width="112px"
|
||||
>
|
||||
<template v-if="active === '1'">
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<div class="prc-content-border">
|
||||
<InputFormItem
|
||||
label="调研标题"
|
||||
prop="title"
|
||||
v-model="form.title"
|
||||
:disabled="disabled"
|
||||
></InputFormItem>
|
||||
<DatePickerFormItem
|
||||
label="完成时间"
|
||||
prop="date"
|
||||
v-model="form.date"
|
||||
:disabled="disabled"
|
||||
></DatePickerFormItem>
|
||||
|
||||
<UploadFormItem
|
||||
label="汇总调研结果"
|
||||
prop="hzfileName"
|
||||
:ids.sync="form.hzfileId"
|
||||
:names.sync="form.hzfileName"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
</div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">调研信息</template>
|
||||
</ProcessTitle>
|
||||
<div class="prc-content-border" style="padding: 0">
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="form.responUserList"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%;"
|
||||
border
|
||||
row-key="id"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
min-width="120"
|
||||
label="责任人"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="institutionName"
|
||||
label="责任部门"
|
||||
min-width="150"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="回执文件"
|
||||
min-width="120"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #409eff" @click="preview(scope.row.fileId)">{{scope.row.fileName}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="dyhz"
|
||||
label="回执说明"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
<ReceiptDescription v-model="form.commentText" title="回执说明"></ReceiptDescription>
|
||||
</template>
|
||||
<template v-if="active === '3'">
|
||||
<PhoneHistortTable :prcNum="this.$route.query.prcNum"></PhoneHistortTable>
|
||||
</template>
|
||||
</el-form>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
show-transfer
|
||||
:submitLoading="footerLoading"
|
||||
:saveLoading="footerLoading"
|
||||
@submit="handleSubmit"
|
||||
@transfer="handleTransfer"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<!-- 福田全公司选人解决方案 -->
|
||||
<phoneRoleTree
|
||||
check-box
|
||||
:is-title="drawerTitle"
|
||||
:is-visible.sync="drawerModal"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></phoneRoleTree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeaderPhone from '@/pages/processCenter/pages/components/ProcessHeaderPhone'
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
import ProcessFooter from '@/pages/processCenter/pages/components/ProcessFooter'
|
||||
import PhoneHistortTable from '@/components/hzwlComponents/phoneComponents/phoneApprovalHistory'
|
||||
import ReceiptDescription from "@/components/hzwlComponents/ReceiptDescription";
|
||||
|
||||
import InputFormItem from '@/components/hzwlComponents/InputFormItem'
|
||||
import DatePickerFormItem from '@/components/hzwlComponents/DatePickerFormItem'
|
||||
import UploadFormItem from "@/components/hzwlComponents/UploadFormItem";
|
||||
import TextareaFormItem from '@/components/hzwlComponents/TextareaFormItem'
|
||||
|
||||
import phoneRoleTree from '@/components/hzwlComponents/phoneComponents/phoneRoleTree'
|
||||
|
||||
|
||||
import {inboundLiaisonDetail, processCreateStand, changeAssigneeNew} from 'api/process'
|
||||
export default {
|
||||
name: "step3",
|
||||
components: {
|
||||
ProcessHeaderPhone,
|
||||
PhoneHistortTable,
|
||||
ProcessTitle,
|
||||
ProcessFooter,
|
||||
ReceiptDescription,
|
||||
InputFormItem,
|
||||
DatePickerFormItem,
|
||||
UploadFormItem,
|
||||
TextareaFormItem,
|
||||
phoneRoleTree
|
||||
},
|
||||
data () {
|
||||
const form = {}
|
||||
return {
|
||||
active: '1',
|
||||
reloadForm: true,
|
||||
form,
|
||||
disabled: true,
|
||||
footerLoading: false,
|
||||
|
||||
// 福田全公司选人解决方案
|
||||
drawerModal: false,
|
||||
drawerTitle: '',
|
||||
nodeList: [],
|
||||
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
preview(fileId) {
|
||||
this.$preview(fileId)
|
||||
},
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
getData () {
|
||||
const { taskIds, prcId } = this.$route.query
|
||||
|
||||
inboundLiaisonDetail({
|
||||
taskIds,
|
||||
pId: prcId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
this.reloadForm = false
|
||||
const processForm = JSON.parse(res.mesg)
|
||||
this.form = JSON.parse(JSON.stringify(processForm.form || processForm))
|
||||
this.form.commentText = ''
|
||||
// this.form.modelId = this.form.modelList.map(item => item.id).join(',')
|
||||
// this.form.modelName = this.form.modelList.map(item => item.name).join(',')
|
||||
// this.form.fjId = this.form.fjList.map(item => item.id).join(',')
|
||||
// this.form.fjName = this.form.fjList.map(item => item.name).join(',')
|
||||
|
||||
this.form.responUserList = processForm.responUserList || processForm.form.responUserList
|
||||
this.form.responUserList.forEach(item => {
|
||||
item.institutionName = ''
|
||||
this.$http.get('sarUser/user/selectDeptByDY', {
|
||||
ids: item.dockUser
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.ok) {
|
||||
this.reloadForm = false
|
||||
item.institutionName = res.data[0].institutionName
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
} else {
|
||||
item.institutionName = ''
|
||||
}
|
||||
})
|
||||
})
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
handleSubmit () {
|
||||
this.$message({
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
|
||||
type: 'error'
|
||||
})
|
||||
},
|
||||
handleTransfer () {
|
||||
this.drawerModal = true
|
||||
this.drawerTitle = '转办处理人'
|
||||
},
|
||||
// 转办
|
||||
checkedRole (data) {
|
||||
this.footerLoading = true
|
||||
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('调整成功')
|
||||
setTimeout(() => {
|
||||
this.$router.go(-2)
|
||||
}, 100)
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.footerLoading = false
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.phoneBox .content {
|
||||
border-top: 1px solid #DCDFE6;
|
||||
margin-top: 51px;
|
||||
height: calc(100% - 156px);
|
||||
|
||||
background-color: #fff;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
|
||||
overflow: auto;
|
||||
.phoneForm {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
.phoneBox /deep/ .van-field__label {
|
||||
width: 112px !important;
|
||||
margin-right: 0 !important;
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
.phoneBox /deep/ .van-field__control {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,104 @@
|
||||
<template>
|
||||
<div class="prc-content-border">
|
||||
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
|
||||
<span class="file-box-span" :title="form.itemsNum" @click="handlePreview(form.itemsNum)">{{ form.itemsNum }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
|
||||
<span class="file-box-span" @click="handlePreview(form.itemsNum)" :title="form.itemsName">{{ form.itemsName }}</span>
|
||||
</el-form-item>
|
||||
<InputFormItem
|
||||
label="上一版本标准号/政策号"
|
||||
v-model="form.itemsNum1"
|
||||
:disabled="disabled"
|
||||
></InputFormItem>
|
||||
<InputFormItem
|
||||
label="上一版本标准名称/政策名称"
|
||||
v-model="form.itemsName1"
|
||||
:disabled="disabled"
|
||||
></InputFormItem>
|
||||
<DatePickerFormItem
|
||||
label="截止日期"
|
||||
prop="endTime"
|
||||
v-model="form.endTime"
|
||||
:disabled="disabled"
|
||||
></DatePickerFormItem>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import InputFormItem from '@/components/hzwlComponents/InputFormItem'
|
||||
import DatePickerFormItem from '@/components/hzwlComponents/DatePickerFormItem'
|
||||
|
||||
export default {
|
||||
name: "Basic",
|
||||
props: {
|
||||
form: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
InputFormItem,
|
||||
DatePickerFormItem
|
||||
},
|
||||
methods: {
|
||||
// 点击跳转标准详情
|
||||
handlePreview (item) {
|
||||
let replaceStandInfoEO ={}
|
||||
replaceStandInfoEO.standNumber = item
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/queryInfoByStandNum', replaceStandInfoEO, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.data != null) {
|
||||
let dataType ='INLAND_STAND'
|
||||
if(res.data.standType ==='FOREIGN'){
|
||||
dataType ='FOREIGN_STAND'
|
||||
}
|
||||
this.$router.push({
|
||||
name: 'domesticDetails',
|
||||
query: {
|
||||
id: res.data.id,
|
||||
pageType: dataType
|
||||
}
|
||||
})
|
||||
// let routeUrl = this.$router.resolve({
|
||||
// name: 'OtherStandardDetails',
|
||||
// params: {
|
||||
// id: res.data.id,
|
||||
// pageType:dataType
|
||||
// }
|
||||
// })
|
||||
// window.open(routeUrl.href, '_blank')
|
||||
} else {
|
||||
this.$message.error('标准号不存在!')
|
||||
}
|
||||
}, e => {
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.prc-content-border /deep/ .el-form-item__content {
|
||||
line-height: 50px !important;
|
||||
height: 50px !important;
|
||||
}
|
||||
.file-box-span{
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
color: #4498f0;
|
||||
cursor: pointer;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,125 @@
|
||||
<template>
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="data"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%;"
|
||||
border
|
||||
row-key="id"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
>
|
||||
<el-table-column
|
||||
prop="itemsNum"
|
||||
label="条款号"
|
||||
width="120"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="itemsName"
|
||||
width="170"
|
||||
label="条款名称"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="itermsConditions"
|
||||
label="条款内容"
|
||||
width="500"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<div class="itemsTextBox" v-html="scope.row.itermsConditions.replace(/''/g, '\'')"></div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="newData"
|
||||
width="180"
|
||||
label="新车型实施日期"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="onlineData"
|
||||
width="180"
|
||||
label="在产车型实施日期"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="applyArctic"
|
||||
width="200"
|
||||
label="适用车型"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
{{ JSON.parse(scope.row.applyArctic).join(',') }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="!form.itemsNum1"
|
||||
prop="technicalRequir"
|
||||
label="核心技术要求"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="changePoint"
|
||||
v-if="form.itemsNum1"
|
||||
label="基于上一版本差异"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="$route.name === 'phoneBzjdStep3'"
|
||||
prop="unitDeptName"
|
||||
label="责任部门"
|
||||
width="200"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="责任人"
|
||||
width="150"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.zxUserIdName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="$route.name === 'phoneBzjdStep3'"
|
||||
prop="complianceRequir"
|
||||
width="150"
|
||||
label="符合项状态"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.complianceRequir === '1' ? '符合' : (scope.row.complianceRequir === '2' ? '不符合' : '') }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="$route.name === 'phoneBzjdStep3'"
|
||||
prop="complianceState"
|
||||
width="200"
|
||||
label="合规性分析"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "SplitInformation",
|
||||
props: {
|
||||
form: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
},
|
||||
data: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.itemsTextBox {
|
||||
min-height: 0;
|
||||
max-height: 150px;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,191 @@
|
||||
<template>
|
||||
<div class="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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-form
|
||||
v-if="reloadForm"
|
||||
ref="form"
|
||||
:model="form"
|
||||
class="label-input-form phoneForm"
|
||||
label-width="112px"
|
||||
>
|
||||
<template v-if="active === '1'">
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<Basic :form="form" :dict="dict" :disabled="disabled"></Basic>
|
||||
<ProcessTitle>
|
||||
<template slot="title">拆分信息</template>
|
||||
</ProcessTitle>
|
||||
<SplitInformation :data="form.itemList" :form="form"></SplitInformation>
|
||||
</div>
|
||||
<ReceiptDescription v-model="form.commentText" title="回执说明"></ReceiptDescription>
|
||||
</template>
|
||||
<template v-if="active === '3'">
|
||||
<PhoneHistortTable :prcNum="this.$route.query.prcNum"></PhoneHistortTable>
|
||||
</template>
|
||||
</el-form>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
show-transfer
|
||||
:submitLoading="footerLoading"
|
||||
:saveLoading="footerLoading"
|
||||
@submit="handleSubmit"
|
||||
@transfer="handleTransfer"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<!-- 福田全公司选人解决方案 -->
|
||||
<phoneRoleTree
|
||||
check-box
|
||||
:is-title="drawerTitle"
|
||||
:is-visible.sync="drawerModal"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></phoneRoleTree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {inboundLiaisonDetail, processCreateStand, changeAssigneeNew} from 'api/process'
|
||||
|
||||
import ProcessHeaderPhone from '@/pages/processCenter/pages/components/ProcessHeaderPhone'
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
import ProcessFooter from '@/pages/processCenter/pages/components/ProcessFooter'
|
||||
import PhoneHistortTable from '@/components/hzwlComponents/phoneComponents/phoneApprovalHistory'
|
||||
import ReceiptDescription from "@/components/hzwlComponents/ReceiptDescription";
|
||||
import phoneRoleTree from '@/components/hzwlComponents/phoneComponents/phoneRoleTree'
|
||||
|
||||
import Basic from "./components/Basic";
|
||||
import SplitInformation from "./components/SplitInformation";
|
||||
|
||||
export default {
|
||||
name: "step2",
|
||||
components: {
|
||||
ProcessHeaderPhone,
|
||||
PhoneHistortTable,
|
||||
ProcessTitle,
|
||||
ProcessFooter,
|
||||
ReceiptDescription,
|
||||
phoneRoleTree,
|
||||
Basic,
|
||||
SplitInformation
|
||||
},
|
||||
data () {
|
||||
const form = {}
|
||||
return {
|
||||
active: '1',
|
||||
reloadForm: true,
|
||||
form,
|
||||
dict: {},
|
||||
disabled: true,
|
||||
footerLoading: false,
|
||||
|
||||
// 福田全公司选人解决方案
|
||||
drawerModal: false,
|
||||
drawerTitle: '',
|
||||
nodeList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
handleTabs(name) {
|
||||
this.active = name;
|
||||
},
|
||||
getData () {
|
||||
const { taskIds, prcId } = this.$route.query
|
||||
|
||||
inboundLiaisonDetail({
|
||||
taskIds,
|
||||
pId: prcId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
this.reloadForm = false
|
||||
const processForm = JSON.parse(res.mesg)
|
||||
this.form = JSON.parse(JSON.stringify(processForm.form || processForm))
|
||||
this.form.commentText = ''
|
||||
this.form.itemList = (processForm.form && processForm.form.itemList) || processForm.itemList || []
|
||||
if (typeof(this.form.itemList) === 'string') {
|
||||
this.form.itemList = JSON.parse(this.form.itemList)
|
||||
}
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
async handleSubmit () {
|
||||
this.$message({
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
|
||||
type: 'error'
|
||||
})
|
||||
},
|
||||
handleTransfer () {
|
||||
this.drawerModal = true
|
||||
this.drawerTitle = '转办处理人'
|
||||
},
|
||||
// 转办
|
||||
checkedRole (data) {
|
||||
this.footerLoading = true
|
||||
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('调整成功')
|
||||
setTimeout(() => {
|
||||
this.$router.go(-2)
|
||||
}, 100)
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.footerLoading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.phoneBox .content {
|
||||
border-top: 1px solid #DCDFE6;
|
||||
margin-top: 51px;
|
||||
height: calc(100% - 156px);
|
||||
|
||||
background-color: #fff;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
|
||||
overflow: auto;
|
||||
.phoneForm {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
.phoneBox /deep/ .van-field__label {
|
||||
width: 112px !important;
|
||||
margin-right: 0 !important;
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
.phoneBox /deep/ .van-field__control {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,191 @@
|
||||
<template>
|
||||
<div class="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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-form
|
||||
v-if="reloadForm"
|
||||
ref="form"
|
||||
:model="form"
|
||||
class="label-input-form phoneForm"
|
||||
label-width="112px"
|
||||
>
|
||||
<template v-if="active === '1'">
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<Basic :form="form" :dict="dict" :disabled="disabled"></Basic>
|
||||
<ProcessTitle>
|
||||
<template slot="title">拆分信息</template>
|
||||
</ProcessTitle>
|
||||
<SplitInformation :data="form.itemList" :form="form"></SplitInformation>
|
||||
</div>
|
||||
<ReceiptDescription v-model="form.commentText" title="回执说明"></ReceiptDescription>
|
||||
</template>
|
||||
<template v-if="active === '3'">
|
||||
<PhoneHistortTable :prcNum="this.$route.query.prcNum"></PhoneHistortTable>
|
||||
</template>
|
||||
</el-form>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
show-transfer
|
||||
:submitLoading="footerLoading"
|
||||
:saveLoading="footerLoading"
|
||||
@submit="handleSubmit"
|
||||
@transfer="handleTransfer"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<!-- 福田全公司选人解决方案 -->
|
||||
<phoneRoleTree
|
||||
check-box
|
||||
:is-title="drawerTitle"
|
||||
:is-visible.sync="drawerModal"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></phoneRoleTree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {inboundLiaisonDetail, processCreateStand, changeAssigneeNew} from 'api/process'
|
||||
|
||||
import ProcessHeaderPhone from '@/pages/processCenter/pages/components/ProcessHeaderPhone'
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
import ProcessFooter from '@/pages/processCenter/pages/components/ProcessFooter'
|
||||
import PhoneHistortTable from '@/components/hzwlComponents/phoneComponents/phoneApprovalHistory'
|
||||
import ReceiptDescription from "@/components/hzwlComponents/ReceiptDescription";
|
||||
import phoneRoleTree from '@/components/hzwlComponents/phoneComponents/phoneRoleTree'
|
||||
|
||||
import Basic from "./components/Basic";
|
||||
import SplitInformation from "./components/SplitInformation";
|
||||
|
||||
export default {
|
||||
name: "step2",
|
||||
components: {
|
||||
ProcessHeaderPhone,
|
||||
PhoneHistortTable,
|
||||
ProcessTitle,
|
||||
ProcessFooter,
|
||||
ReceiptDescription,
|
||||
phoneRoleTree,
|
||||
Basic,
|
||||
SplitInformation
|
||||
},
|
||||
data () {
|
||||
const form = {}
|
||||
return {
|
||||
active: '1',
|
||||
reloadForm: true,
|
||||
form,
|
||||
dict: {},
|
||||
disabled: true,
|
||||
footerLoading: false,
|
||||
|
||||
// 福田全公司选人解决方案
|
||||
drawerModal: false,
|
||||
drawerTitle: '',
|
||||
nodeList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
handleTabs(name) {
|
||||
this.active = name;
|
||||
},
|
||||
getData () {
|
||||
const { taskIds, prcId } = this.$route.query
|
||||
|
||||
inboundLiaisonDetail({
|
||||
taskIds,
|
||||
pId: prcId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
this.reloadForm = false
|
||||
const processForm = JSON.parse(res.mesg)
|
||||
this.form = JSON.parse(JSON.stringify(processForm.form || processForm))
|
||||
this.form.commentText = ''
|
||||
this.form.itemList = (processForm.form && processForm.form.itemList) || processForm.itemList || []
|
||||
if (typeof(this.form.itemList) === 'string') {
|
||||
this.form.itemList = JSON.parse(this.form.itemList)
|
||||
}
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
async handleSubmit () {
|
||||
this.$message({
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
|
||||
type: 'error'
|
||||
})
|
||||
},
|
||||
handleTransfer () {
|
||||
this.drawerModal = true
|
||||
this.drawerTitle = '转办处理人'
|
||||
},
|
||||
// 转办
|
||||
checkedRole (data) {
|
||||
this.footerLoading = true
|
||||
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('调整成功')
|
||||
setTimeout(() => {
|
||||
this.$router.go(-2)
|
||||
}, 100)
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.footerLoading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.phoneBox .content {
|
||||
border-top: 1px solid #DCDFE6;
|
||||
margin-top: 51px;
|
||||
height: calc(100% - 156px);
|
||||
|
||||
background-color: #fff;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
|
||||
overflow: auto;
|
||||
.phoneForm {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
.phoneBox /deep/ .van-field__label {
|
||||
width: 112px !important;
|
||||
margin-right: 0 !important;
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
.phoneBox /deep/ .van-field__control {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,72 @@
|
||||
<template>
|
||||
<div class="prc-content-border">
|
||||
<el-form-item label="标准编号" class="add-form-item form-item-disabled">
|
||||
<span class="file-box-span" :title="form.standNumber" @click="handlePreview(form.id)">{{ form.standNumber }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="标准名称" class="add-form-item form-item-disabled">
|
||||
<span class="file-box-span" :title="form.standName" @click="handlePreview(form.id)">{{ form.standName }}</span>
|
||||
</el-form-item>
|
||||
<InputFormItem
|
||||
label="认证工程师"
|
||||
v-model="form.certifiedEngineerName"
|
||||
:disabled="disabled"
|
||||
></InputFormItem>
|
||||
<InputFormItem
|
||||
label="质量工程师"
|
||||
v-model="form.qualityEngineerName"
|
||||
:disabled="disabled"
|
||||
></InputFormItem>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import InputFormItem from '@/components/hzwlComponents/InputFormItem'
|
||||
|
||||
export default {
|
||||
name: "Basic",
|
||||
components: {
|
||||
InputFormItem
|
||||
},
|
||||
props: {
|
||||
form: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handlePreview(id) {
|
||||
this.$router.push({
|
||||
name: 'domesticDetails',
|
||||
query: {
|
||||
id,
|
||||
pageType: "INLAND_STAND"
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.prc-content-border /deep/ .el-form-item__content {
|
||||
line-height: 50px !important;
|
||||
height: 50px !important;
|
||||
}
|
||||
.file-box-span{
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
color: #4498f0;
|
||||
cursor: pointer;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,61 @@
|
||||
<template>
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="data"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%;"
|
||||
border
|
||||
row-key="id"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="managementHostName"
|
||||
width="120"
|
||||
label="管理主体"/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="developmentHostName"
|
||||
width="120"
|
||||
label="开发主体"/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="categoryName"
|
||||
width="120"
|
||||
label="项目细分类"/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="projectStatus"
|
||||
label="项目状态"/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="projectNumber"
|
||||
label="项目编号"/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="projectName"
|
||||
width="300"
|
||||
label="项目名称"/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="uname"
|
||||
width="120"
|
||||
label="项目经理" />
|
||||
</el-table>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "Info",
|
||||
props: {
|
||||
data: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,83 @@
|
||||
<template>
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="data"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%;"
|
||||
border
|
||||
row-key="id"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
>
|
||||
<el-table-column
|
||||
align="center"
|
||||
min-width="180"
|
||||
prop="projectGroup"
|
||||
label="项目群"/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
min-width="180"
|
||||
prop="projectNumber"
|
||||
label="项目编号"/>
|
||||
<el-table-column
|
||||
min-width="300"
|
||||
align="center"
|
||||
prop="projectName"
|
||||
label="项目名称"/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
min-width="120"
|
||||
prop="itemsNum"
|
||||
label="条款号"/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
min-width="150"
|
||||
prop="itemsName"
|
||||
label="条款名称">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="technicalRequir"
|
||||
align="center"
|
||||
width="200px"
|
||||
label="核心技术要求/变化点">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="changePoint"
|
||||
align="center"
|
||||
width="200px"
|
||||
label="基于上一版本差异">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="xcxssrq"
|
||||
align="center"
|
||||
width="160px"
|
||||
label="新车型实施日期">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="zccssrq"
|
||||
align="center"
|
||||
width="160px"
|
||||
label="在产车实施日期"/>
|
||||
<el-table-column
|
||||
label="落实人"
|
||||
prop="implementer"
|
||||
width="210"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "ImplementerInfo",
|
||||
props: {
|
||||
data: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,107 @@
|
||||
<template>
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="data"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%;"
|
||||
border
|
||||
row-key="id"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
>
|
||||
<el-table-column
|
||||
align="center"
|
||||
min-width="180"
|
||||
prop="projectGroup"
|
||||
label="项目群"/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
min-width="180"
|
||||
prop="projectNumber"
|
||||
label="项目编号"/>
|
||||
<el-table-column
|
||||
min-width="300"
|
||||
align="center"
|
||||
prop="projectName"
|
||||
label="项目名称"/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
min-width="120"
|
||||
prop="itemsNum"
|
||||
label="条款号"/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
min-width="150"
|
||||
prop="itemsName"
|
||||
label="条款名称">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="technicalRequir"
|
||||
align="center"
|
||||
width="200px"
|
||||
label="核心技术要求/变化点">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="changePoint"
|
||||
align="center"
|
||||
width="200px"
|
||||
label="基于上一版本差异">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="xcxssrq"
|
||||
align="center"
|
||||
width="160px"
|
||||
label="新车型实施日期">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="zccssrq"
|
||||
align="center"
|
||||
width="160px"
|
||||
label="在产车实施日期"/>
|
||||
<el-table-column
|
||||
label="合规"
|
||||
prop="complianceReasons"
|
||||
width="210"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="noCompliance"
|
||||
align="center"
|
||||
width="170"
|
||||
label="不合规项目">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="countermeasures"
|
||||
align="center"
|
||||
width="160"
|
||||
label="应对措施">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="completionTime"
|
||||
align="center"
|
||||
width="140"
|
||||
label="完成时间">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="noInvolve"
|
||||
align="center"
|
||||
width="160"
|
||||
label="不涉及理由">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "ImplementerInfo",
|
||||
props: {
|
||||
data: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,190 @@
|
||||
<template>
|
||||
<div class="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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-form
|
||||
v-if="reloadForm"
|
||||
ref="form"
|
||||
:model="form"
|
||||
class="label-input-form phoneForm"
|
||||
label-width="112px"
|
||||
>
|
||||
<template v-if="active === '1'">
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<Basic :form="form" :dict="dict" :disabled="disabled"></Basic>
|
||||
<ProcessTitle>
|
||||
<template slot="title">填写信息</template>
|
||||
</ProcessTitle>
|
||||
<Info3 :data="form.dataList"></Info3>
|
||||
</div>
|
||||
<ReceiptDescription v-model="form.commentText" title="审批意见"></ReceiptDescription>
|
||||
</template>
|
||||
<template v-if="active === '3'">
|
||||
<PhoneHistortTable :prcNum="this.$route.query.prcNum"></PhoneHistortTable>
|
||||
</template>
|
||||
</el-form>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
show-transfer
|
||||
approval
|
||||
:submitLoading="footerLoading"
|
||||
:saveLoading="footerLoading"
|
||||
@submit="handleSubmit"
|
||||
@transfer="handleTransfer"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<!-- 福田全公司选人解决方案 -->
|
||||
<phoneRoleTree
|
||||
check-box
|
||||
:is-title="drawerTitle"
|
||||
:is-visible.sync="drawerModal"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></phoneRoleTree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {inboundLiaisonDetail, processCreateStand, changeAssigneeNew} from 'api/process'
|
||||
|
||||
import ProcessHeaderPhone from '@/pages/processCenter/pages/components/ProcessHeaderPhone'
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
import ProcessFooter from '@/pages/processCenter/pages/components/ProcessFooter'
|
||||
import PhoneHistortTable from '@/components/hzwlComponents/phoneComponents/phoneApprovalHistory'
|
||||
import ReceiptDescription from "@/components/hzwlComponents/ReceiptDescription";
|
||||
import phoneRoleTree from '@/components/hzwlComponents/phoneComponents/phoneRoleTree'
|
||||
|
||||
import Basic from "./components/Basic";
|
||||
import Info3 from "./components/Info3";
|
||||
|
||||
export default {
|
||||
name: "step3",
|
||||
components: {
|
||||
ProcessHeaderPhone,
|
||||
PhoneHistortTable,
|
||||
ProcessTitle,
|
||||
ProcessFooter,
|
||||
ReceiptDescription,
|
||||
phoneRoleTree,
|
||||
Basic,
|
||||
Info3
|
||||
},
|
||||
data () {
|
||||
const form = {}
|
||||
return {
|
||||
active: '1',
|
||||
reloadForm: true,
|
||||
form,
|
||||
dict: {},
|
||||
disabled: true,
|
||||
footerLoading: false,
|
||||
|
||||
// 福田全公司选人解决方案
|
||||
drawerModal: false,
|
||||
drawerTitle: '',
|
||||
nodeList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
handleTabs(name) {
|
||||
this.active = name;
|
||||
},
|
||||
getData () {
|
||||
const { taskIds, prcId } = this.$route.query
|
||||
|
||||
inboundLiaisonDetail({
|
||||
taskIds,
|
||||
pId: prcId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
this.reloadForm = false
|
||||
const processForm = JSON.parse(res.mesg)
|
||||
this.form = JSON.parse(JSON.stringify(processForm.form || processForm))
|
||||
this.form.commentText = ''
|
||||
this.form.dataList = processForm.dataList
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
async handleSubmit () {
|
||||
this.$message({
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
|
||||
type: 'error'
|
||||
})
|
||||
},
|
||||
handleTransfer () {
|
||||
this.drawerModal = true
|
||||
this.drawerTitle = '转办处理人'
|
||||
},
|
||||
// 转办
|
||||
checkedRole (data) {
|
||||
this.footerLoading = true
|
||||
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('调整成功')
|
||||
setTimeout(() => {
|
||||
this.$router.go(-2)
|
||||
}, 100)
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.footerLoading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style scoped lang="less">
|
||||
.phoneBox .content {
|
||||
border-top: 1px solid #DCDFE6;
|
||||
margin-top: 51px;
|
||||
height: calc(100% - 156px);
|
||||
|
||||
background-color: #fff;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
|
||||
overflow: auto;
|
||||
.phoneForm {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
.phoneBox /deep/ .van-field__label {
|
||||
width: 112px !important;
|
||||
margin-right: 0 !important;
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
.phoneBox /deep/ .van-field__control {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,189 @@
|
||||
<template>
|
||||
<div class="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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-form
|
||||
v-if="reloadForm"
|
||||
ref="form"
|
||||
:model="form"
|
||||
class="label-input-form phoneForm"
|
||||
label-width="112px"
|
||||
>
|
||||
<template v-if="active === '1'">
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<Basic :form="form" :dict="dict" :disabled="disabled"></Basic>
|
||||
<ProcessTitle>
|
||||
<template slot="title">填写信息</template>
|
||||
</ProcessTitle>
|
||||
<Info4 :data="form.resDats"></Info4>
|
||||
</div>
|
||||
<ReceiptDescription v-model="form.commentText" title="审批意见"></ReceiptDescription>
|
||||
</template>
|
||||
<template v-if="active === '3'">
|
||||
<PhoneHistortTable :prcNum="this.$route.query.prcNum"></PhoneHistortTable>
|
||||
</template>
|
||||
</el-form>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
show-transfer
|
||||
approval
|
||||
:submitLoading="footerLoading"
|
||||
:saveLoading="footerLoading"
|
||||
@submit="handleSubmit"
|
||||
@transfer="handleTransfer"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<!-- 福田全公司选人解决方案 -->
|
||||
<phoneRoleTree
|
||||
check-box
|
||||
:is-title="drawerTitle"
|
||||
:is-visible.sync="drawerModal"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></phoneRoleTree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {inboundLiaisonDetail, processCreateStand, changeAssigneeNew} from 'api/process'
|
||||
|
||||
import ProcessHeaderPhone from '@/pages/processCenter/pages/components/ProcessHeaderPhone'
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
import ProcessFooter from '@/pages/processCenter/pages/components/ProcessFooter'
|
||||
import PhoneHistortTable from '@/components/hzwlComponents/phoneComponents/phoneApprovalHistory'
|
||||
import ReceiptDescription from "@/components/hzwlComponents/ReceiptDescription";
|
||||
import phoneRoleTree from '@/components/hzwlComponents/phoneComponents/phoneRoleTree'
|
||||
|
||||
import Basic from "./components/Basic";
|
||||
import Info4 from "./components/Info4";
|
||||
|
||||
export default {
|
||||
name: "step3",
|
||||
components: {
|
||||
ProcessHeaderPhone,
|
||||
PhoneHistortTable,
|
||||
ProcessTitle,
|
||||
ProcessFooter,
|
||||
ReceiptDescription,
|
||||
phoneRoleTree,
|
||||
Basic,
|
||||
Info4
|
||||
},
|
||||
data () {
|
||||
const form = {}
|
||||
return {
|
||||
active: '1',
|
||||
reloadForm: true,
|
||||
form,
|
||||
dict: {},
|
||||
disabled: true,
|
||||
footerLoading: false,
|
||||
|
||||
// 福田全公司选人解决方案
|
||||
drawerModal: false,
|
||||
drawerTitle: '',
|
||||
nodeList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
handleTabs(name) {
|
||||
this.active = name;
|
||||
},
|
||||
getData () {
|
||||
const { taskIds, prcId } = this.$route.query
|
||||
|
||||
inboundLiaisonDetail({
|
||||
taskIds,
|
||||
pId: prcId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
this.reloadForm = false
|
||||
const processForm = JSON.parse(res.mesg)
|
||||
this.form = JSON.parse(JSON.stringify(processForm.form || processForm))
|
||||
this.form.commentText = ''
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
async handleSubmit () {
|
||||
this.$message({
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
|
||||
type: 'error'
|
||||
})
|
||||
},
|
||||
handleTransfer () {
|
||||
this.drawerModal = true
|
||||
this.drawerTitle = '转办处理人'
|
||||
},
|
||||
// 转办
|
||||
checkedRole (data) {
|
||||
this.footerLoading = true
|
||||
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('调整成功')
|
||||
setTimeout(() => {
|
||||
this.$router.go(-2)
|
||||
}, 100)
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.footerLoading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style scoped lang="less">
|
||||
.phoneBox .content {
|
||||
border-top: 1px solid #DCDFE6;
|
||||
margin-top: 51px;
|
||||
height: calc(100% - 156px);
|
||||
|
||||
background-color: #fff;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
|
||||
overflow: auto;
|
||||
.phoneForm {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
.phoneBox /deep/ .van-field__label {
|
||||
width: 112px !important;
|
||||
margin-right: 0 !important;
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
.phoneBox /deep/ .van-field__control {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,189 @@
|
||||
<template>
|
||||
<div class="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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-form
|
||||
v-if="reloadForm"
|
||||
ref="form"
|
||||
:model="form"
|
||||
class="label-input-form phoneForm"
|
||||
label-width="112px"
|
||||
>
|
||||
<template v-if="active === '1'">
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<Basic :form="form" :dict="dict" :disabled="disabled"></Basic>
|
||||
<ProcessTitle>
|
||||
<template slot="title">填写信息</template>
|
||||
</ProcessTitle>
|
||||
<Info5 :data="form.dataList"></Info5>
|
||||
</div>
|
||||
<ReceiptDescription v-model="form.commentText" title="审批意见"></ReceiptDescription>
|
||||
</template>
|
||||
<template v-if="active === '3'">
|
||||
<PhoneHistortTable :prcNum="this.$route.query.prcNum"></PhoneHistortTable>
|
||||
</template>
|
||||
</el-form>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
show-transfer
|
||||
approval
|
||||
:submitLoading="footerLoading"
|
||||
:saveLoading="footerLoading"
|
||||
@submit="handleSubmit"
|
||||
@transfer="handleTransfer"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<!-- 福田全公司选人解决方案 -->
|
||||
<phoneRoleTree
|
||||
check-box
|
||||
:is-title="drawerTitle"
|
||||
:is-visible.sync="drawerModal"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></phoneRoleTree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {inboundLiaisonDetail, processCreateStand, changeAssigneeNew} from 'api/process'
|
||||
|
||||
import ProcessHeaderPhone from '@/pages/processCenter/pages/components/ProcessHeaderPhone'
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
import ProcessFooter from '@/pages/processCenter/pages/components/ProcessFooter'
|
||||
import PhoneHistortTable from '@/components/hzwlComponents/phoneComponents/phoneApprovalHistory'
|
||||
import ReceiptDescription from "@/components/hzwlComponents/ReceiptDescription";
|
||||
import phoneRoleTree from '@/components/hzwlComponents/phoneComponents/phoneRoleTree'
|
||||
|
||||
import Basic from "./components/Basic";
|
||||
import Info5 from "./components/Info5";
|
||||
|
||||
export default {
|
||||
name: "step3",
|
||||
components: {
|
||||
ProcessHeaderPhone,
|
||||
PhoneHistortTable,
|
||||
ProcessTitle,
|
||||
ProcessFooter,
|
||||
ReceiptDescription,
|
||||
phoneRoleTree,
|
||||
Basic,
|
||||
Info5
|
||||
},
|
||||
data () {
|
||||
const form = {}
|
||||
return {
|
||||
active: '1',
|
||||
reloadForm: true,
|
||||
form,
|
||||
dict: {},
|
||||
disabled: true,
|
||||
footerLoading: false,
|
||||
|
||||
// 福田全公司选人解决方案
|
||||
drawerModal: false,
|
||||
drawerTitle: '',
|
||||
nodeList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
handleTabs(name) {
|
||||
this.active = name;
|
||||
},
|
||||
getData () {
|
||||
const { taskIds, prcId } = this.$route.query
|
||||
|
||||
inboundLiaisonDetail({
|
||||
taskIds,
|
||||
pId: prcId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
this.reloadForm = false
|
||||
const processForm = JSON.parse(res.mesg)
|
||||
this.form = JSON.parse(JSON.stringify(processForm.form || processForm))
|
||||
this.form.commentText = ''
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
async handleSubmit () {
|
||||
this.$message({
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
|
||||
type: 'error'
|
||||
})
|
||||
},
|
||||
handleTransfer () {
|
||||
this.drawerModal = true
|
||||
this.drawerTitle = '转办处理人'
|
||||
},
|
||||
// 转办
|
||||
checkedRole (data) {
|
||||
this.footerLoading = true
|
||||
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('调整成功')
|
||||
setTimeout(() => {
|
||||
this.$router.go(-2)
|
||||
}, 100)
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.footerLoading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style scoped lang="less">
|
||||
.phoneBox .content {
|
||||
border-top: 1px solid #DCDFE6;
|
||||
margin-top: 51px;
|
||||
height: calc(100% - 156px);
|
||||
|
||||
background-color: #fff;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
|
||||
overflow: auto;
|
||||
.phoneForm {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
.phoneBox /deep/ .van-field__label {
|
||||
width: 112px !important;
|
||||
margin-right: 0 !important;
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
.phoneBox /deep/ .van-field__control {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,55 @@
|
||||
<template>
|
||||
<div class="prc-content-border">
|
||||
<InputFormItem
|
||||
label="清单名称"
|
||||
prop="listName"
|
||||
v-model="form.listName"
|
||||
:disabled="disabled"
|
||||
></InputFormItem>
|
||||
<InputFormItem
|
||||
label="清单说明"
|
||||
prop="descriptionList"
|
||||
v-model="form.descriptionList"
|
||||
:disabled="disabled"
|
||||
></InputFormItem>
|
||||
<UploadFormItem
|
||||
label="附件"
|
||||
prop="fileNames"
|
||||
:ids.sync="form.fileIds"
|
||||
:names.sync="form.fileNames"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import InputFormItem from '@/components/hzwlComponents/InputFormItem'
|
||||
import UploadFormItem from "@/components/hzwlComponents/UploadFormItem";
|
||||
|
||||
export default {
|
||||
name: "Basic",
|
||||
props: {
|
||||
form: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
InputFormItem,
|
||||
UploadFormItem
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,94 @@
|
||||
<template>
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="data"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%;"
|
||||
border
|
||||
row-key="id"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
>
|
||||
<el-table-column
|
||||
prop="code"
|
||||
width="120px"
|
||||
label="标准号">
|
||||
<template slot-scope="scope">
|
||||
<a v-if="scope.row.standYear" class="table-jump"
|
||||
@click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{ scope.row.standNumber
|
||||
}}-{{ scope.row.standYear }}</a>
|
||||
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSortShow }}
|
||||
{{ scope.row.standNumber }}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standName"
|
||||
label="标准名称"
|
||||
width="200px"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="issueTime"
|
||||
width="90px"
|
||||
label="发布日期">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.issueTime ? $moment(scope.row.issueTime).format("YYYY-MM-DD") : "" }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="XCXSSRQ"
|
||||
width="90px"
|
||||
label="新车型实施日期">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="ZCCSSRQ"
|
||||
width="90px"
|
||||
label="在产车实施日期">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="textStatus"
|
||||
width="80px"
|
||||
label="文本状态">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="dict.WBZTCLASS && dict.WBZTCLASS.length > 0 && scope.row.textStatus && scope.row.textStatus!== ''">
|
||||
{{ dict.WBZTCLASS.find(item => item.value === scope.row.textStatus).label }}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "InfoTable",
|
||||
props: {
|
||||
data: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handlePreview(item) {
|
||||
this.$router.push({
|
||||
name: 'domesticDetails',
|
||||
query: {
|
||||
id: item.id,
|
||||
pageType: 'INLAND_STAND'
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,214 @@
|
||||
<template>
|
||||
<div class="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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-form
|
||||
v-if="reloadForm"
|
||||
ref="form"
|
||||
:model="form"
|
||||
class="label-input-form phoneForm"
|
||||
label-width="112px"
|
||||
>
|
||||
<template v-if="active === '1'">
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<Basic :form="form" :dict="dict" :disabled="disabled"></Basic>
|
||||
<ProcessTitle>
|
||||
<template slot="title">填写信息</template>
|
||||
</ProcessTitle>
|
||||
<InfoTable :data="form.dataList" :dict="dict"></InfoTable>
|
||||
</div>
|
||||
<ReceiptDescription v-model="form.commentText" title="回执说明"></ReceiptDescription>
|
||||
</template>
|
||||
<template v-if="active === '3'">
|
||||
<PhoneHistortTable :prcNum="this.$route.query.prcNum"></PhoneHistortTable>
|
||||
</template>
|
||||
</el-form>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
show-transfer
|
||||
:submitLoading="footerLoading"
|
||||
:saveLoading="footerLoading"
|
||||
@submit="handleSubmit"
|
||||
@transfer="handleTransfer"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<!-- 福田全公司选人解决方案 -->
|
||||
<phoneRoleTree
|
||||
check-box
|
||||
:is-title="drawerTitle"
|
||||
:is-visible.sync="drawerModal"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></phoneRoleTree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeaderPhone from '@/pages/processCenter/pages/components/ProcessHeaderPhone'
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
import ProcessFooter from '@/pages/processCenter/pages/components/ProcessFooter'
|
||||
import PhoneHistortTable from '@/components/hzwlComponents/phoneComponents/phoneApprovalHistory'
|
||||
import ReceiptDescription from "@/components/hzwlComponents/ReceiptDescription";
|
||||
import phoneRoleTree from '@/components/hzwlComponents/phoneComponents/phoneRoleTree'
|
||||
|
||||
import Basic from "./components/Basic";
|
||||
import InfoTable from "./components/InfoTable";
|
||||
|
||||
import {inboundLiaisonDetail, processCreateStand, changeAssigneeNew} from 'api/process'
|
||||
|
||||
export default {
|
||||
name: "step2",
|
||||
components: {
|
||||
ProcessHeaderPhone,
|
||||
PhoneHistortTable,
|
||||
ProcessTitle,
|
||||
ProcessFooter,
|
||||
ReceiptDescription,
|
||||
phoneRoleTree,
|
||||
Basic,
|
||||
InfoTable
|
||||
},
|
||||
data () {
|
||||
const form = {}
|
||||
return {
|
||||
active: '1',
|
||||
reloadForm: true,
|
||||
form,
|
||||
dict: {},
|
||||
disabled: true,
|
||||
footerLoading: false,
|
||||
|
||||
// 福田全公司选人解决方案
|
||||
drawerModal: false,
|
||||
drawerTitle: '',
|
||||
nodeList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getDicTypeListCode()
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
handleTabs(name) {
|
||||
this.active = name;
|
||||
},
|
||||
getData () {
|
||||
const { taskIds, prcId } = this.$route.query
|
||||
|
||||
inboundLiaisonDetail({
|
||||
taskIds,
|
||||
pId: prcId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
this.reloadForm = false
|
||||
const processForm = JSON.parse(res.mesg)
|
||||
this.form = JSON.parse(JSON.stringify(processForm.form || processForm))
|
||||
this.form.commentText = ''
|
||||
this.form.fileIds = this.form.fileName.map(item => item.id).join(',')
|
||||
this.form.fileNames = this.form.fileName.map(item => item.name).join(',')
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
async handleSubmit () {
|
||||
// this.$message({
|
||||
// dangerouslyUseHTMLString: true,
|
||||
// message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
|
||||
// type: 'error'
|
||||
// })
|
||||
this.footerLoading = true;
|
||||
const json = JSON.stringify(this.form);
|
||||
|
||||
const query = {
|
||||
taskIds: this.$route.query.taskIds,
|
||||
userId : this.$store.getters.userInfo.userId,
|
||||
json
|
||||
}
|
||||
const completeTaskRef = await this.$http._post('lawss/activiti/completeTask', query)
|
||||
if (!completeTaskRef.success) {
|
||||
this.footerLoading = false
|
||||
return this.$message.error(completeTaskRef.message)
|
||||
}
|
||||
|
||||
this.$message.success(completeTaskRef.message)
|
||||
this.footerLoading = false
|
||||
setTimeout(() => {
|
||||
this.$router.go(-2)
|
||||
}, 100)
|
||||
},
|
||||
handleTransfer () {
|
||||
this.drawerModal = true
|
||||
this.drawerTitle = '转办处理人'
|
||||
},
|
||||
// 转办
|
||||
checkedRole (data) {
|
||||
this.footerLoading = true
|
||||
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('调整成功')
|
||||
setTimeout(() => {
|
||||
this.$router.go(-2)
|
||||
}, 100)
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.footerLoading = false
|
||||
})
|
||||
},
|
||||
getDicTypeListCode () {
|
||||
this.$http._getData('sys/dictype/getDicTypeListCode').then(res => {
|
||||
this.dict = { ...res.data }
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.phoneBox .content {
|
||||
border-top: 1px solid #DCDFE6;
|
||||
margin-top: 51px;
|
||||
height: calc(100% - 156px);
|
||||
|
||||
background-color: #fff;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
|
||||
overflow: auto;
|
||||
.phoneForm {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
.phoneBox /deep/ .van-field__label {
|
||||
width: 112px !important;
|
||||
margin-right: 0 !important;
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
.phoneBox /deep/ .van-field__control {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,195 @@
|
||||
<template>
|
||||
<div class="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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-form
|
||||
v-if="reloadForm"
|
||||
ref="form"
|
||||
:model="form"
|
||||
class="label-input-form phoneForm"
|
||||
label-width="112px"
|
||||
>
|
||||
<template v-if="active === '1'">
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<Basic :form="form" :dict="dict" :disabled="disabled"></Basic>
|
||||
<ProcessTitle>
|
||||
<template slot="title">填写信息</template>
|
||||
</ProcessTitle>
|
||||
<InfoTable :data="form.dataList" :dict="dict"></InfoTable>
|
||||
</div>
|
||||
<ReceiptDescription v-model="form.commentText" title="回执说明"></ReceiptDescription>
|
||||
</template>
|
||||
<template v-if="active === '3'">
|
||||
<PhoneHistortTable :prcNum="this.$route.query.prcNum"></PhoneHistortTable>
|
||||
</template>
|
||||
</el-form>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
show-transfer
|
||||
:submitLoading="footerLoading"
|
||||
:saveLoading="footerLoading"
|
||||
@submit="handleSubmit"
|
||||
@transfer="handleTransfer"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<!-- 福田全公司选人解决方案 -->
|
||||
<phoneRoleTree
|
||||
check-box
|
||||
:is-title="drawerTitle"
|
||||
:is-visible.sync="drawerModal"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></phoneRoleTree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeaderPhone from '@/pages/processCenter/pages/components/ProcessHeaderPhone'
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
import ProcessFooter from '@/pages/processCenter/pages/components/ProcessFooter'
|
||||
import PhoneHistortTable from '@/components/hzwlComponents/phoneComponents/phoneApprovalHistory'
|
||||
import ReceiptDescription from "@/components/hzwlComponents/ReceiptDescription";
|
||||
import phoneRoleTree from '@/components/hzwlComponents/phoneComponents/phoneRoleTree'
|
||||
|
||||
import Basic from "./components/Basic";
|
||||
import InfoTable from "./components/InfoTable";
|
||||
|
||||
import {inboundLiaisonDetail, processCreateStand, changeAssigneeNew} from 'api/process'
|
||||
|
||||
export default {
|
||||
name: "step2",
|
||||
components: {
|
||||
ProcessHeaderPhone,
|
||||
PhoneHistortTable,
|
||||
ProcessTitle,
|
||||
ProcessFooter,
|
||||
ReceiptDescription,
|
||||
phoneRoleTree,
|
||||
Basic,
|
||||
InfoTable
|
||||
},
|
||||
data () {
|
||||
const form = {}
|
||||
return {
|
||||
active: '1',
|
||||
reloadForm: true,
|
||||
form,
|
||||
dict: {},
|
||||
disabled: true,
|
||||
footerLoading: false,
|
||||
|
||||
// 福田全公司选人解决方案
|
||||
drawerModal: false,
|
||||
drawerTitle: '',
|
||||
nodeList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getDicTypeListCode()
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
handleTabs(name) {
|
||||
this.active = name;
|
||||
},
|
||||
getData () {
|
||||
const { taskIds, prcId } = this.$route.query
|
||||
|
||||
inboundLiaisonDetail({
|
||||
taskIds,
|
||||
pId: prcId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
this.reloadForm = false
|
||||
const processForm = JSON.parse(res.mesg)
|
||||
this.form = JSON.parse(JSON.stringify(processForm.form || processForm))
|
||||
this.form.commentText = ''
|
||||
this.form.fileIds = this.form.fileName.map(item => item.id).join(',')
|
||||
this.form.fileNames = this.form.fileName.map(item => item.name).join(',')
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
async handleSubmit () {
|
||||
this.$message({
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
|
||||
type: 'error'
|
||||
})
|
||||
},
|
||||
handleTransfer () {
|
||||
this.drawerModal = true
|
||||
this.drawerTitle = '转办处理人'
|
||||
},
|
||||
// 转办
|
||||
checkedRole (data) {
|
||||
this.footerLoading = true
|
||||
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('调整成功')
|
||||
setTimeout(() => {
|
||||
this.$router.go(-2)
|
||||
}, 100)
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.footerLoading = false
|
||||
})
|
||||
},
|
||||
getDicTypeListCode () {
|
||||
this.$http._getData('sys/dictype/getDicTypeListCode').then(res => {
|
||||
this.dict = { ...res.data }
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.phoneBox .content {
|
||||
border-top: 1px solid #DCDFE6;
|
||||
margin-top: 51px;
|
||||
height: calc(100% - 156px);
|
||||
|
||||
background-color: #fff;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
|
||||
overflow: auto;
|
||||
.phoneForm {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
.phoneBox /deep/ .van-field__label {
|
||||
width: 112px !important;
|
||||
margin-right: 0 !important;
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
.phoneBox /deep/ .van-field__control {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,150 @@
|
||||
<template>
|
||||
<div class="prc-content-border">
|
||||
<RadioGroupFormItem
|
||||
label="标准来源"
|
||||
prop="standInData"
|
||||
v-model="form.standInData"
|
||||
:options="standInDataOptions"
|
||||
:disabled="disabled"
|
||||
></RadioGroupFormItem>
|
||||
<InputFormItem
|
||||
label="标准编号"
|
||||
prop="standNumber"
|
||||
v-model="form.standNumber"
|
||||
:disabled="disabled"
|
||||
></InputFormItem>
|
||||
<RadioGroupFormItem
|
||||
label="是否需要会签"
|
||||
prop="signFlag"
|
||||
v-model="form.signFlag"
|
||||
:options="signFlagOptions"
|
||||
:disabled="disabled"
|
||||
></RadioGroupFormItem>
|
||||
<SelectFormItem
|
||||
label="标准类别"
|
||||
prop="standSort"
|
||||
v-model="form.standSort"
|
||||
:options="dict.STANDCLASSIFY || []"
|
||||
:disabled="disabled"
|
||||
></SelectFormItem>
|
||||
<InputFormItem
|
||||
label="标准年份"
|
||||
prop="standYear"
|
||||
v-model="form.standYear"
|
||||
:disabled="disabled"
|
||||
></InputFormItem>
|
||||
<SelectFormItem
|
||||
v-if="form.standInData === '0'"
|
||||
label="标准性质"
|
||||
prop="standNature"
|
||||
v-model="form.standNature"
|
||||
:options="dict.SARPROPERTY || []"
|
||||
:disabled="disabled"
|
||||
></SelectFormItem>
|
||||
<SelectMultipleFormItem
|
||||
v-if="form.standInData === '1'"
|
||||
label="国家/地区"
|
||||
prop="country"
|
||||
v-model="form.country"
|
||||
:options="dict.COUNTRY || []"
|
||||
:disabled="disabled"
|
||||
></SelectMultipleFormItem>
|
||||
<TextareaFormItem
|
||||
label="标准体系"
|
||||
prop="standSystem"
|
||||
v-model="form.standSystem"
|
||||
:disabled="disabled"
|
||||
></TextareaFormItem>
|
||||
<TextareaFormItem
|
||||
label="标准中文名称"
|
||||
prop="standName"
|
||||
v-model="form.standName"
|
||||
:disabled="disabled"
|
||||
></TextareaFormItem>
|
||||
<TextareaFormItem
|
||||
label="标准英文名称"
|
||||
prop="standEnName"
|
||||
v-model="form.standEnName"
|
||||
:disabled="disabled"
|
||||
></TextareaFormItem>
|
||||
<DatePickerFormItem
|
||||
label="标准发布日期"
|
||||
prop="issueTime"
|
||||
v-model="form.issueTime"
|
||||
:disabled="disabled"
|
||||
></DatePickerFormItem>
|
||||
<SelectFormItem
|
||||
label="文本状态"
|
||||
prop="textStatus"
|
||||
v-model="form.textStatus"
|
||||
:options="dict.WBZTCLASS || []"
|
||||
:disabled="disabled"
|
||||
></SelectFormItem>
|
||||
<TextareaFormItem
|
||||
label="归档位置"
|
||||
prop="treeListName"
|
||||
v-model="form.treeListName"
|
||||
:disabled="disabled"
|
||||
></TextareaFormItem>
|
||||
<InputFormItem
|
||||
v-if="form.standInData === '1'"
|
||||
label="标签"
|
||||
prop="gxhbq"
|
||||
v-model="form.gxhbq"
|
||||
:disabled="disabled"
|
||||
></InputFormItem>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import RadioGroupFormItem from '@/components/hzwlComponents/RadioGroupFormItem'
|
||||
import InputFormItem from '@/components/hzwlComponents/InputFormItem'
|
||||
import SelectFormItem from '@/components/hzwlComponents/SelectFormItem'
|
||||
import TextareaFormItem from '@/components/hzwlComponents/TextareaFormItem'
|
||||
import DatePickerFormItem from '@/components/hzwlComponents/DatePickerFormItem'
|
||||
import SelectMultipleFormItem from '@/components/hzwlComponents/SelectMultipleFormItem'
|
||||
|
||||
export default {
|
||||
name: "Basic",
|
||||
components: {
|
||||
RadioGroupFormItem,
|
||||
InputFormItem,
|
||||
SelectFormItem,
|
||||
TextareaFormItem,
|
||||
DatePickerFormItem,
|
||||
SelectMultipleFormItem
|
||||
},
|
||||
props: {
|
||||
form: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
}
|
||||
},
|
||||
data () {
|
||||
const standInDataOptions = [
|
||||
{ label: '0', value: '国内标准入库' },
|
||||
{ label: '1', value: '国外标准入库' },
|
||||
]
|
||||
const signFlagOptions = [
|
||||
{ label: '1', value: '是' },
|
||||
{ label: '2', value: '否' },
|
||||
]
|
||||
return {
|
||||
standInDataOptions,
|
||||
signFlagOptions
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,51 @@
|
||||
<template>
|
||||
<div class="prc-content-border">
|
||||
<DatePickerGroupFormItem
|
||||
label="实施日期(标准文本)"
|
||||
prop="ssrq"
|
||||
v-model="form.ssrq"
|
||||
:disabled="disabled"
|
||||
></DatePickerGroupFormItem>
|
||||
<DatePickerGroupFormItem
|
||||
label="在产车实施日期(标准文本)"
|
||||
prop="zccssrq"
|
||||
v-model="form.zccssrq"
|
||||
:disabled="disabled"
|
||||
></DatePickerGroupFormItem>
|
||||
<DatePickerGroupFormItem
|
||||
label="新车型实施日期(标准文本)"
|
||||
prop="xcxssrq"
|
||||
v-model="form.xcxssrq"
|
||||
:disabled="disabled"
|
||||
></DatePickerGroupFormItem>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import DatePickerGroupFormItem from "@/components/hzwlComponents/DatePickerGroupFormItem";
|
||||
|
||||
export default {
|
||||
name: "ImplementationDate",
|
||||
props: {
|
||||
form: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
DatePickerGroupFormItem
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,123 @@
|
||||
<template>
|
||||
<div class="prc-content-border">
|
||||
<SelectMultipleFormItem
|
||||
label="适用车型"
|
||||
prop="cllx"
|
||||
v-model="form.cllx"
|
||||
:options="dict.ENERGYTYPES || []"
|
||||
:disabled="disabled"
|
||||
></SelectMultipleFormItem>
|
||||
<SelectMultipleFormItem
|
||||
label="能源类型"
|
||||
prop="nylx"
|
||||
v-model="form.nylx"
|
||||
:options="dict.NYLXCLASS || []"
|
||||
:disabled="disabled"
|
||||
></SelectMultipleFormItem>
|
||||
<SelectMultipleFormItem
|
||||
label="适用产品线"
|
||||
prop="sycpx"
|
||||
v-model="form.sycpx"
|
||||
:options="dict.SYCPXCLASS || []"
|
||||
:disabled="disabled"
|
||||
></SelectMultipleFormItem>
|
||||
<!--<TextareaFormItem-->
|
||||
<!-- label="关联模块--乘用车VPPS编码"-->
|
||||
<!-- prop="cycvppsbm"-->
|
||||
<!-- v-model="form.cycvppsbm"-->
|
||||
<!-- :disabled="disabled"-->
|
||||
<!--></TextareaFormItem>-->
|
||||
<!--<TextareaFormItem-->
|
||||
<!-- label="关联模块--卡车VPPS编码"-->
|
||||
<!-- prop="kccvppsbm"-->
|
||||
<!-- v-model="form.kccvppsbm"-->
|
||||
<!-- :disabled="disabled"-->
|
||||
<!--></TextareaFormItem>-->
|
||||
<!--<TextareaFormItem-->
|
||||
<!-- label="关联模块--乘用车vpps中文名称"-->
|
||||
<!-- prop="cycvppscn"-->
|
||||
<!-- v-model="form.cycvppscn"-->
|
||||
<!-- :disabled="disabled"-->
|
||||
<!--></TextareaFormItem>-->
|
||||
<!--<TextareaFormItem-->
|
||||
<!-- label="关联模块--卡车vpps中文名称"-->
|
||||
<!-- prop="kccvppscn"-->
|
||||
<!-- v-model="form.kccvppscn"-->
|
||||
<!-- :disabled="disabled"-->
|
||||
<!--></TextareaFormItem>-->
|
||||
<van-field label="关联模块--乘用车VPPS编码" v-model="form.cycvppsbm" readonly placeholder=""/>
|
||||
<van-field label="关联模块--卡车VPPS编码" v-model="form.kccvppsbm" readonly placeholder=""/>
|
||||
<van-field label="关联模块--乘用车vpps中文名称" v-model="form.cycvppscn" readonly placeholder="" />
|
||||
<van-field label="关联模块--卡车vpps中文名称" v-model="form.kccvppscn" placeholder="" readonly />
|
||||
<SelectFormItem
|
||||
v-if="form.standInData === '0'"
|
||||
label="归口管理部门"
|
||||
prop="gkdw"
|
||||
v-model="form.gkdw"
|
||||
:options="dict.GKGLBM || []"
|
||||
:disabled="disabled"
|
||||
></SelectFormItem>
|
||||
<SelectMultipleFormItem
|
||||
v-if="form.standInData === '0'"
|
||||
label="起草单位"
|
||||
prop="qcdw"
|
||||
v-model="form.qcdw"
|
||||
:options="dict.QCDW || []"
|
||||
:disabled="disabled"
|
||||
></SelectMultipleFormItem>
|
||||
<van-field
|
||||
v-if="form.standInData === '0'"
|
||||
label="我司署名人"
|
||||
v-model="form.wssmr" readonly placeholder=""/>
|
||||
<SelectFormItem
|
||||
v-if="form.standInData === '0'"
|
||||
label="我司参与深度"
|
||||
prop="cysd"
|
||||
v-model="form.cysd"
|
||||
:options="dict.WSCYSD || []"
|
||||
:disabled="disabled"
|
||||
></SelectFormItem>
|
||||
<SelectFormItem
|
||||
v-if="form.standInData === '0'"
|
||||
label="我司参与制标排名"
|
||||
prop="cyzbpm"
|
||||
v-model="form.cyzbpm"
|
||||
:options="dict.CYZBPM || []"
|
||||
:disabled="disabled"
|
||||
></SelectFormItem>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SelectFormItem from '@/components/hzwlComponents/SelectFormItem'
|
||||
import SelectMultipleFormItem from '@/components/hzwlComponents/SelectMultipleFormItem'
|
||||
import TextareaFormItem from '@/components/hzwlComponents/TextareaFormItem'
|
||||
|
||||
export default {
|
||||
name: "Range",
|
||||
components: {
|
||||
SelectFormItem,
|
||||
SelectMultipleFormItem,
|
||||
TextareaFormItem
|
||||
},
|
||||
props: {
|
||||
form: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,69 @@
|
||||
<template>
|
||||
<div class="prc-content-border">
|
||||
<TextareaFormItem
|
||||
label="代替标准号"
|
||||
prop="dtbjh"
|
||||
v-model="form.dtbjh"
|
||||
></TextareaFormItem>
|
||||
<SelectFormItem
|
||||
v-if="form.standInData === '0'"
|
||||
label="采标程度"
|
||||
prop="cbcd"
|
||||
v-model="form.cbcd"
|
||||
:options="dict.DEGREESTANDARD || []"
|
||||
:disabled="disabled"
|
||||
></SelectFormItem>
|
||||
<UploadFormItem
|
||||
label="关联文件"
|
||||
prop="glwjName"
|
||||
:ids.sync="form.glwj"
|
||||
:names.sync="form.glwjName"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
<TextareaFormItem
|
||||
v-if="form.standInData === '0'"
|
||||
label="采标编号"
|
||||
prop="cbbh"
|
||||
v-model="form.cbbh"
|
||||
></TextareaFormItem>
|
||||
<TextareaFormItem
|
||||
label="引用标准"
|
||||
prop="yybj"
|
||||
v-model="form.yybj"
|
||||
></TextareaFormItem>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import TextareaFormItem from '@/components/hzwlComponents/TextareaFormItem'
|
||||
import SelectFormItem from '@/components/hzwlComponents/SelectFormItem'
|
||||
import UploadFormItem from "@/components/hzwlComponents/UploadFormItem";
|
||||
|
||||
export default {
|
||||
name: "RelatesInformation",
|
||||
props: {
|
||||
form: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
TextareaFormItem,
|
||||
SelectFormItem,
|
||||
UploadFormItem
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,130 @@
|
||||
<template>
|
||||
<div class="prc-content-border">
|
||||
<UploadFormItem
|
||||
v-if="form.standInData === '0'"
|
||||
label="修改单"
|
||||
prop="xgdName"
|
||||
:ids.sync="form.xgd"
|
||||
:names.sync="form.xgdName"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
<UploadFormItem
|
||||
label="发布稿(原文)"
|
||||
prop="fbgbjbdName"
|
||||
:ids.sync="form.fbgbjbd"
|
||||
:names.sync="form.fbgbjbdName"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
<UploadFormItem
|
||||
label="发布稿(译文)"
|
||||
prop="fbgywbdName"
|
||||
:ids.sync="form.fbgywbd"
|
||||
:names.sync="form.fbgywbdName"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
<UploadFormItem
|
||||
label="草案"
|
||||
prop="caName"
|
||||
:ids.sync="form.ca"
|
||||
:names.sync="form.caName"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
<UploadFormItem
|
||||
v-if="form.standInData === '0'"
|
||||
label="送审稿"
|
||||
prop="ssgName"
|
||||
:ids.sync="form.ssg"
|
||||
:names.sync="form.ssgName"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
<UploadFormItem
|
||||
v-if="form.standInData === '1'"
|
||||
label="增补件"
|
||||
prop="zbjbdName"
|
||||
:ids.sync="form.zbjbd"
|
||||
:names.sync="form.zbjbdName"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
|
||||
<UploadFormItem
|
||||
v-if="form.standInData === '0'"
|
||||
label="相关文件"
|
||||
prop="jdwjName"
|
||||
:ids.sync="form.jdwj"
|
||||
:names.sync="form.jdwjName"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
<UploadFormItem
|
||||
v-if="form.standInData === '0'"
|
||||
label="报批稿"
|
||||
prop="bpgName"
|
||||
:ids.sync="form.bpg"
|
||||
:names.sync="form.bpgName"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
<UploadFormItem
|
||||
v-if="form.standInData === '0'"
|
||||
label="征求意见稿"
|
||||
prop="zqyjgName"
|
||||
:ids.sync="form.zqyjg"
|
||||
:names.sync="form.zqyjgName"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
<UploadFormItem
|
||||
v-if="form.standInData === '1'"
|
||||
label="修订本"
|
||||
prop="xdbName"
|
||||
:ids.sync="form.xdb"
|
||||
:names.sync="form.xdbName"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
<UploadFormItem
|
||||
v-if="form.standInData === '1'"
|
||||
label="勘误件"
|
||||
prop="kwjName"
|
||||
:ids.sync="form.kwj"
|
||||
:names.sync="form.kwjName"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import UploadFormItem from "@/components/hzwlComponents/UploadFormItem";
|
||||
|
||||
export default {
|
||||
name: "TextInfo",
|
||||
components: {
|
||||
UploadFormItem
|
||||
},
|
||||
props: {
|
||||
form: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,183 @@
|
||||
<template>
|
||||
<div class="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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-form
|
||||
v-if="reloadForm"
|
||||
ref="form"
|
||||
:model="form"
|
||||
class="label-input-form phoneForm"
|
||||
label-width="112px"
|
||||
>
|
||||
<template v-if="active === '1'">
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<Basic :form="form" :dict="dict" :disabled="disabled"></Basic>
|
||||
<ProcessTitle>
|
||||
<template slot="title">实施日期</template>
|
||||
</ProcessTitle>
|
||||
<ImplementationDate :form="form" :dict="dict" :disabled="disabled"></ImplementationDate>
|
||||
<ProcessTitle>
|
||||
<template slot="title">文本信息</template>
|
||||
</ProcessTitle>
|
||||
<TextInfo :form="form" :dict="dict" :disabled="disabled"></TextInfo>
|
||||
<ProcessTitle>
|
||||
<template slot="title">适用范围</template>
|
||||
</ProcessTitle>
|
||||
<Range :form="form" :dict="dict" :disabled="disabled"></Range>
|
||||
<ProcessTitle>
|
||||
<template slot="title">关联信息</template>
|
||||
</ProcessTitle>
|
||||
<RelatesInformation :form="form" :dict="dict" :disabled="disabled"></RelatesInformation>
|
||||
</div>
|
||||
<ReceiptDescription v-model="form.commentText" title="审批意见"></ReceiptDescription>
|
||||
</template>
|
||||
<template v-if="active === '3'">
|
||||
<PhoneHistortTable :prcNum="this.$route.query.prcNum"></PhoneHistortTable>
|
||||
</template>
|
||||
</el-form>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
:submitLoading="footerLoading"
|
||||
:saveLoading="footerLoading"
|
||||
@submit="handleSubmit"
|
||||
>
|
||||
</ProcessFooter>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeaderPhone from '@/pages/processCenter/pages/components/ProcessHeaderPhone'
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
import ProcessFooter from '@/pages/processCenter/pages/components/ProcessFooter'
|
||||
import PhoneHistortTable from '@/components/hzwlComponents/phoneComponents/phoneApprovalHistory'
|
||||
import Basic from "./components/Basic";
|
||||
import ImplementationDate from "./components/ImplementationDate";
|
||||
import TextInfo from "./components/TextInfo";
|
||||
import Range from "./components/Range";
|
||||
import RelatesInformation from "./components/RelatesInformation";
|
||||
import ReceiptDescription from "@/components/hzwlComponents/ReceiptDescription";
|
||||
|
||||
import {inboundLiaisonDetail, processCreateStand, changeAssigneeNew} from 'api/process'
|
||||
|
||||
export default {
|
||||
name: "step3",
|
||||
components: {
|
||||
ProcessHeaderPhone,
|
||||
PhoneHistortTable,
|
||||
ProcessTitle,
|
||||
ProcessFooter,
|
||||
Basic,
|
||||
ImplementationDate,
|
||||
TextInfo,
|
||||
Range,
|
||||
RelatesInformation,
|
||||
ReceiptDescription
|
||||
},
|
||||
data () {
|
||||
const form = {}
|
||||
return {
|
||||
active: '1',
|
||||
reloadForm: true,
|
||||
form,
|
||||
disabled: true,
|
||||
dict: {},
|
||||
footerLoading: false
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
this.getDicTypeListCode()
|
||||
},
|
||||
methods: {
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
getData () {
|
||||
const { taskIds, prcId } = this.$route.query
|
||||
|
||||
inboundLiaisonDetail({
|
||||
taskIds,
|
||||
pId: prcId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
this.reloadForm = false
|
||||
const processForm = JSON.parse(res.mesg)
|
||||
this.form = JSON.parse(JSON.stringify(processForm))
|
||||
this.form.commentText = ''
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
async handleSubmit () {
|
||||
this.footerLoading = true;
|
||||
|
||||
this.form.menuIds = this.form.treeListId;
|
||||
this.form.BBFDTBZ = this.form.bfbdtbzh
|
||||
const json = JSON.stringify(this.form);
|
||||
|
||||
const query = {
|
||||
taskIds: this.$route.query.taskIds,
|
||||
userId : this.$store.getters.userInfo.userId,
|
||||
json
|
||||
}
|
||||
const completeTaskRef = await this.$http._post('lawss/activiti/completeTask', query)
|
||||
if (!completeTaskRef.success) {
|
||||
this.footerLoading = false
|
||||
return this.$message.error(completeTaskRef.message)
|
||||
}
|
||||
|
||||
this.$message.success(completeTaskRef.message)
|
||||
this.footerLoading = false
|
||||
setTimeout(() => {
|
||||
this.$router.go(-2)
|
||||
}, 100)
|
||||
},
|
||||
getDicTypeListCode () {
|
||||
this.$http._getData('sys/dictype/getDicTypeListCode').then(res => {
|
||||
this.dict = { ...res.data }
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.phoneBox .content {
|
||||
border-top: 1px solid #DCDFE6;
|
||||
margin-top: 51px;
|
||||
height: calc(100% - 156px);
|
||||
|
||||
background-color: #fff;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
|
||||
overflow: auto;
|
||||
.phoneForm {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
.phoneBox /deep/ .van-field__label {
|
||||
width: 112px !important;
|
||||
margin-right: 0 !important;
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
.phoneBox /deep/ .van-field__control {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,189 @@
|
||||
<template>
|
||||
<div class="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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-form
|
||||
v-if="reloadForm"
|
||||
ref="form"
|
||||
:model="form"
|
||||
class="label-input-form phoneForm"
|
||||
label-width="112px"
|
||||
>
|
||||
<template v-if="active === '1'">
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<Basic :form="form" :dict="dict" :disabled="disabled"></Basic>
|
||||
<ProcessTitle>
|
||||
<template slot="title">实施日期</template>
|
||||
</ProcessTitle>
|
||||
<ImplementationDate :form="form" :dict="dict" :disabled="disabled"></ImplementationDate>
|
||||
<ProcessTitle>
|
||||
<template slot="title">文本信息</template>
|
||||
</ProcessTitle>
|
||||
<TextInfo :form="form" :dict="dict" :disabled="disabled"></TextInfo>
|
||||
<ProcessTitle>
|
||||
<template slot="title">适用范围</template>
|
||||
</ProcessTitle>
|
||||
<Range :form="form" :dict="dict" :disabled="disabled"></Range>
|
||||
<ProcessTitle>
|
||||
<template slot="title">关联信息</template>
|
||||
</ProcessTitle>
|
||||
<RelatesInformation :form="form" :dict="dict" :disabled="disabled"></RelatesInformation>
|
||||
</div>
|
||||
<ReceiptDescription v-model="form.commentText" title="审批意见"></ReceiptDescription>
|
||||
</template>
|
||||
<template v-if="active === '3'">
|
||||
<PhoneHistortTable :prcNum="this.$route.query.prcNum"></PhoneHistortTable>
|
||||
</template>
|
||||
</el-form>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
:submitLoading="footerLoading"
|
||||
:saveLoading="footerLoading"
|
||||
@submit="handleSubmit"
|
||||
>
|
||||
</ProcessFooter>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeaderPhone from '@/pages/processCenter/pages/components/ProcessHeaderPhone'
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
import ProcessFooter from '@/pages/processCenter/pages/components/ProcessFooter'
|
||||
import PhoneHistortTable from '@/components/hzwlComponents/phoneComponents/phoneApprovalHistory'
|
||||
import Basic from "./components/Basic";
|
||||
import ImplementationDate from "./components/ImplementationDate";
|
||||
import TextInfo from "./components/TextInfo";
|
||||
import Range from "./components/Range";
|
||||
import RelatesInformation from "./components/RelatesInformation";
|
||||
import ReceiptDescription from "@/components/hzwlComponents/ReceiptDescription";
|
||||
|
||||
import {inboundLiaisonDetail, processCreateStand, changeAssigneeNew} from 'api/process'
|
||||
|
||||
export default {
|
||||
name: "step3",
|
||||
components: {
|
||||
ProcessHeaderPhone,
|
||||
PhoneHistortTable,
|
||||
ProcessTitle,
|
||||
ProcessFooter,
|
||||
Basic,
|
||||
ImplementationDate,
|
||||
TextInfo,
|
||||
Range,
|
||||
RelatesInformation,
|
||||
ReceiptDescription
|
||||
},
|
||||
data () {
|
||||
const form = {}
|
||||
return {
|
||||
active: '1',
|
||||
reloadForm: true,
|
||||
form,
|
||||
disabled: true,
|
||||
dict: {},
|
||||
footerLoading: false
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
this.getDicTypeListCode()
|
||||
},
|
||||
methods: {
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
getData () {
|
||||
const { taskIds, prcId } = this.$route.query
|
||||
|
||||
inboundLiaisonDetail({
|
||||
taskIds,
|
||||
pId: prcId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
this.reloadForm = false
|
||||
const processForm = JSON.parse(res.mesg)
|
||||
this.form = JSON.parse(JSON.stringify(processForm))
|
||||
this.form.commentText = ''
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
async handleSubmit () {
|
||||
this.$message({
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
|
||||
type: 'error'
|
||||
})
|
||||
// this.footerLoading = true;
|
||||
// this.form.commentText = this.commentText;
|
||||
//
|
||||
// this.form.menuIds = this.form.treeListId;
|
||||
// this.form.BBFDTBZ = this.form.bfbdtbzh
|
||||
// const json = JSON.stringify(this.form);
|
||||
//
|
||||
// const query = {
|
||||
// taskIds: this.$route.query.taskIds,
|
||||
// userId : this.$store.getters.userInfo.userId,
|
||||
// json
|
||||
// }
|
||||
// const completeTaskRef = await this.$http._post('lawss/activiti/completeTask', query)
|
||||
// if (!completeTaskRef.success) {
|
||||
// this.footerLoading = false
|
||||
// return this.$message.error(completeTaskRef.message)
|
||||
// }
|
||||
//
|
||||
// this.$message.success(completeTaskRef.message)
|
||||
// this.footerLoading = false
|
||||
// setTimeout(() => {
|
||||
// this.$router.go(-2)
|
||||
// }, 100)
|
||||
},
|
||||
getDicTypeListCode () {
|
||||
this.$http._getData('sys/dictype/getDicTypeListCode').then(res => {
|
||||
this.dict = { ...res.data }
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.phoneBox .content {
|
||||
border-top: 1px solid #DCDFE6;
|
||||
margin-top: 51px;
|
||||
height: calc(100% - 156px);
|
||||
|
||||
background-color: #fff;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
|
||||
overflow: auto;
|
||||
.phoneForm {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
.phoneBox /deep/ .van-field__label {
|
||||
width: 112px !important;
|
||||
margin-right: 0 !important;
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
.phoneBox /deep/ .van-field__control {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,68 @@
|
||||
<template>
|
||||
<div class="prc-content-border">
|
||||
<TextareaFormItem
|
||||
label="标准编号/名称"
|
||||
prop="cid"
|
||||
v-model="form.cid"
|
||||
:disabled="disabled"
|
||||
></TextareaFormItem>
|
||||
<UploadFormItem
|
||||
label="标准文本"
|
||||
prop="fjListName"
|
||||
:ids.sync="form.fjListId"
|
||||
:names.sync="form.fjListName"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
<UploadFormItem
|
||||
label="相关文件"
|
||||
prop="modelName"
|
||||
:ids.sync="form.modelId"
|
||||
:names.sync="form.modelName"
|
||||
view
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
<DatePickerFormItem
|
||||
label="征求意见结束日期"
|
||||
prop="endTime"
|
||||
v-model="form.endTime"
|
||||
:disabled="disabled"
|
||||
></DatePickerFormItem>
|
||||
<van-field v-if="$route.name === 'phoneBzzqyjStep4'" label="审批人" v-model="form.spName" placeholder="" readonly />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import InputFormItem from '@/components/hzwlComponents/InputFormItem'
|
||||
import TextareaFormItem from '@/components/hzwlComponents/TextareaFormItem'
|
||||
import DatePickerFormItem from '@/components/hzwlComponents/DatePickerFormItem'
|
||||
import UploadFormItem from "@/components/hzwlComponents/UploadFormItem";
|
||||
|
||||
export default {
|
||||
name: "Basic",
|
||||
components: {
|
||||
InputFormItem,
|
||||
TextareaFormItem,
|
||||
UploadFormItem,
|
||||
DatePickerFormItem
|
||||
},
|
||||
props: {
|
||||
form: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,108 @@
|
||||
<template>
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="data"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%;"
|
||||
border
|
||||
row-key="id"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
>
|
||||
<el-table-column
|
||||
prop="chapterNumber"
|
||||
align="center"
|
||||
label="章条编号">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="chapterName"
|
||||
align="center"
|
||||
label="章节名称">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="commentText"
|
||||
align="center"
|
||||
label="修改意见内容(包括理由或依据)">
|
||||
<el-table-column
|
||||
prop="oldText"
|
||||
align="center"
|
||||
label="修改前">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="primary" :disabled="scope.row.chapterNumber.length === 0" @click="itermsConditionsOpen(scope.row.oldText)" class="common-button-primary">查看修改前内容</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="newText"
|
||||
align="center"
|
||||
label="修改后">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="reason"
|
||||
align="center"
|
||||
label="修改理由">
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="$route.name === 'phoneBzzqyjStep5'"
|
||||
prop="sourceType"
|
||||
align="center"
|
||||
label="来源">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="$route.name === 'phoneBzzqyjStep4' || $route.name === 'phoneBzzqyjStep5'"
|
||||
prop="department"
|
||||
align="center"
|
||||
label="提出部门">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="$route.name === 'phoneBzzqyjStep4' || $route.name === 'phoneBzzqyjStep5'"
|
||||
prop="responUserName"
|
||||
align="center"
|
||||
label="提出人">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="$route.name === 'phoneBzzqyjStep5'"
|
||||
prop="state"
|
||||
align="center"
|
||||
label="处理意见">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.state === '1'">上报</span>
|
||||
<span v-else-if="scope.row.state === '2'">处理后上报</span>
|
||||
<span v-else-if="scope.row.state === '3'">不上报</span>
|
||||
<!--<div style="margin: 5px 0;">-->
|
||||
<!-- <el-select-->
|
||||
<!-- :disabled="scope.row.type"-->
|
||||
<!-- v-model="scope.row.state"-->
|
||||
<!-- collapse-tags-->
|
||||
<!-- style="margin-left: 20px;"-->
|
||||
<!-- placeholder="请选择处理意见">-->
|
||||
<!-- <el-option key="1" label="上报" value="1"></el-option>-->
|
||||
<!-- <el-option key="2" label="处理后上报" value="2"></el-option>-->
|
||||
<!-- <el-option key="3" label="不上报" value="3"></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!--</div>-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="$route.name === 'phoneBzzqyjStep5'"
|
||||
prop="cause"
|
||||
align="center"
|
||||
label="原因">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "SolicitationList",
|
||||
props: {
|
||||
data: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,195 @@
|
||||
<template>
|
||||
<div class="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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-form
|
||||
v-if="reloadForm"
|
||||
ref="form"
|
||||
:model="form"
|
||||
class="label-input-form phoneForm"
|
||||
label-width="112px"
|
||||
>
|
||||
<template v-if="active === '1'">
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<Basic :form="form" :dict="dict" :disabled="disabled"></Basic>
|
||||
<ProcessTitle>
|
||||
<template slot="title">征求意见列表</template>
|
||||
</ProcessTitle>
|
||||
<SolicitationList></SolicitationList>
|
||||
</div>
|
||||
<ReceiptDescription v-model="form.commentText" title="回执说明"></ReceiptDescription>
|
||||
</template>
|
||||
<template v-if="active === '3'">
|
||||
<PhoneHistortTable :prcNum="this.$route.query.prcNum"></PhoneHistortTable>
|
||||
</template>
|
||||
</el-form>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
show-transfer
|
||||
:submitLoading="footerLoading"
|
||||
:saveLoading="footerLoading"
|
||||
@submit="handleSubmit"
|
||||
@transfer="handleTransfer"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<!-- 福田全公司选人解决方案 -->
|
||||
<phoneRoleTree
|
||||
check-box
|
||||
:is-title="drawerTitle"
|
||||
:is-visible.sync="drawerModal"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></phoneRoleTree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeaderPhone from '@/pages/processCenter/pages/components/ProcessHeaderPhone'
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
import ProcessFooter from '@/pages/processCenter/pages/components/ProcessFooter'
|
||||
import PhoneHistortTable from '@/components/hzwlComponents/phoneComponents/phoneApprovalHistory'
|
||||
import ReceiptDescription from "@/components/hzwlComponents/ReceiptDescription";
|
||||
import phoneRoleTree from '@/components/hzwlComponents/phoneComponents/phoneRoleTree'
|
||||
|
||||
import Basic from "./componnets/Basic";
|
||||
import SolicitationList from "./componnets/SolicitationList";
|
||||
|
||||
import {inboundLiaisonDetail, processCreateStand, changeAssigneeNew} from 'api/process'
|
||||
|
||||
export default {
|
||||
name: "step3",
|
||||
components: {
|
||||
ProcessHeaderPhone,
|
||||
PhoneHistortTable,
|
||||
ProcessTitle,
|
||||
ProcessFooter,
|
||||
ReceiptDescription,
|
||||
phoneRoleTree,
|
||||
Basic,
|
||||
SolicitationList
|
||||
},
|
||||
data () {
|
||||
const form = {}
|
||||
return {
|
||||
active: '1',
|
||||
reloadForm: true,
|
||||
form,
|
||||
dict: {},
|
||||
disabled: true,
|
||||
footerLoading: false,
|
||||
|
||||
// 福田全公司选人解决方案
|
||||
drawerModal: false,
|
||||
drawerTitle: '',
|
||||
nodeList: [],
|
||||
|
||||
tableData: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
getData () {
|
||||
const { taskIds, prcId } = this.$route.query
|
||||
|
||||
inboundLiaisonDetail({
|
||||
taskIds,
|
||||
pId: prcId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
this.reloadForm = false
|
||||
const processForm = JSON.parse(res.mesg)
|
||||
this.form = JSON.parse(JSON.stringify(processForm.form || processForm))
|
||||
this.form.commentText = ''
|
||||
this.form.modelId = this.form.modelList.map(item => item.id).join(',')
|
||||
this.form.modelName = this.form.modelList.map(item => item.name).join(',')
|
||||
this.form.fjListId = this.form.fjList.map(item => item.id).join(',')
|
||||
this.form.fjListName = this.form.fjList.map(item => item.fileName).join(',')
|
||||
|
||||
this.tableData = this.form.data || this.form.info || []
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
handleSubmit () {
|
||||
this.$message({
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
|
||||
type: 'error'
|
||||
})
|
||||
},
|
||||
handleTransfer () {
|
||||
this.drawerModal = true
|
||||
this.drawerTitle = '转办处理人'
|
||||
},
|
||||
// 转办
|
||||
checkedRole (data) {
|
||||
this.footerLoading = true
|
||||
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('调整成功')
|
||||
setTimeout(() => {
|
||||
this.$router.go(-2)
|
||||
}, 100)
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.footerLoading = false
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.phoneBox .content {
|
||||
border-top: 1px solid #DCDFE6;
|
||||
margin-top: 51px;
|
||||
height: calc(100% - 156px);
|
||||
|
||||
background-color: #fff;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
|
||||
overflow: auto;
|
||||
.phoneForm {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
.phoneBox /deep/ .van-field__label {
|
||||
width: 112px !important;
|
||||
margin-right: 0 !important;
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
.phoneBox /deep/ .van-field__control {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,195 @@
|
||||
<template>
|
||||
<div class="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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-form
|
||||
v-if="reloadForm"
|
||||
ref="form"
|
||||
:model="form"
|
||||
class="label-input-form phoneForm"
|
||||
label-width="112px"
|
||||
>
|
||||
<template v-if="active === '1'">
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<Basic :form="form" :dict="dict" :disabled="disabled"></Basic>
|
||||
<ProcessTitle>
|
||||
<template slot="title">征求意见列表</template>
|
||||
</ProcessTitle>
|
||||
<SolicitationList></SolicitationList>
|
||||
</div>
|
||||
<ReceiptDescription v-model="form.commentText" title="回执说明"></ReceiptDescription>
|
||||
</template>
|
||||
<template v-if="active === '3'">
|
||||
<PhoneHistortTable :prcNum="this.$route.query.prcNum"></PhoneHistortTable>
|
||||
</template>
|
||||
</el-form>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
show-transfer
|
||||
:submitLoading="footerLoading"
|
||||
:saveLoading="footerLoading"
|
||||
@submit="handleSubmit"
|
||||
@transfer="handleTransfer"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<!-- 福田全公司选人解决方案 -->
|
||||
<phoneRoleTree
|
||||
check-box
|
||||
:is-title="drawerTitle"
|
||||
:is-visible.sync="drawerModal"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></phoneRoleTree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeaderPhone from '@/pages/processCenter/pages/components/ProcessHeaderPhone'
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
import ProcessFooter from '@/pages/processCenter/pages/components/ProcessFooter'
|
||||
import PhoneHistortTable from '@/components/hzwlComponents/phoneComponents/phoneApprovalHistory'
|
||||
import ReceiptDescription from "@/components/hzwlComponents/ReceiptDescription";
|
||||
import phoneRoleTree from '@/components/hzwlComponents/phoneComponents/phoneRoleTree'
|
||||
|
||||
import Basic from "./componnets/Basic";
|
||||
import SolicitationList from "./componnets/SolicitationList";
|
||||
|
||||
import {inboundLiaisonDetail, processCreateStand, changeAssigneeNew} from 'api/process'
|
||||
|
||||
export default {
|
||||
name: "step3",
|
||||
components: {
|
||||
ProcessHeaderPhone,
|
||||
PhoneHistortTable,
|
||||
ProcessTitle,
|
||||
ProcessFooter,
|
||||
ReceiptDescription,
|
||||
phoneRoleTree,
|
||||
Basic,
|
||||
SolicitationList
|
||||
},
|
||||
data () {
|
||||
const form = {}
|
||||
return {
|
||||
active: '1',
|
||||
reloadForm: true,
|
||||
form,
|
||||
dict: {},
|
||||
disabled: true,
|
||||
footerLoading: false,
|
||||
|
||||
// 福田全公司选人解决方案
|
||||
drawerModal: false,
|
||||
drawerTitle: '',
|
||||
nodeList: [],
|
||||
|
||||
tableData: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
getData () {
|
||||
const { taskIds, prcId } = this.$route.query
|
||||
|
||||
inboundLiaisonDetail({
|
||||
taskIds,
|
||||
pId: prcId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
this.reloadForm = false
|
||||
const processForm = JSON.parse(res.mesg)
|
||||
this.form = JSON.parse(JSON.stringify(processForm.form || processForm))
|
||||
this.form.commentText = ''
|
||||
this.form.modelId = this.form.modelList.map(item => item.id).join(',')
|
||||
this.form.modelName = this.form.modelList.map(item => item.name).join(',')
|
||||
this.form.fjListId = this.form.fjList.map(item => item.id).join(',')
|
||||
this.form.fjListName = this.form.fjList.map(item => item.fileName).join(',')
|
||||
|
||||
this.tableData = this.form.data || this.form.info || []
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
handleSubmit () {
|
||||
this.$message({
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
|
||||
type: 'error'
|
||||
})
|
||||
},
|
||||
handleTransfer () {
|
||||
this.drawerModal = true
|
||||
this.drawerTitle = '转办处理人'
|
||||
},
|
||||
// 转办
|
||||
checkedRole (data) {
|
||||
this.footerLoading = true
|
||||
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('调整成功')
|
||||
setTimeout(() => {
|
||||
this.$router.go(-2)
|
||||
}, 100)
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.footerLoading = false
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.phoneBox .content {
|
||||
border-top: 1px solid #DCDFE6;
|
||||
margin-top: 51px;
|
||||
height: calc(100% - 156px);
|
||||
|
||||
background-color: #fff;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
|
||||
overflow: auto;
|
||||
.phoneForm {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
.phoneBox /deep/ .van-field__label {
|
||||
width: 112px !important;
|
||||
margin-right: 0 !important;
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
.phoneBox /deep/ .van-field__control {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,195 @@
|
||||
<template>
|
||||
<div class="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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-form
|
||||
v-if="reloadForm"
|
||||
ref="form"
|
||||
:model="form"
|
||||
class="label-input-form phoneForm"
|
||||
label-width="112px"
|
||||
>
|
||||
<template v-if="active === '1'">
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<Basic :form="form" :dict="dict" :disabled="disabled"></Basic>
|
||||
<ProcessTitle>
|
||||
<template slot="title">征求意见列表</template>
|
||||
</ProcessTitle>
|
||||
<SolicitationList></SolicitationList>
|
||||
</div>
|
||||
<ReceiptDescription v-model="form.commentText" title="回执说明"></ReceiptDescription>
|
||||
</template>
|
||||
<template v-if="active === '3'">
|
||||
<PhoneHistortTable :prcNum="this.$route.query.prcNum"></PhoneHistortTable>
|
||||
</template>
|
||||
</el-form>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
show-transfer
|
||||
:submitLoading="footerLoading"
|
||||
:saveLoading="footerLoading"
|
||||
@submit="handleSubmit"
|
||||
@transfer="handleTransfer"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<!-- 福田全公司选人解决方案 -->
|
||||
<phoneRoleTree
|
||||
check-box
|
||||
:is-title="drawerTitle"
|
||||
:is-visible.sync="drawerModal"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></phoneRoleTree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeaderPhone from '@/pages/processCenter/pages/components/ProcessHeaderPhone'
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
import ProcessFooter from '@/pages/processCenter/pages/components/ProcessFooter'
|
||||
import PhoneHistortTable from '@/components/hzwlComponents/phoneComponents/phoneApprovalHistory'
|
||||
import ReceiptDescription from "@/components/hzwlComponents/ReceiptDescription";
|
||||
import phoneRoleTree from '@/components/hzwlComponents/phoneComponents/phoneRoleTree'
|
||||
|
||||
import Basic from "./componnets/Basic";
|
||||
import SolicitationList from "./componnets/SolicitationList";
|
||||
|
||||
import {inboundLiaisonDetail, processCreateStand, changeAssigneeNew} from 'api/process'
|
||||
|
||||
export default {
|
||||
name: "step3",
|
||||
components: {
|
||||
ProcessHeaderPhone,
|
||||
PhoneHistortTable,
|
||||
ProcessTitle,
|
||||
ProcessFooter,
|
||||
ReceiptDescription,
|
||||
phoneRoleTree,
|
||||
Basic,
|
||||
SolicitationList
|
||||
},
|
||||
data () {
|
||||
const form = {}
|
||||
return {
|
||||
active: '1',
|
||||
reloadForm: true,
|
||||
form,
|
||||
dict: {},
|
||||
disabled: true,
|
||||
footerLoading: false,
|
||||
|
||||
// 福田全公司选人解决方案
|
||||
drawerModal: false,
|
||||
drawerTitle: '',
|
||||
nodeList: [],
|
||||
|
||||
tableData: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
handleTabs(name) {
|
||||
this.active = name
|
||||
},
|
||||
getData () {
|
||||
const { taskIds, prcId } = this.$route.query
|
||||
|
||||
inboundLiaisonDetail({
|
||||
taskIds,
|
||||
pId: prcId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
this.reloadForm = false
|
||||
const processForm = JSON.parse(res.mesg)
|
||||
this.form = JSON.parse(JSON.stringify(processForm.form || processForm))
|
||||
this.form.commentText = ''
|
||||
this.form.modelId = this.form.modelList.map(item => item.id).join(',')
|
||||
this.form.modelName = this.form.modelList.map(item => item.name).join(',')
|
||||
this.form.fjListId = this.form.fjList.map(item => item.id).join(',')
|
||||
this.form.fjListName = this.form.fjList.map(item => item.fileName).join(',')
|
||||
|
||||
this.tableData = this.form.data || this.form.info || []
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
handleSubmit () {
|
||||
this.$message({
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
|
||||
type: 'error'
|
||||
})
|
||||
},
|
||||
handleTransfer () {
|
||||
this.drawerModal = true
|
||||
this.drawerTitle = '转办处理人'
|
||||
},
|
||||
// 转办
|
||||
checkedRole (data) {
|
||||
this.footerLoading = true
|
||||
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('调整成功')
|
||||
setTimeout(() => {
|
||||
this.$router.go(-2)
|
||||
}, 100)
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.footerLoading = false
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.phoneBox .content {
|
||||
border-top: 1px solid #DCDFE6;
|
||||
margin-top: 51px;
|
||||
height: calc(100% - 156px);
|
||||
|
||||
background-color: #fff;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
|
||||
overflow: auto;
|
||||
.phoneForm {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
.phoneBox /deep/ .van-field__label {
|
||||
width: 112px !important;
|
||||
margin-right: 0 !important;
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
.phoneBox /deep/ .van-field__control {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,106 @@
|
||||
<template>
|
||||
<div class="prc-content-border">
|
||||
<InputFormItem
|
||||
label="企标编号"
|
||||
prop="standCode"
|
||||
v-model="form.standCode"
|
||||
:disabled="disabled"
|
||||
></InputFormItem>
|
||||
<InputFormItem
|
||||
label="中文名称"
|
||||
prop="standName"
|
||||
v-model="form.standName"
|
||||
:disabled="disabled"
|
||||
></InputFormItem>
|
||||
<InputFormItem
|
||||
label="英文名称"
|
||||
prop="enName"
|
||||
v-model="form.enName"
|
||||
:disabled="disabled"
|
||||
></InputFormItem>
|
||||
<InputFormItem
|
||||
label="企标类别"
|
||||
prop="entCategory"
|
||||
v-model="form.entCategory"
|
||||
:disabled="disabled"
|
||||
></InputFormItem>
|
||||
<InputFormItem
|
||||
label="代替企标编号"
|
||||
prop="replaceNumber"
|
||||
v-model="form.replaceNumber"
|
||||
:disabled="disabled"
|
||||
></InputFormItem>
|
||||
<InputFormItem
|
||||
label="被代替企标编号"
|
||||
prop="replacedNumber"
|
||||
v-model="form.replacedNumber"
|
||||
:disabled="disabled"
|
||||
></InputFormItem>
|
||||
<DatePickerFormItem
|
||||
label="发布日期"
|
||||
prop="releaseDate"
|
||||
v-model="form.releaseDate"
|
||||
:disabled="disabled"
|
||||
></DatePickerFormItem>
|
||||
<DatePickerFormItem
|
||||
label="实施日期"
|
||||
prop="implementDate"
|
||||
v-model="form.implementDate"
|
||||
:disabled="disabled"
|
||||
></DatePickerFormItem>
|
||||
|
||||
<TextareaFormItem
|
||||
label="废止理由"
|
||||
prop="abolishCause"
|
||||
v-model="form.abolishCause"
|
||||
:disabled="disabled"
|
||||
></TextareaFormItem>
|
||||
<TextareaFormItem
|
||||
label="下一步状态"
|
||||
prop="nextStatus"
|
||||
v-model="form.nextStatus"
|
||||
:disabled="disabled"
|
||||
></TextareaFormItem>
|
||||
<TextareaFormItem
|
||||
label="下一步状态理由"
|
||||
prop="nextStatusDetils"
|
||||
v-model="form.nextStatusDetils"
|
||||
:disabled="disabled"
|
||||
></TextareaFormItem>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import InputFormItem from '@/components/hzwlComponents/InputFormItem'
|
||||
import DatePickerFormItem from '@/components/hzwlComponents/DatePickerFormItem'
|
||||
import TextareaFormItem from '@/components/hzwlComponents/TextareaFormItem'
|
||||
import SelectFormItem from '@/components/hzwlComponents/SelectFormItem'
|
||||
|
||||
export default {
|
||||
name: "Basic",
|
||||
props: {
|
||||
form: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
InputFormItem,
|
||||
DatePickerFormItem,
|
||||
SelectFormItem,
|
||||
TextareaFormItem
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,39 @@
|
||||
<template>
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="data"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%;"
|
||||
border
|
||||
row-key="id"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
>
|
||||
<el-table-column
|
||||
prop="opinion"
|
||||
align="center"
|
||||
label="会签意见">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="people"
|
||||
align="center"
|
||||
width="120"
|
||||
label="会签人">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "CountersignInfo",
|
||||
props: {
|
||||
data: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,205 @@
|
||||
<template>
|
||||
<div class="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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-form
|
||||
v-if="reloadForm"
|
||||
ref="form"
|
||||
:model="form"
|
||||
class="label-input-form phoneForm"
|
||||
label-width="112px"
|
||||
>
|
||||
<template v-if="active === '1'">
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<Basic :form="form" :dict="dict" :disabled="disabled"></Basic>
|
||||
<ProcessTitle>
|
||||
<template slot="title">会签信息</template>
|
||||
</ProcessTitle>
|
||||
<CountersignInfo :data="dataList"></CountersignInfo>
|
||||
</div>
|
||||
<ReceiptDescription v-model="form.commentText" title="回执说明"></ReceiptDescription>
|
||||
</template>
|
||||
<template v-if="active === '3'">
|
||||
<PhoneHistortTable :prcNum="this.$route.query.prcNum"></PhoneHistortTable>
|
||||
</template>
|
||||
</el-form>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-submit
|
||||
show-transfer
|
||||
approval
|
||||
:submitLoading="footerLoading"
|
||||
@submit="handleSubmit"
|
||||
@transfer="handleTransfer"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<!-- 福田全公司选人解决方案 -->
|
||||
<phoneRoleTree
|
||||
check-box
|
||||
:is-title="drawerTitle"
|
||||
:is-visible.sync="drawerModal"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></phoneRoleTree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {inboundLiaisonDetail, processCreateStand, changeAssigneeNew} from 'api/process'
|
||||
|
||||
import ProcessHeaderPhone from '@/pages/processCenter/pages/components/ProcessHeaderPhone'
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
import ProcessFooter from '@/pages/processCenter/pages/components/ProcessFooter'
|
||||
import PhoneHistortTable from '@/components/hzwlComponents/phoneComponents/phoneApprovalHistory'
|
||||
import ReceiptDescription from "@/components/hzwlComponents/ReceiptDescription";
|
||||
import phoneRoleTree from '@/components/hzwlComponents/phoneComponents/phoneRoleTree'
|
||||
|
||||
import Basic from './components/Basic'
|
||||
import CountersignInfo from './components/CountersignInfo'
|
||||
|
||||
export default {
|
||||
name: "step4-new",
|
||||
components: {
|
||||
ProcessHeaderPhone,
|
||||
PhoneHistortTable,
|
||||
ProcessTitle,
|
||||
ProcessFooter,
|
||||
ReceiptDescription,
|
||||
phoneRoleTree,
|
||||
Basic,
|
||||
CountersignInfo
|
||||
},
|
||||
data () {
|
||||
const form = {}
|
||||
return {
|
||||
active: '1',
|
||||
reloadForm: true,
|
||||
form,
|
||||
dict: {},
|
||||
dataList: [],
|
||||
disabled: true,
|
||||
footerLoading: false,
|
||||
|
||||
// 福田全公司选人解决方案
|
||||
drawerModal: false,
|
||||
drawerTitle: '',
|
||||
nodeList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getDicTypeListCode()
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
handleTabs(name) {
|
||||
this.active = name;
|
||||
},
|
||||
getData() {
|
||||
const { taskIds, prcId } = this.$route.query
|
||||
|
||||
inboundLiaisonDetail({
|
||||
taskIds,
|
||||
pId: prcId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
this.reloadForm = false
|
||||
const processForm = JSON.parse(res.mesg)
|
||||
this.form = JSON.parse(JSON.stringify(processForm.form || processForm))
|
||||
this.form.commentText = ''
|
||||
|
||||
let dataList = this.form.res ? this.form.res.substring(1, this.form.res.lastIndexOf("]")) : "";
|
||||
dataList = dataList.split(",");
|
||||
this.dataList = [];
|
||||
dataList.forEach(item => {
|
||||
this.dataList.push({
|
||||
opinion: item.split("-")[1],
|
||||
people: item.split("-")[0]
|
||||
});
|
||||
});
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
async handleSubmit () {
|
||||
this.$message({
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
|
||||
type: 'error'
|
||||
})
|
||||
},
|
||||
handleTransfer () {
|
||||
this.drawerModal = true
|
||||
this.drawerTitle = '转办处理人'
|
||||
},
|
||||
// 转办
|
||||
checkedRole (data) {
|
||||
this.footerLoading = true
|
||||
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('调整成功')
|
||||
setTimeout(() => {
|
||||
this.$router.go(-2)
|
||||
}, 100)
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.footerLoading = false
|
||||
})
|
||||
},
|
||||
getDicTypeListCode () {
|
||||
this.$http._getData('sys/dictype/getDicTypeListCode').then(res => {
|
||||
this.dict = { ...res.data }
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.phoneBox .content {
|
||||
border-top: 1px solid #DCDFE6;
|
||||
margin-top: 51px;
|
||||
height: calc(100% - 156px);
|
||||
|
||||
background-color: #fff;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
|
||||
overflow: auto;
|
||||
.phoneForm {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
.phoneBox /deep/ .van-field__label {
|
||||
width: 112px !important;
|
||||
margin-right: 0 !important;
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
.phoneBox /deep/ .van-field__control {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -0,0 +1,361 @@
|
||||
<template>
|
||||
<div class="phoneQbfzStep5 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>
|
||||
<el-form
|
||||
ref="qbfsForm"
|
||||
v-if="!foldFormFlag"
|
||||
:model="qbfsForm"
|
||||
class="label-input-form"
|
||||
:rules="formRules"
|
||||
label-width="150px"
|
||||
>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<el-collapse-transition>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24">
|
||||
<van-field label="企标编号" v-model="qbfsForm.standCode" readonly placeholder="请输入企标编号" />
|
||||
<van-field label="中文名称" v-model="qbfsForm.standName" readonly placeholder="请输入中文名称" />
|
||||
<van-field label="英文名称" v-model="qbfsForm.enName" readonly placeholder="请输入英文名称" />
|
||||
<van-field label="企标类别" v-model="qbfsForm.entCategory" readonly placeholder="请输入企标类别" />
|
||||
<van-field label="代替企标编号" v-model="qbfsForm.replaceNumber" readonly placeholder="请输入代替企标编号" />
|
||||
<van-field label="被代替企标编号" v-model="qbfsForm.replacedNumber" readonly placeholder="请输入被代替企标编号" />
|
||||
<van-field label="发布日期" v-model="qbfsForm.releaseDate" readonly placeholder="请输入发布日期" />
|
||||
<van-field label="实施日期" v-model="qbfsForm.implementDate" readonly placeholder="请输入实施日期" />
|
||||
<van-field label="废止理由" v-model="qbfsForm.abolishCause" readonly placeholder="请输入废止理由" />
|
||||
<van-field label="下一步状态" v-model="qbfsForm.nextStatus" readonly placeholder="请输入下一步状态" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-collapse-transition>
|
||||
|
||||
</el-form>
|
||||
<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>
|
||||
<ProcessTitle style="margin-top: 10px;">
|
||||
<template slot="title">会签信息</template>
|
||||
</ProcessTitle>
|
||||
<div class="tableBox">
|
||||
<el-table
|
||||
:data="dataList"
|
||||
border
|
||||
height="100%"
|
||||
style="width: 100%;"
|
||||
: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
|
||||
prop="opinion"
|
||||
align="center"
|
||||
min-width="300"
|
||||
label="会签意见">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="people"
|
||||
align="center"
|
||||
min-width="300"
|
||||
label="会签人">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</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 class="content" v-show="active === '2'">
|
||||
<Phone-histort-table :prc-num="$route.query.prcNum"></Phone-histort-table>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-transfer
|
||||
show-submit
|
||||
show-back
|
||||
:submitLoading="isSubmit"
|
||||
:isSubmitBack="isSubmit"
|
||||
:saveLoading="isSubmit"
|
||||
:approval="true"
|
||||
@back="beforeBack"
|
||||
@transfer="handleTransfer"
|
||||
@submit="handleSubmit"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<phone-role
|
||||
:role-title="drawerTitle"
|
||||
:result-list="phoneRoleList"
|
||||
:is-show-phone.sync="phoneshowflag"
|
||||
@checkedRole="drawerCheck"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Dialog } from 'vant';
|
||||
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
|
||||
import ProcessFooter from '../../components/ProcessFooter'
|
||||
import ProcessTitle from '../../components/ProcessTitle'
|
||||
import { inboundLiaisonDetail, processCreateStand, changeAssigneeNew, execTask, saveTaskForPub } from "api/process";
|
||||
import axios from "axios";
|
||||
import ProcessHeader from "process/components/ProcessHeader";
|
||||
import hwh5 from '@/api/hwh5-cloudonline.js'
|
||||
|
||||
export default {
|
||||
name: "phoneQbfzStep5",
|
||||
components: {
|
||||
ProcessTitle,
|
||||
ProcessHeader,
|
||||
ProcessHeaderPhone,
|
||||
ProcessFooter
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
phoneshowflag: false,
|
||||
phoneRoleList: [],
|
||||
phoneDrawerTitle: '',
|
||||
active: "1",
|
||||
isTransfer: false,
|
||||
isSubmit: false,
|
||||
saveLoading: false,
|
||||
drawerModal: false,
|
||||
drawerTitle: "",
|
||||
nodeList: [],
|
||||
fileList: [],
|
||||
commentText: "",
|
||||
dataList: [],
|
||||
detailData: [],
|
||||
loading: false,
|
||||
foldFormFlag: false,
|
||||
qbfsForm: {
|
||||
entNumber: "",
|
||||
cnName: "",
|
||||
enName: "",
|
||||
entCategory: "",
|
||||
replaceNumber: "",
|
||||
replacedNumber: "",
|
||||
releaseDate: "",
|
||||
implementDate: "",
|
||||
reviewDate: "",
|
||||
nextStatus: ""
|
||||
},
|
||||
formRules: {
|
||||
nextStatus: [
|
||||
{ required: true, message: "请选择下一步状态", trigger: "change" }
|
||||
]
|
||||
},
|
||||
associationOptions: [{
|
||||
value: "修订",
|
||||
label: "修订"
|
||||
}, {
|
||||
value: "废止",
|
||||
label: "废止"
|
||||
}, {
|
||||
value: "有效",
|
||||
label: "有效"
|
||||
}]
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.processTable();
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
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 => {
|
||||
});
|
||||
},
|
||||
getData() {
|
||||
return new Promise((resolve, reject) => {
|
||||
inboundLiaisonDetail({
|
||||
taskIds: this.$route.query.taskIds,
|
||||
pId: this.$route.query.prcId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
const processForm = JSON.parse(res.mesg);
|
||||
this.getFormFieldList(processForm);
|
||||
}
|
||||
}).catch(e => {
|
||||
});
|
||||
});
|
||||
},
|
||||
/**
|
||||
* @description: 动态表单读取
|
||||
*/
|
||||
getFormFieldList(item) {
|
||||
console.log(item);
|
||||
this.$nextTick(() => {
|
||||
this.qbfsForm = JSON.parse(JSON.stringify(item));
|
||||
let res = item.res ? item.res.substring(1, item.res.lastIndexOf("]")) : "";
|
||||
res = res.split(",");
|
||||
this.dataList = [];
|
||||
res.forEach(item => {
|
||||
this.dataList.push({
|
||||
opinion: item.split("-")[1],
|
||||
people: item.split("-")[0]
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
//流程驳回
|
||||
beforeBack(){
|
||||
this.$message({
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
|
||||
type: 'error'
|
||||
})
|
||||
},
|
||||
//流程提交
|
||||
handleSubmit() {
|
||||
this.$message({
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
|
||||
type: 'error'
|
||||
})
|
||||
},
|
||||
|
||||
handleTabs(name) {
|
||||
this.active = name;
|
||||
},
|
||||
foldForm() {
|
||||
this.foldFormFlag = !this.foldFormFlag;
|
||||
},
|
||||
//转办按钮
|
||||
handleTransfer(){
|
||||
this.$message({
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: <div style="word-break: keep-all;color: #F56C6C">当前任务不支持手机端处理</div>,
|
||||
type: 'error'
|
||||
})
|
||||
},
|
||||
//确认转办
|
||||
drawerCheck (data) {
|
||||
this.roleTransfer = data
|
||||
this.phoneRoleList = this.roleTransfer
|
||||
this.turnLoading = true
|
||||
this.isSubmit = true
|
||||
changeAssigneeNew({
|
||||
taskId: this.$route.query.taskIds, // 任务id
|
||||
assignee: data[0].id, // 被委托人
|
||||
userId: this.$store.getters.userInfo.account, // 委托人
|
||||
pId: this.$route.query.prcId // 流程实例
|
||||
}).then(res =>{
|
||||
if (res.success) {
|
||||
this.turnLoading = false
|
||||
this.$message.success('调整成功')
|
||||
// hwh5.close()
|
||||
this.$router.go(-2)
|
||||
// this.$router.push("/processCenter")
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.isSubmit = false
|
||||
})
|
||||
this.modalshowflag = false
|
||||
},
|
||||
// 请求转换流程图
|
||||
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);
|
||||
});
|
||||
},
|
||||
/**
|
||||
* @Description: 点击下载
|
||||
*/
|
||||
downloadFile(attId) {
|
||||
if (attId != null && attId !== "") {
|
||||
window.location.href = "/api/att/attFile/downloadFileForSarNew?fileId=" + attId;
|
||||
} else {
|
||||
this.$message.error("请选择要下载的文件");
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
listNoDataText() {
|
||||
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/phone';
|
||||
.phoneQbfzStep5 {
|
||||
.tableBox{
|
||||
height: 150px;
|
||||
flex-shrink:1;
|
||||
}
|
||||
/deep/.van-dialog__content {
|
||||
min-height: 300px;
|
||||
padding: 10px;
|
||||
}
|
||||
.prc-content-border {
|
||||
//overflow: auto;
|
||||
}
|
||||
/deep/.prc-content-border .el-form-item__content {
|
||||
width: 270px;
|
||||
}
|
||||
.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>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user