表单项组件化、政策入库流程重构
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
<template>
|
||||
<el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled">
|
||||
<el-date-picker
|
||||
:value="currentTime"
|
||||
:picker-options="pickerOptions"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="起始时间"
|
||||
end-placeholder="结束时间"
|
||||
value-format="yyyy-MM-dd"
|
||||
align="right"
|
||||
@input="handleChange">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "DataRangePickerFormItem",
|
||||
props: {
|
||||
startTime: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
endTime: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
prop: {
|
||||
type: String
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
clearable: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
editable: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
placeholder () {
|
||||
return `请选择${this.label}`
|
||||
},
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
currentTime: [],
|
||||
pickerOptions: {
|
||||
shortcuts: [{
|
||||
text: '最近一周',
|
||||
onClick(picker) {
|
||||
const end = new Date();
|
||||
const start = new Date();
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
||||
picker.$emit('pick', [start, end]);
|
||||
}
|
||||
}, {
|
||||
text: '最近一个月',
|
||||
onClick(picker) {
|
||||
const end = new Date();
|
||||
const start = new Date();
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
||||
picker.$emit('pick', [start, end]);
|
||||
}
|
||||
}, {
|
||||
text: '最近三个月',
|
||||
onClick(picker) {
|
||||
const end = new Date();
|
||||
const start = new Date();
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
||||
picker.$emit('pick', [start, end]);
|
||||
}
|
||||
}]
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.currentTime = [this.startTime, this.endTime]
|
||||
},
|
||||
methods: {
|
||||
handleChange (event) {
|
||||
this.currentTime = event
|
||||
const startTime = event[0]
|
||||
const endTime = event[1]
|
||||
this.$emit('update:startTime', startTime)
|
||||
this.$emit('update:endTime', endTime)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.add-form-item {
|
||||
margin-bottom: 0;
|
||||
min-height: 50px;
|
||||
line-height: 50px;
|
||||
border-bottom: 1px dashed #e5e5e5;
|
||||
clear: both;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,61 @@
|
||||
<template>
|
||||
<el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled">
|
||||
<el-datePicker :value="value"
|
||||
:editable="editable"
|
||||
:disabled="disabled"
|
||||
:clearable="clearable"
|
||||
:placeholder="placeholder"
|
||||
value-format="yyyy-MM-dd"
|
||||
@input="handleChange">
|
||||
</el-datePicker>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "DatePickerFormItem",
|
||||
props: {
|
||||
value: {
|
||||
required: true
|
||||
},
|
||||
prop: {
|
||||
type: String
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
clearable: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
editable: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
placeholder () {
|
||||
return `请选择${this.label}`
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
handleChange (event) {
|
||||
this.$emit('input', event)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.add-form-item {
|
||||
margin-bottom: 0;
|
||||
min-height: 50px;
|
||||
line-height: 50px;
|
||||
border-bottom: 1px dashed #e5e5e5;
|
||||
clear: both;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,163 @@
|
||||
<!-- 多选时间组件 -->
|
||||
<template>
|
||||
<el-tooltip class="item" effect="dark" :content="label || config.attrName" placement="top-start">
|
||||
<el-form-item
|
||||
:label="label || config.attrName"
|
||||
:prop="prop || config.attrField"
|
||||
:label-width="label ? '210px' : '150px'"
|
||||
class="add-form-item"
|
||||
:class="{'form-item-disabled': disabled}"
|
||||
>
|
||||
<el-input
|
||||
v-show="false"
|
||||
:value="value"
|
||||
:placeholder="placeholder"
|
||||
:disabled="disabled"
|
||||
></el-input>
|
||||
<div class="date-picker-group">
|
||||
<template v-for="(tag, index) in tagList">
|
||||
<transition name="el-zoom-in-center">
|
||||
<div class="tag-wrap" v-if="tagAnimateList.includes(tag)" :key="index">
|
||||
<el-tag
|
||||
size="small"
|
||||
:closable="!disabled"
|
||||
@close="handleRemoveTag(index)">{{ tag }}</el-tag>
|
||||
</div>
|
||||
</transition>
|
||||
</template>
|
||||
<div class="tag-wrap" v-if="datePickerVisible">
|
||||
<el-date-picker
|
||||
ref="datePicker"
|
||||
v-model="datePickerVal"
|
||||
type="date"
|
||||
:placeholder="placeholder"
|
||||
format="yyyy-MM-dd"
|
||||
:picker-options="pickerOptions"
|
||||
@input="handleChange"
|
||||
>
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div class="tag-wrap" v-else>
|
||||
<el-button
|
||||
:disabled="disabled"
|
||||
class="add-date"
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="handleAddDate">增加日期</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "DatePickerGroupFormItem",
|
||||
data () {
|
||||
return {
|
||||
datePickerVal: '',
|
||||
tagList: [],
|
||||
datePickerVisible: false,
|
||||
tagAnimateList: []
|
||||
}
|
||||
},
|
||||
props: {
|
||||
value: {
|
||||
required: true
|
||||
},
|
||||
// label/props 和config 二选一
|
||||
label: {
|
||||
type: String,
|
||||
},
|
||||
prop: {
|
||||
type: String
|
||||
},
|
||||
config: {
|
||||
type: Object
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
placeholder () {
|
||||
return `请输入${this.label}`
|
||||
},
|
||||
pickerOptions () {
|
||||
const _this = this
|
||||
return {
|
||||
disabledDate (time) {
|
||||
return _this.tagList.includes(_this.$dateFormat(time, 'yyyy-MM-dd'))
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
value (val) {
|
||||
this.tagList = val !== '' && val !== null && val !== undefined ? val.split(',') : []
|
||||
},
|
||||
tagList: {
|
||||
handler (val) {
|
||||
setTimeout(() => {
|
||||
this.tagAnimateList = JSON.parse(JSON.stringify(val))
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.tagList = this.value !== '' && this.value !== null && typeof (this.value) !== 'undefined' ? this.value.split(',') : []
|
||||
},
|
||||
methods: {
|
||||
handleChange (value) {
|
||||
const val = this.$dateFormat(value, 'yyyy-MM-dd')
|
||||
this.tagList.push(val)
|
||||
this.datePickerVisible = false
|
||||
this.datePickerVal = ''
|
||||
this.$emit('input', this.tagList.join(','))
|
||||
},
|
||||
|
||||
handleAddDate () {
|
||||
this.datePickerVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.datePicker.focus()
|
||||
})
|
||||
},
|
||||
|
||||
handleRemoveTag (index) {
|
||||
this.tagList.splice(index, 1)
|
||||
this.$emit('input', this.tagList.join(','))
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.add-form-item {
|
||||
height: auto;
|
||||
min-height: 50px;
|
||||
.date-picker-group {
|
||||
min-height: 49px;
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
justify-content: flex-start;
|
||||
padding-left: 10px;
|
||||
.tag-wrap {
|
||||
height: 50px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
margin-right: 5px;
|
||||
user-select: none;
|
||||
&:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
.add-date {
|
||||
height: 24px;
|
||||
padding: 0 8px;
|
||||
line-height: 22px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,89 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
:value="value"
|
||||
:placeholder="placeholder"
|
||||
:clearable="clearable"
|
||||
readonly
|
||||
@click.native="choice('dep', placeholder, ids)">
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<Mechanism-tree
|
||||
:is-title="choiceTitle"
|
||||
:is-visible.sync="modalShowDepFlag"
|
||||
:nodeList="nodeList"
|
||||
@checkedRole="checkedRole"
|
||||
></Mechanism-tree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "DepartmentFormItem",
|
||||
props: {
|
||||
value: {
|
||||
required: true
|
||||
},
|
||||
ids: {
|
||||
required: true
|
||||
},
|
||||
prop: {
|
||||
type: String
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
clearable: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
choiceTitle: '', // 人员选择
|
||||
modalShowDepFlag: false,
|
||||
nodeList: [],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
placeholder () {
|
||||
return `选择${this.label}`
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
choice(type, title, id='') {
|
||||
this.nodeList = []
|
||||
if (id) {
|
||||
this.$set(this, 'nodeList', id.split(','))
|
||||
}
|
||||
this.choiceTitle = title
|
||||
this.modalShowDepFlag = true
|
||||
},
|
||||
checkedRole(data) {
|
||||
let idList = ''
|
||||
let nameList = ''
|
||||
data.forEach(item => {
|
||||
if (nameList.length > 0) {
|
||||
nameList += ','
|
||||
idList += ','
|
||||
}
|
||||
idList += item.id
|
||||
nameList += item.name
|
||||
})
|
||||
|
||||
this.$emit('input', nameList)
|
||||
this.$emit('update:ids', idList)
|
||||
this.$emit('change')
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,385 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-form-item
|
||||
:label="label"
|
||||
:prop="prop"
|
||||
:label-width="labelWidth"
|
||||
class="add-form-item form-item-disabled"
|
||||
>
|
||||
<el-input
|
||||
:value="value"
|
||||
:placeholder="placeholder"
|
||||
:disabled="disabled"
|
||||
clearable
|
||||
@input="handleChange"
|
||||
></el-input>
|
||||
<el-button
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="mini"
|
||||
style="position:absolute;top: 10px;right: 0;"
|
||||
@click="selectLaws"
|
||||
v-if="(processModel && !disabled) || !processModel"
|
||||
>手动查找</el-button>
|
||||
</el-form-item>
|
||||
<el-dialog
|
||||
:title="label"
|
||||
:visible.sync="replaceLawsNumModel"
|
||||
width="875px"
|
||||
:close-on-click-modal="false"
|
||||
@close="replaceLawsNumModelCancel"
|
||||
:append-to-body="true"
|
||||
>
|
||||
<div class="search-area">
|
||||
<div class="left">
|
||||
<el-form :modal="replaceLawsNumForm" :inline="true" class="label-input-form" @keyup.enter.native="getReplaceLawsNumRowSearch">
|
||||
<!-- <el-form-item label="数据来源" class="search-item">-->
|
||||
<!-- <el-select v-model="replaceLawsNumForm.dataSource" filterable>-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in dataSourceOptions"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :value="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- >-->
|
||||
<!-- </el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="政策编号" class="search-item input-width">
|
||||
<el-input
|
||||
v-model="replaceLawsNumForm.lawsNumber"
|
||||
placeholder="根据政策编号查找"
|
||||
clearable
|
||||
:maxlength="100"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="政策名称" class="search-item input-width">
|
||||
<el-input
|
||||
v-model="replaceLawsNumForm.numberName"
|
||||
placeholder="根据政策名称查找"
|
||||
clearable
|
||||
:maxlength="100"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class="search-item btn-box">
|
||||
<el-button
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="small"
|
||||
@click="getReplaceLawsNumRowSearch">
|
||||
查询
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item class="search-item btn-box">
|
||||
<el-button
|
||||
class="common-button-default"
|
||||
size="small"
|
||||
@click="getResetLawsNumRow">清空
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
<el-table
|
||||
ref="selections"
|
||||
:data="replaceLawsNumRow"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%;overflow-y: auto;overflow-x: hidden;"
|
||||
border
|
||||
:height="300"
|
||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
||||
fontWeight: 'bold', height: '48px'}"
|
||||
@selection-change="selectReplaceStandNumRowChange">
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<!-- <el-table-column-->
|
||||
<!-- prop="standSortShow"-->
|
||||
<!-- label="企标类别"-->
|
||||
<!-- min-width="130"-->
|
||||
<!-- >-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column
|
||||
label="政策编号"
|
||||
min-width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>
|
||||
<a v-if="scope.row.lawsNumber" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsNumber }}</a>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="lawsName"
|
||||
label="中文名称"
|
||||
min-width="130">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="lawsName"
|
||||
label="英文名称"
|
||||
min-width="130">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="issueTime"
|
||||
label="发文日期"
|
||||
width="130">
|
||||
<template slot-scope="scope">{{ $moment(scope.row.issueTime).format('YYYY-MM-DD') }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standStatusShow"
|
||||
label="文本状态"
|
||||
width="130">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading>
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@pageSizeChange="pageSizeChangeReplace"></pagination>
|
||||
<div slot="footer" class="demo-drawer-footer">
|
||||
<el-button class="common-button-default" round icon="el-icon-close" @click="replaceLawsNumModel = false">取消</el-button>
|
||||
<el-button type="primary" round class="common-button-primary" icon="el-icon-check" @click="replaceLawsNumModelBt">提交</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "InputForStandardsForLaws",
|
||||
props: {
|
||||
label: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
prop: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
value: {
|
||||
required: true
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
// 栅格比例
|
||||
span: {
|
||||
type: Number,
|
||||
default: 24
|
||||
},
|
||||
// 是否为流程中使用
|
||||
processModel: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
// label宽度
|
||||
labelWidth: {
|
||||
type: String,
|
||||
default: '150px'
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
replaceLawsNumModel: false,
|
||||
sarBussionessLawsEO: {
|
||||
replaceLawsNum: ''
|
||||
},
|
||||
// 代替标准号
|
||||
replaceLawsNumForm: {
|
||||
dataSource: 'BUSINESS', // 数据来源
|
||||
lawsNumber: '', // 政策编号
|
||||
numberName: '', // 政策名称
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
total: 0,
|
||||
quoteIdList: '',
|
||||
menuId: '',
|
||||
validFlag: 0
|
||||
},
|
||||
replaceLawsNumRow: [], // 代替政策号 数组内容
|
||||
replaceTotal: 0,
|
||||
selectedListRep: [],
|
||||
replaceLoading: true,
|
||||
replacePage: 1,
|
||||
// 数据搜索 数据来源list
|
||||
dataSourceOptions: [
|
||||
{value: 'INLAND_STAND', label: '国内标准法规'},
|
||||
{value: 'FOREIGN_STAND', label: '海外标准法规'},
|
||||
{value: 'BUSINESS', label: '企业标准 '},
|
||||
{value: 'LAWS_STAND', label: '国内外政策'}
|
||||
],
|
||||
dataSource: 'LAWS_STAND'
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
placeholder () {
|
||||
return `请输入${this.label}`
|
||||
},
|
||||
showMessage () {
|
||||
return `${this.label}不能为空`
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
getReplaceLawsNumRowSearch () {
|
||||
this.replaceLawsNumForm.page = 1
|
||||
this.replacePage = 1
|
||||
this.getReplaceLawsNumRow()
|
||||
},
|
||||
handleChange (event) {
|
||||
// const value = event.target.value
|
||||
const value = event
|
||||
this.$emit('input', value)
|
||||
},
|
||||
selectLaws () {
|
||||
// if (this.standNumFlag === 1) {
|
||||
// this.$refs.selections.selectAll(false)
|
||||
// }
|
||||
// this.sarBussionessLawsEO.replaceLawsNum = ''
|
||||
this.replaceLawsNumModel = true
|
||||
this.getReplaceLawsNumRow()
|
||||
},
|
||||
// 代替政策号 请求数据
|
||||
getReplaceLawsNumRow () {
|
||||
if (this.sarBussionessLawsEO.replaceLawsNum !== null && this.sarBussionessLawsEO.replaceLawsNum !== '') {
|
||||
this.replaceLawsNumForm.quoteIdList = this.quoteIdList1.toString() === '' ? '' : this.quoteIdList1
|
||||
} else {
|
||||
this.quoteIdList1 = []
|
||||
this.replaceLawsNumForm.quoteIdList = ''
|
||||
}
|
||||
const formData = {
|
||||
...this.replaceLawsNumForm
|
||||
}
|
||||
let url = 'lawss/sarLawsInfo/page'
|
||||
this.$http.get(url, formData, {
|
||||
_this: this,
|
||||
loading: 'replaceLoading'
|
||||
}, res => {
|
||||
this.replaceLawsNumRow = res.data.list
|
||||
this.replaceTotal = res.data.count
|
||||
if (this.selectedListRep.length !== 0) {
|
||||
this.selectedListRep.map((list) => {
|
||||
this.replaceLawsNumRow.map((item) => {
|
||||
if (list.id === item.id) {
|
||||
item._checked = true
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}, e => {
|
||||
})
|
||||
},
|
||||
// 代替政策编号-取消
|
||||
replaceLawsNumModelCancel () {
|
||||
// this.replaceLawsNumModel = false
|
||||
this.$refs.selections.clearSelection()
|
||||
},
|
||||
// 代替政策号 table选择事件
|
||||
selectReplaceStandNumRowChange (row) {
|
||||
this.selectedListRep = row
|
||||
},
|
||||
// 代替政策分页
|
||||
pageChangeReplace (page) {
|
||||
this.replacePage = page
|
||||
this.replaceLawsNumForm.page = page
|
||||
this.getReplaceLawsNumRow()
|
||||
},
|
||||
pageSizeChangeReplace (pageSize) {
|
||||
// this.replaceRows = pageSize
|
||||
this.replaceLawsNumForm.pageSize = pageSize
|
||||
this.getReplaceLawsNumRow()
|
||||
},
|
||||
// 代替政策编号确定
|
||||
replaceLawsNumModelBt () {
|
||||
let textArr = []
|
||||
|
||||
if (typeof this.value === 'string') {
|
||||
if (this.value) {
|
||||
textArr = this.value.split(',')
|
||||
}
|
||||
}
|
||||
if (this.selectedListRep.length === 0) {
|
||||
return this.$message({
|
||||
message: '请先选择数据',
|
||||
type: 'warning'
|
||||
})
|
||||
}
|
||||
if (this.selectedListRep.length + textArr.length > 20) {
|
||||
return this.$message({
|
||||
message: '代替文件号最多选择20项',
|
||||
type: 'warning'
|
||||
})
|
||||
}
|
||||
this.selectedListRep.map((item) => {
|
||||
let texts = ''
|
||||
// 判断数据是国内外法规标准还是企业标准
|
||||
if (this.dataSource === 'LAWS_STAND') {
|
||||
texts = item.lawsNumber
|
||||
}
|
||||
textArr.push(texts)
|
||||
textArr = [...new Set(textArr)]
|
||||
this.replaceLawsNumModel = false
|
||||
})
|
||||
// this.SarLawsInfoEO.replaceLawsNum = textArr.join(',')
|
||||
this.$emit('input', textArr.join(','))
|
||||
this.$refs.selections.clearSelection()
|
||||
},
|
||||
// 点击查看
|
||||
handlePreview (item) {
|
||||
let name = ''
|
||||
let pageType = ''
|
||||
switch (this.dataSource) {
|
||||
case 'INLAND_STAND':
|
||||
name = 'OtherStandardDetails'
|
||||
pageType = 'INLAND_STAND'
|
||||
break
|
||||
case 'FOREIGN_STAND':
|
||||
name = 'OtherStandardDetails'
|
||||
pageType = 'FOREIGN_STAND'
|
||||
break
|
||||
case 'BUSINESS':
|
||||
name = 'OtherBussStandardDetails'
|
||||
pageType = 'BUSINESS_STAND'
|
||||
break
|
||||
case 'LAWS_STAND':
|
||||
name = 'OtherLawsStandDetails'
|
||||
pageType = 'LAWS_STAND'
|
||||
break
|
||||
}
|
||||
let routeUrl = this.$router.resolve({
|
||||
name: name,
|
||||
params: {
|
||||
id: item.id,
|
||||
pageType: pageType
|
||||
}
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
|
||||
},
|
||||
getResetLawsNumRow () {
|
||||
this.replaceLawsNumForm = {
|
||||
lawsNumber: '', // 政策编号
|
||||
numberName: '', // 政策名称
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
total: 0,
|
||||
validFlag: '0'
|
||||
}
|
||||
this.getReplaceLawsNumRow()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
/deep/.el-dialog__body {
|
||||
padding: 0 20px 0;
|
||||
}
|
||||
/deep/.el-dialog__footer {
|
||||
padding: 0 20px 20px;
|
||||
}
|
||||
/deep/.input-width input.el-input__inner {
|
||||
width: 220px;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,85 @@
|
||||
<template>
|
||||
<div class="wrapper">
|
||||
<el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
:value="value"
|
||||
:placeholder="placeholder"
|
||||
:clearable="clearable"
|
||||
@input="handleChange"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<slot />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "InputFormItem",
|
||||
props: {
|
||||
value: {
|
||||
required: true
|
||||
},
|
||||
prop: {
|
||||
type: String
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
clearable: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
placeholder () {
|
||||
return `请输入${this.label}`
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
handleChange (event) {
|
||||
this.$emit('input', event)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.wrapper {
|
||||
display: flex;
|
||||
border-bottom: 1px dashed #e5e5e5;
|
||||
}
|
||||
.add-form-item {
|
||||
margin-bottom: 0;
|
||||
min-height: 50px;
|
||||
line-height: 50px;
|
||||
//border-bottom: 1px dashed #e5e5e5;
|
||||
border-bottom: none;
|
||||
clear: both;
|
||||
flex: 1;
|
||||
}
|
||||
.add-form-item /deep/ .el-form-item__content .el-input .el-input__inner {
|
||||
height: 45px;
|
||||
//line-height: 49px;
|
||||
//border: none;
|
||||
//font-family: 'Microsoft Yahei', '\5FAE\8F6F\96C5\9ED1', Arial, sans-serif !important;
|
||||
//font-weight: lighter;
|
||||
}
|
||||
//.add-form-item /deep/ .el-form-item__label {
|
||||
// padding: 0;
|
||||
// line-height: 50px;
|
||||
// font-size: 14px;
|
||||
// color: #333333;
|
||||
// text-align: left;
|
||||
// overflow: hidden;
|
||||
// white-space: nowrap;
|
||||
// text-overflow: ellipsis;
|
||||
//}
|
||||
//.form-item-disabled /deep/ .el-form-item__label {
|
||||
// color: #666666;
|
||||
// background: transparent;
|
||||
//}
|
||||
</style>
|
||||
@@ -0,0 +1,46 @@
|
||||
<template>
|
||||
<el-collapse v-model="activeName" accordion>
|
||||
<el-collapse-item title="回执说明" name="1">
|
||||
<div style="margin: 10px 0;">
|
||||
<el-input :disabled="disabled"
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
resize="none"
|
||||
placeholder="请输入意见"
|
||||
:value="value"
|
||||
@input="handleChange">
|
||||
</el-input>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "ReceiptDescription",
|
||||
data () {
|
||||
return {
|
||||
activeName:'1',
|
||||
}
|
||||
},
|
||||
props: {
|
||||
value: {
|
||||
type: String,
|
||||
default: true
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleChange (event) {
|
||||
this.$emit('input', event)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,99 @@
|
||||
<template>
|
||||
<el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled">
|
||||
<el-select
|
||||
:value="value"
|
||||
:disabled="disabled"
|
||||
:placeholder="placeholder"
|
||||
:filterable="filterable"
|
||||
:clearable="clearable"
|
||||
@change="handleChange">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "SelectFormItem",
|
||||
props: {
|
||||
value: {
|
||||
required: true
|
||||
},
|
||||
prop: {
|
||||
type: String
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
// 下拉选项
|
||||
options: {
|
||||
type: Array,
|
||||
required: true
|
||||
},
|
||||
clearable: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
filterable: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
placeholder () {
|
||||
return `请选择${this.label}`
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
handleChange (event) {
|
||||
this.$emit('input', event)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.add-form-item {
|
||||
margin-bottom: 0;
|
||||
min-height: 50px;
|
||||
line-height: 50px;
|
||||
border-bottom: 1px dashed #e5e5e5;
|
||||
clear: both;
|
||||
}
|
||||
//.add-form-item /deep/ .el-form-item__content .el-input .el-input__inner {
|
||||
// height: 45px;
|
||||
// line-height: 49px;
|
||||
// border: none;
|
||||
// font-family: 'Microsoft Yahei', '\5FAE\8F6F\96C5\9ED1', Arial, sans-serif !important;
|
||||
// font-weight: lighter;
|
||||
//}
|
||||
//.add-form-item /deep/ .el-form-item__label {
|
||||
// padding: 0;
|
||||
// line-height: 50px;
|
||||
// font-size: 14px;
|
||||
// color: #333333;
|
||||
// text-align: left;
|
||||
// overflow: hidden;
|
||||
// white-space: nowrap;
|
||||
// text-overflow: ellipsis;
|
||||
//}
|
||||
//.form-item-disabled /deep/ .el-form-item__label {
|
||||
// color: #666666;
|
||||
// background: transparent;
|
||||
//}
|
||||
//.add-form-item /deep/ .el-form-item__content .el-select {
|
||||
// width: 100%;
|
||||
//}
|
||||
//.add-form-item /deep/ .el-input--suffix {
|
||||
// padding-right: 30px;
|
||||
//}
|
||||
</style>
|
||||
@@ -0,0 +1,80 @@
|
||||
<template>
|
||||
<el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled">
|
||||
<el-select
|
||||
:value="data"
|
||||
multiple
|
||||
:disabled="disabled"
|
||||
:placeholder="placeholder"
|
||||
:filterable="filterable"
|
||||
:clearable="clearable"
|
||||
@change="handleChange">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "SelectMultipleFormItem",
|
||||
props: {
|
||||
value: {
|
||||
required: true
|
||||
},
|
||||
prop: {
|
||||
type: String
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
// 下拉选项
|
||||
options: {
|
||||
type: Array,
|
||||
required: true
|
||||
},
|
||||
clearable: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
filterable: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
placeholder () {
|
||||
return `请选择${this.label}`
|
||||
},
|
||||
data () {
|
||||
if (this.value && this.value !== '') {
|
||||
return this.value.split(',')
|
||||
} else {
|
||||
return []
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleChange (event) {
|
||||
this.$emit('input', event.join(','))
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.add-form-item {
|
||||
margin-bottom: 0;
|
||||
min-height: 50px;
|
||||
line-height: 50px;
|
||||
border-bottom: 1px dashed #e5e5e5;
|
||||
clear: both;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,96 @@
|
||||
<template>
|
||||
<el-timeline-item :timestamp="timestamp" placement="top" :color="name ? '#66b1ff' : ''" class="timeline-item">
|
||||
<el-card>
|
||||
<el-form-item :prop="prop" style="margin-bottom: 0">
|
||||
<h4>{{ title }}</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<el-input
|
||||
:disabled="disabled"
|
||||
:value="name"
|
||||
:placeholder="title"
|
||||
readonly
|
||||
@click.native="choice(id)"></el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
<Role-tree v-if="!disabled"
|
||||
:check-box="!multiple"
|
||||
:is-title="`选择${title}`"
|
||||
:is-visible.sync="modalShowFlag"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></Role-tree>
|
||||
</el-timeline-item>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "TimeLineFormItem",
|
||||
props: {
|
||||
id:{
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
name:{
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
prop: {
|
||||
type: String
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
timestamp: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
multiple: {// 多选
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
drawerTitle: '', //drawer标题
|
||||
modalShowFlag: false, // drawer开关
|
||||
nodeList: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleChange (event) {
|
||||
this.$emit('input', event)
|
||||
},
|
||||
choice (id) {
|
||||
this.nodeList = id.split(',')
|
||||
this.modalShowFlag = true
|
||||
},
|
||||
checkedRole (data) {
|
||||
const id = this.joint(data, 'id')
|
||||
const name = this.joint(data, 'name')
|
||||
this.$emit('update:id', id)
|
||||
this.$emit('update:name', name)
|
||||
},
|
||||
joint (data, type) {
|
||||
return data.reduce((init,item) => {
|
||||
if (init === '') {
|
||||
return item[type]
|
||||
} else {
|
||||
return init + ',' + item[type]
|
||||
}
|
||||
}, '')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.timeline-item /deep/ .el-form-item__content{
|
||||
margin: 0!important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,208 @@
|
||||
<template>
|
||||
<el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
disabled
|
||||
style="display: none;"
|
||||
:value="ids"
|
||||
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>
|
||||
<div style="width: 20%;">
|
||||
<el-button :disabled="disabled"
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="mini"
|
||||
@click="showUpload"
|
||||
style="margin-left: 10px; margin-top: 11px; float: right;">
|
||||
<i class="el-icon-upload"></i>
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
|
||||
<el-upload
|
||||
multiple
|
||||
drag
|
||||
:file-list="fileList"
|
||||
:action="fileUrl"
|
||||
ref="importfile"
|
||||
name="file"
|
||||
:accept="accept"
|
||||
:before-upload="beforeUpload"
|
||||
:on-success="onSuccess"
|
||||
:on-preview="onPreview"
|
||||
:on-remove="removeOneFile"
|
||||
:show-file-list="true"
|
||||
>
|
||||
<div style="padding: 20px 0">
|
||||
<i class="el-icon-upload" style="color: #3399ff"></i>
|
||||
<p>点击或拖拽上传文件</p>
|
||||
</div>
|
||||
</el-upload>
|
||||
</el-dialog>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "UploadFormItem",
|
||||
props: {
|
||||
ids: {
|
||||
required: true,
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
names: {
|
||||
required: true,
|
||||
type: String
|
||||
},
|
||||
prop: {
|
||||
type: String
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
fileUrl: {
|
||||
type: String,
|
||||
default: () => 'api/att/attFile/uploadNew'
|
||||
},
|
||||
accept: {
|
||||
type: String,
|
||||
default: '.pdf, .PDF, .ppt, .PPT, .pptx, .PPTX, .doc, .DOC, .docx, .DOCX, .xls, .xlsx'
|
||||
},
|
||||
size: {
|
||||
type: Number,
|
||||
default: 200
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.initFileList()
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
fileMadel: false,
|
||||
fileList: [],// 用于el-upload
|
||||
FileList: [],// 用于回显
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
showUpload () {
|
||||
this.fileMadel = true;
|
||||
},
|
||||
initFileList () {
|
||||
if (this.ids && this.ids !== '' && this.names && this.names !== '') {
|
||||
let fileList = []
|
||||
const idArr = this.ids.split(',')
|
||||
const nameArr = this.names.split(',')
|
||||
for (let i = 0 ; i < idArr.length; i++) {
|
||||
fileList.push({
|
||||
id: idArr[i],
|
||||
name: nameArr[i]
|
||||
})
|
||||
}
|
||||
this.fileList = fileList
|
||||
this.FileList = fileList
|
||||
}
|
||||
},
|
||||
beforeUpload (file) {
|
||||
const fileName = file.name
|
||||
const fileSuffix = fileName.slice(fileName.lastIndexOf('.') + 1)
|
||||
// 判断上传文件格式
|
||||
const acceptArr = this.accept.split(',').map(type => type.slice(type.lastIndexOf('.') + 1))
|
||||
if (acceptArr.includes(fileSuffix)) {
|
||||
return true
|
||||
} else {
|
||||
this.$message.error('文件' + file.name + `格式不正确,请上传${acceptArr.join(',')}文件`)
|
||||
return false
|
||||
}
|
||||
// 判断文件上传大小
|
||||
if (file.size / 1024 / 1024 <= this.size) {
|
||||
return true
|
||||
} else {
|
||||
this.$message.error('文件' + file.name + `大小不超过${this.size}M`)
|
||||
return false
|
||||
}
|
||||
return true
|
||||
},
|
||||
// 导入标准数据成功后执行
|
||||
onSuccess (response, file,fileList) {
|
||||
// 上传成功后判断是否是两条数据是的话替换掉旧数据
|
||||
if (response.ok) {
|
||||
const fileObj = {
|
||||
id: file.response.data.id,
|
||||
name: file.response.data.name
|
||||
}
|
||||
let ids;
|
||||
let names;
|
||||
if (this.ids && this.ids.length > 0) {
|
||||
ids = this.ids + ',' + fileObj.id
|
||||
names = this.names + ',' + fileObj.name
|
||||
} else {
|
||||
ids = fileObj.id
|
||||
names = fileObj.name
|
||||
}
|
||||
|
||||
this.$set(this.FileList, this.FileList.length, fileObj)
|
||||
this.$emit('update:ids', ids)
|
||||
this.$emit('update:names', names)
|
||||
|
||||
this.$message({
|
||||
message: response.message,
|
||||
type: 'success'
|
||||
})
|
||||
}
|
||||
},
|
||||
removeOneFile(file, fileList) {
|
||||
const ids = fileList.reduce((init, file) => {
|
||||
if (init === '') {
|
||||
return file.id || file.response.data.id
|
||||
} else {
|
||||
return init + ',' + (file.id || file.response.data.id)
|
||||
}
|
||||
}, '')
|
||||
const names = fileList.reduce((init, file) => {
|
||||
if (init === '') {
|
||||
return file.name
|
||||
} else {
|
||||
return init + ',' + file.name
|
||||
}
|
||||
}, '')
|
||||
|
||||
this.FileList = fileList.map(file => ({
|
||||
id: file.id || file.response.data.id,
|
||||
name: file.name
|
||||
}))
|
||||
this.$emit('update:ids', ids)
|
||||
this.$emit('update:names', names)
|
||||
},
|
||||
// 文件预览及下载
|
||||
onPreview(file) {
|
||||
let attId = ""
|
||||
if(file && file.id){
|
||||
attId = file.id
|
||||
}else {
|
||||
attId = file.response.data.id
|
||||
}
|
||||
this.$preview(attId)
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.fileClass{
|
||||
line-height: 22px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,104 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
:value="value"
|
||||
:placeholder="placeholder"
|
||||
:clearable="clearable"
|
||||
readonly
|
||||
@click.native="choice('role', placeholder, value)">
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<Role-tree
|
||||
:is-title="choiceTitle"
|
||||
:is-visible.sync="modalShowRoleFlag"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></Role-tree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "personFormItem",
|
||||
props: {
|
||||
value: {
|
||||
required: true
|
||||
},
|
||||
prop: {
|
||||
type: String
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
clearable: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
choiceTitle: '', // 人员选择
|
||||
modalShowRoleFlag: false,
|
||||
nodeList: [],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
placeholder () {
|
||||
return `选择${this.label}`
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
handleChange (event) {
|
||||
this.$emit('input', event)
|
||||
},
|
||||
choice(type, title, nameId) {
|
||||
this.nodeList = []
|
||||
if (nameId) {
|
||||
let nameId1 = nameId.split(',')
|
||||
let idList = []
|
||||
nameId1.forEach(item => {
|
||||
let a, b
|
||||
a = item.substring(item.indexOf('(') +1)
|
||||
b = a.substring(0, a.lastIndexOf(')'))
|
||||
idList.push(b)
|
||||
})
|
||||
idList = idList.join(',')
|
||||
// 管理员(admin),张兰英(zhanglanying) => ['admin', 'zhanglanying']
|
||||
this.nodeList = idList.split(',')
|
||||
}
|
||||
this.choiceTitle = title
|
||||
this.modalShowRoleFlag = true
|
||||
},
|
||||
checkedRole(data) {
|
||||
let idList = ''
|
||||
let nameList = ''
|
||||
data.forEach(item => {
|
||||
if (nameList.length > 0) {
|
||||
nameList += ','
|
||||
idList += ','
|
||||
}
|
||||
idList += item.id
|
||||
nameList += item.name
|
||||
})
|
||||
this.$emit('input', nameList)
|
||||
this.$emit('change', {
|
||||
ids: this.unique(data.map(item => item.topUnitId)).join(","),
|
||||
names: this.unique(data.map(item => item.topUnit)).join(",")
|
||||
})
|
||||
},
|
||||
unique(newArr) {
|
||||
const res = new Map();
|
||||
return newArr.filter((newArr) => !res.has(newArr) && res.set(newArr, 1));
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -57,7 +57,7 @@
|
||||
<p class="half"><label style=" margin-right: 95px;">是否纳入认证清单</label><span>{{ sarStandardsInfoEO.isRelateAccess === '1' ? '是' : (sarStandardsInfoEO.isRelateAccess ? '否':'-')}}</span></p>
|
||||
<p class="half"><label style=" margin-right: 190px;">年度</label><span>{{ sarStandardsInfoEO.lawsYear || '-' }}</span></p>
|
||||
<p class="half"><label style=" margin-right: 95px;">福田转发通知文号</label><span>{{ sarStandardsInfoEO.lawsNotisyncNum || '-' }}</span></p>
|
||||
<p class="half"><label style=" margin-right: 125px;">通知文号链接</label><span>{{ sarStandardsInfoEO.NotisyncNumLink || '-' }}</span></p>
|
||||
<p class="half"><label style=" margin-right: 125px;">通知文号链接</label><span>{{ sarStandardsInfoEO.notisyncNumLink || '-' }}</span></p>
|
||||
<p class="half"><label style=" margin-right: 157px;">信息简报</label><span>{{ sarStandardsInfoEO.lawsBulletin || '-' }}</span></p>
|
||||
<p class="half"><label style=" margin-right: 190px;">标签</label><span>{{ sarStandardsInfoEO.lawsLabel || '-' }}</span></p>
|
||||
<p class="half"><label style=" margin-right: 62px;">备注(最终政策发布)</label><span>{{ sarStandardsInfoEO.lawsRemark || '-' }}</span></p>
|
||||
|
||||
@@ -219,8 +219,8 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="通知文号链接" prop="NotisyncNumLink" label-width="150px" class="add-form-item">
|
||||
<el-input v-model="sarLawsStandEO.NotisyncNumLink"
|
||||
<el-form-item label="通知文号链接" prop="notisyncNumLink" label-width="150px" class="add-form-item">
|
||||
<el-input v-model="sarLawsStandEO.notisyncNumLink"
|
||||
placeholder="请输入通知文号链接"
|
||||
clearable></el-input>
|
||||
</el-form-item>
|
||||
@@ -443,12 +443,12 @@
|
||||
</template>
|
||||
<!--实施日期-多个日期标签-->
|
||||
<template v-else-if="field.attrField === 'SSRQLAWS'">
|
||||
<cus-tom-data-picker-group
|
||||
<DatePickerGroupFormItem
|
||||
:key="field.attrField"
|
||||
:config="field"
|
||||
v-model="sarLawsStandEO[field.attrField]"
|
||||
:disabled="formdisableflag"
|
||||
></cus-tom-data-picker-group>
|
||||
></DatePickerGroupFormItem>
|
||||
</template>
|
||||
<!--单日期选择-->
|
||||
<template v-else-if="field.attrType === 'DATE_PICKER'">
|
||||
@@ -551,8 +551,9 @@
|
||||
import CustomSVPPS from '@/components/CustomFormComponents/SVPPS'
|
||||
import CustomInputForStandards from '@/components/CustomFormComponents/InputForStandardsForLaws'
|
||||
import CustomInput from '@/components/CustomFormComponents/Input'
|
||||
import CusTomDataPickerGroup
|
||||
from "@/pages/regulatoryRepository/localProductsOrProjectLibrary/components/DatePickerGroup";
|
||||
// import CusTomDataPickerGroup
|
||||
// from "@/pages/regulatoryRepository/localProductsOrProjectLibrary/components/DatePickerGroup";
|
||||
import DatePickerGroupFormItem from "@/components/hzwlComponents/DatePickerGroupFormItem";
|
||||
import CustomDatePick from '@/components/CustomFormComponents/DatePicker'
|
||||
import CustomFile from '@/components/CustomFormComponents/File'
|
||||
import CustomTextarea from '@/components/CustomFormComponents/Textarea'
|
||||
@@ -1022,7 +1023,8 @@ export default {
|
||||
CustomSVPPS,
|
||||
CustomInputForStandards,
|
||||
CustomInput,
|
||||
CusTomDataPickerGroup,
|
||||
// CusTomDataPickerGroup,
|
||||
DatePickerGroupFormItem,
|
||||
CustomDatePick,
|
||||
CustomFile,
|
||||
CustomTextarea,
|
||||
@@ -1629,8 +1631,6 @@ export default {
|
||||
})
|
||||
},
|
||||
choice(type, title, nameId) {
|
||||
console.log(nameId)
|
||||
// 管理员(admin),张兰英(zhanglanying) => ['admin', 'zhanglanying']
|
||||
this.nodeList = []
|
||||
if (nameId) {
|
||||
let nameId1 = nameId.split(',')
|
||||
@@ -1642,6 +1642,7 @@ export default {
|
||||
idList.push(b)
|
||||
})
|
||||
idList = idList.join(',')
|
||||
// 管理员(admin),张兰英(zhanglanying) => ['admin', 'zhanglanying']
|
||||
this.nodeList = idList.split(',')
|
||||
}
|
||||
this.choiceTitle = title
|
||||
@@ -1677,6 +1678,7 @@ export default {
|
||||
}
|
||||
this.$set(this.sarLawsStandEO, field, nameList)
|
||||
if (this.choiceTitle === '选择投稿人') {
|
||||
// 带入投稿单位
|
||||
this.sarLawsStandEO.TGDWLAWSID = this.unique(data.map(item => item.topUnitId)).join(",")
|
||||
this.sarLawsStandEO.TGDWLAWS = this.unique(data.map(item => item.topUnit)).join(",")
|
||||
}
|
||||
|
||||
@@ -0,0 +1,222 @@
|
||||
<template>
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<div class="prc-content-border">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<SelectFormItem label="1级政策分类"
|
||||
prop="lawsTypeFirstLevel"
|
||||
v-model="form.lawsTypeFirstLevel"
|
||||
:disabled="disabled"
|
||||
:options="dict.lawsTypeFirstLevelOptions || []">
|
||||
</SelectFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<SelectFormItem label="2级政策分类"
|
||||
prop="lawsTypeSecondLevel"
|
||||
v-model="form.lawsTypeSecondLevel"
|
||||
:disabled="disabled"
|
||||
:options="dict.lawsTypeSecondLevelOptions || []">
|
||||
</SelectFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<SelectFormItem label="3级政策分类"
|
||||
prop="lawsTypeThirdLevel"
|
||||
v-model="form.lawsTypeThirdLevel"
|
||||
:disabled="disabled"
|
||||
:options="dict.lawsTypeThirdLevelOptions || []">
|
||||
</SelectFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<SelectFormItem label="4级政策分类"
|
||||
prop="lawsTypeFourthLevel"
|
||||
v-model="form.lawsTypeFourthLevel"
|
||||
:disabled="disabled"
|
||||
:options="dict.lawsTypeFourthLevelOptions || []">
|
||||
</SelectFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<InputFormItem label="政策名称"
|
||||
prop="lawsName"
|
||||
v-model="form.lawsName"
|
||||
:disabled="disabled">
|
||||
</InputFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<InputFormItem label="英文名称"
|
||||
prop="lawsEnName"
|
||||
v-model="form.lawsEnName"
|
||||
:disabled="disabled">
|
||||
<el-button :disabled="disabled"
|
||||
type="primary"
|
||||
style="height: 40px;margin-top: 5px;"
|
||||
@click="handleSearch">
|
||||
根据编号、名称、文本状态查询
|
||||
</el-button>
|
||||
</InputFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<InputFormItem label="政策文号"
|
||||
prop="lawsNo"
|
||||
v-model="form.lawsNo"
|
||||
:disabled="disabled">
|
||||
</InputFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<DatePickerFormItem label="发文日期"
|
||||
prop="issueTime"
|
||||
v-model="form.issueTime" >
|
||||
</DatePickerFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<InputFormItem label="发文单位"
|
||||
prop="issueCompany"
|
||||
v-model="form.issueCompany"
|
||||
:disabled="disabled">
|
||||
</InputFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<DataRangePickerFormItem label="征集意见周期"
|
||||
prop="commentCycleDate"
|
||||
:startTime.sync="form.commentCycleStart"
|
||||
:endTime.sync="form.commentCycleEnd">
|
||||
</DataRangePickerFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<SelectFormItem label="文本状态"
|
||||
prop="lawsTextState"
|
||||
v-model="form.lawsTextState"
|
||||
:disabled="disabled"
|
||||
:options="dict.lawsTextStateOptions || []">
|
||||
</SelectFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<SelectMultipleFormItem label="适用车型"
|
||||
prop="lawsSycx"
|
||||
v-model="form.lawsSycx"
|
||||
:disabled="disabled"
|
||||
:options="dict.lawsSycxOptions || []">
|
||||
</SelectMultipleFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<SelectFormItem label="是否纳入认证清单"
|
||||
prop="isRelateAccess"
|
||||
v-model="form.isRelateAccess"
|
||||
:disabled="disabled"
|
||||
:options="isRelateAccessOptions || []">
|
||||
</SelectFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<SelectFormItem label="年度"
|
||||
prop="lawsYear"
|
||||
v-model="form.lawsYear"
|
||||
:disabled="disabled"
|
||||
:options="dict.lawsYearOptions || []">
|
||||
</SelectFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<InputFormItem label="福田转发通知文号"
|
||||
prop="lawsNotisyncNum"
|
||||
v-model="form.lawsNotisyncNum"
|
||||
:disabled="disabled">
|
||||
</InputFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<InputFormItem label="通知文号链接"
|
||||
prop="notisyncNumLink"
|
||||
v-model="form.notisyncNumLink"
|
||||
:disabled="disabled">
|
||||
</InputFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<InputFormItem label="信息简报"
|
||||
prop="lawsBulletin"
|
||||
v-model="form.lawsBulletin"
|
||||
:disabled="disabled">
|
||||
</InputFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<SelectMultipleFormItem label="标签"
|
||||
prop="lawsLabel"
|
||||
v-model="form.lawsLabel"
|
||||
:disabled="disabled"
|
||||
:options="dict.lawsLabelOptions || []">
|
||||
</SelectMultipleFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<InputFormItem label="备注(最终政策发布)"
|
||||
prop="lawsRemark"
|
||||
v-model="form.lawsRemark"
|
||||
:disabled="disabled">
|
||||
</InputFormItem>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<SearchResult ref="SearchResultRef" :dict="dict" @dragIn="dragIn"></SearchResult>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
|
||||
import SelectFormItem from '@/components/hzwlComponents/SelectFormItem'
|
||||
import InputFormItem from '@/components/hzwlComponents/InputFormItem'
|
||||
import DatePickerFormItem from '@/components/hzwlComponents/DatePickerFormItem'
|
||||
import DataRangePickerFormItem from '@/components/hzwlComponents/DataRangePickerFormItem'
|
||||
import SelectMultipleFormItem from '@/components/hzwlComponents/SelectMultipleFormItem'
|
||||
import SearchResult from './SearchResult'
|
||||
export default {
|
||||
name: "Basic",
|
||||
components: {
|
||||
ProcessTitle,
|
||||
SelectFormItem,
|
||||
InputFormItem,
|
||||
DatePickerFormItem,
|
||||
DataRangePickerFormItem,
|
||||
SelectMultipleFormItem,
|
||||
SearchResult
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
isRelateAccessOptions: [
|
||||
{
|
||||
label: '是',
|
||||
value: '1'
|
||||
},
|
||||
{
|
||||
label: '否',
|
||||
value: '2'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
props: {
|
||||
form: {
|
||||
type: Object,
|
||||
required: true
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: () => false
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleSearch () {
|
||||
this.$refs.SearchResultRef.open()
|
||||
},
|
||||
dragIn (form) {
|
||||
this.$emit('dragIn', form)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,80 @@
|
||||
<template>
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">实施日期</template>
|
||||
</ProcessTitle>
|
||||
<div class="prc-content-border">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<DatePickerGroupFormItem
|
||||
label="实施日期(标准文本)"
|
||||
prop="SSRQLAWS"
|
||||
v-model="form.SSRQLAWS"
|
||||
:disabled="disabled"
|
||||
></DatePickerGroupFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<DatePickerFormItem label="新认证实施日期"
|
||||
prop="XRZSSRQLAWS"
|
||||
v-model="form.XRZSSRQLAWS"
|
||||
:disabled="disabled">
|
||||
</DatePickerFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<DatePickerFormItem label="新生产实施日期"
|
||||
prop="ZCXSSRQLAWS"
|
||||
v-model="form.ZCXSSRQLAWS"
|
||||
:disabled="disabled" >
|
||||
</DatePickerFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<DatePickerFormItem label="在用车实施日期"
|
||||
prop="XCXSSRQLAWS"
|
||||
v-model="form.XCXSSRQLAWS"
|
||||
:disabled="disabled">
|
||||
</DatePickerFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<DatePickerFormItem label="生效日期"
|
||||
prop="SXRQLAWS"
|
||||
v-model="form.SXRQLAWS"
|
||||
:disabled="disabled" >
|
||||
</DatePickerFormItem>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
|
||||
import DatePickerGroupFormItem from "@/components/hzwlComponents/DatePickerGroupFormItem";
|
||||
import DatePickerFormItem from '@/components/hzwlComponents/DatePickerFormItem'
|
||||
export default {
|
||||
name: "EffectiveDate",
|
||||
components: {
|
||||
ProcessTitle,
|
||||
DatePickerGroupFormItem,
|
||||
DatePickerFormItem
|
||||
},
|
||||
props: {
|
||||
form: {
|
||||
type: Object,
|
||||
required: true
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: () => false
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
required: true
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,47 @@
|
||||
<template>
|
||||
<el-timeline>
|
||||
<el-form
|
||||
ref="userForm"
|
||||
:model="roleForm"
|
||||
:rules="roleRules"
|
||||
class="label-input-form">
|
||||
</el-form>
|
||||
<TimeLineFormItem
|
||||
prop="prcCreateUserName"
|
||||
timestamp="发起流程"
|
||||
title="流程发起人"
|
||||
:id.sync="roleForm.prcCreateUser"
|
||||
:name.sync="roleForm.prcCreateUserName"
|
||||
disabled />
|
||||
<TimeLineFormItem
|
||||
prop="jlUserName"
|
||||
timestamp="选择政策业务经理"
|
||||
title="政策业务经理"
|
||||
:id.sync="roleForm.jlUserId"
|
||||
:name.sync="roleForm.jlUserName"
|
||||
/>
|
||||
</el-timeline>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import TimeLineFormItem from '@/components/hzwlComponents/TimeLineFormItem'
|
||||
export default {
|
||||
name: "PersonInfo",
|
||||
components: {
|
||||
TimeLineFormItem
|
||||
},
|
||||
props: {
|
||||
roleForm: {
|
||||
type: Object
|
||||
},
|
||||
roleRules: {
|
||||
type: Object
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,94 @@
|
||||
<template>
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">适用范围</template>
|
||||
</ProcessTitle>
|
||||
<div class="prc-content-border">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<SelectFormItem label="我司参与深度"
|
||||
prop="CYSDLAWS"
|
||||
v-model="form.CYSDLAWS"
|
||||
:disabled="disabled"
|
||||
:options="dict.CYSDLAWSOptions || []">
|
||||
</SelectFormItem>
|
||||
<DepartmentFormItem label="投稿单位"
|
||||
prop="TGDWLAWS"
|
||||
v-model="form.TGDWLAWS"
|
||||
:ids.sync="form.TGDWLAWSID"
|
||||
:disabled="disabled">
|
||||
</DepartmentFormItem>
|
||||
<DepartmentFormItem label="责任部门"
|
||||
prop="ZRBMLAWS"
|
||||
v-model="form.ZRBMLAWS"
|
||||
:ids.sync="form.ZRBMLAWSID"
|
||||
:disabled="disabled">
|
||||
</DepartmentFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<personFormItem label="投稿人"
|
||||
prop="TGRLAWS"
|
||||
v-model="form.TGRLAWS"
|
||||
@change="TGRLAWSChange"
|
||||
:disabled="disabled">
|
||||
</personFormItem>
|
||||
<SelectMultipleFormItem label="适用认证"
|
||||
prop="SYRZLAWS"
|
||||
v-model="form.SYRZLAWS"
|
||||
:disabled="disabled"
|
||||
:options="dict.syrzOptions || []">
|
||||
</SelectMultipleFormItem>
|
||||
<personFormItem label="责任工程师"
|
||||
prop="ZRGCSLAWS"
|
||||
v-model="form.ZRGCSLAWS"
|
||||
:disabled="disabled">
|
||||
</personFormItem>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
import SelectFormItem from '@/components/hzwlComponents/SelectFormItem'
|
||||
import personFormItem from '@/components/hzwlComponents/personFormItem'
|
||||
import DepartmentFormItem from '@/components/hzwlComponents/DepartmentFormItem'
|
||||
import SelectMultipleFormItem from '@/components/hzwlComponents/SelectMultipleFormItem'
|
||||
export default {
|
||||
name: "Range",
|
||||
components: {
|
||||
ProcessTitle,
|
||||
SelectFormItem,
|
||||
personFormItem,
|
||||
DepartmentFormItem,
|
||||
SelectMultipleFormItem
|
||||
},
|
||||
props: {
|
||||
form: {
|
||||
type: Object,
|
||||
required: true
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: () => false
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
TGRLAWSChange (val) {
|
||||
if (val) {
|
||||
this.form.TGDWLAWSID = val.ids
|
||||
this.form.TGDWLAWS = val.names
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,69 @@
|
||||
<template>
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">关联信息</template>
|
||||
</ProcessTitle>
|
||||
<div class="prc-content-border">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<InputForStandardsForLaws
|
||||
label="代替文件号"
|
||||
prop="DTWJHLAWS"
|
||||
v-model="form.DTWJHLAWS"
|
||||
:disabled="disabled"
|
||||
labelWidth="210px"
|
||||
></InputForStandardsForLaws>
|
||||
<UploadFormItem
|
||||
label="关联文件"
|
||||
prop="GLWJLAWS"
|
||||
:ids.sync="form.GLWJLAWS"
|
||||
:names.sync="form.GLWJLAWSName"
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<InputForStandardsForLaws
|
||||
label="引用标准&政策"
|
||||
prop="YYBZZCLAWS"
|
||||
v-model="form.YYBZZCLAWS"
|
||||
:disabled="disabled"
|
||||
labelWidth="210px"
|
||||
></InputForStandardsForLaws>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
|
||||
import InputForStandardsForLaws from '@/components/hzwlComponents/InputForStandardsForLaws'
|
||||
import UploadFormItem from "@/components/hzwlComponents/UploadFormItem";
|
||||
export default {
|
||||
name: "RelatesInfo",
|
||||
components: {
|
||||
ProcessTitle,
|
||||
InputForStandardsForLaws,
|
||||
UploadFormItem
|
||||
},
|
||||
props: {
|
||||
form: {
|
||||
type: Object,
|
||||
required: true
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: () => false
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,297 @@
|
||||
<template>
|
||||
<el-drawer
|
||||
ref="standard"
|
||||
title="查询结果"
|
||||
size="1300px"
|
||||
:visible.sync="standardDrawer"
|
||||
direction="rtl"
|
||||
:before-close="handleReviseDrawerClose">
|
||||
<div class="standard-content">
|
||||
<div class="content">
|
||||
<div class="standard-table-search">
|
||||
<el-form :model="SearchForm" inline class="label-input-form search-area">
|
||||
<el-form-item label="政策编号" style="margin-right:-20px" prop="lawsNumber" class="search-item" >
|
||||
<el-input :disabled="disabled"
|
||||
v-model="SearchForm.lawsNumber"
|
||||
clearable placeholder="根据编号查找"
|
||||
:maxlength="100"
|
||||
@keyup.enter.native="getData"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="政策名称" style="margin-right:-20px" prop="lawsName" class="search-item" >
|
||||
<el-input :disabled="disabled"
|
||||
v-model="SearchForm.lawsName"
|
||||
placeholder="请输入政策名称"
|
||||
clearable
|
||||
:maxlength="100"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="英文名称" style="margin-right:-20px" prop="lawsEnName" class="search-item" >
|
||||
<el-input :disabled="disabled"
|
||||
v-model="SearchForm.lawsEnName"
|
||||
placeholder="请输入英文名称"
|
||||
clearable
|
||||
:maxlength="100"></el-input>
|
||||
</el-form-item>
|
||||
<el-formItem label="文本状态" prop="lawsTextState" class="search-item">
|
||||
<el-select :disabled="disabled" v-model="SearchForm.lawsTextState" filterable clearable>
|
||||
<el-option
|
||||
v-for="item in dict.lawsTextStateOptions"
|
||||
placeholder="请选择"
|
||||
:key="item.value"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-formItem>
|
||||
<el-form-item>
|
||||
<el-button :disabled="disabled"
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="mini"
|
||||
style="margin-left: 5px"
|
||||
@click="getData">
|
||||
查询
|
||||
</el-button>
|
||||
<el-button :disabled="disabled"
|
||||
class="common-button-default"
|
||||
size="mini"
|
||||
@click="resetSearch">
|
||||
清空
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="standard-table-wrap">
|
||||
<el-table
|
||||
ref="reviseDrawerTable"
|
||||
:data="data"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%;"
|
||||
border
|
||||
class="drag-table"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
@selection-change="standSelectChange">
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
type="index"
|
||||
label="序号"
|
||||
width="80"
|
||||
align="center"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="政策编号"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a @click="handlePreview(scope.row)">{{ scope.row.lawsNumber }}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="lawsName"
|
||||
label="政策名称"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="lawsEnName"
|
||||
label="英文名称"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="textStatus"
|
||||
label="文本状态"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.standStatusShow }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="80">
|
||||
<template slot-scope="scope">
|
||||
<el-button :disabled="disabled"
|
||||
class="opera-btn"
|
||||
size="mini"
|
||||
type="primary"
|
||||
@click="handlePreview(scope.row)">查看
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination
|
||||
:page="SearchForm.page"
|
||||
:total="SearchForm.total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"></pagination>
|
||||
<loading :loading="loading">数据获取中</loading>
|
||||
</div>
|
||||
</div>
|
||||
<div class="demo-drawer-footer">
|
||||
<!--<el-button :disabled="disabled"-->
|
||||
<!-- round-->
|
||||
<!-- class="common-button-primary"-->
|
||||
<!-- icon="el-icon-check"-->
|
||||
<!-- type="primary"-->
|
||||
<!-- :loading="drLoading"-->
|
||||
<!-- @click="handleProcessStandardNext(1)">新增</el-button>-->
|
||||
<el-button :disabled="disabled"
|
||||
round
|
||||
class="common-button-primary"
|
||||
icon="el-icon-check"
|
||||
type="primary"
|
||||
:loading="buttonLoading"
|
||||
@click="handleProcessStandardNext(2)">带入</el-button>
|
||||
<el-button :disabled="disabled"
|
||||
round
|
||||
class="common-button-default"
|
||||
icon="el-icon-close"
|
||||
:loading="buttonLoading"
|
||||
@click="handleProcessStandardNext(3)">取消</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "SearchResult",
|
||||
data () {
|
||||
return {
|
||||
standardDrawer: false,
|
||||
SearchForm: {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
total: 0,
|
||||
// standType: 'INLAND',
|
||||
lawsNumber: '',
|
||||
lawsName: '',
|
||||
lawsEnName: '',
|
||||
lawsTextState: ''
|
||||
},
|
||||
loading: false,
|
||||
buttonLoading: false,
|
||||
data: [],
|
||||
|
||||
selectedList: [],
|
||||
}
|
||||
},
|
||||
props: {
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
open () {
|
||||
this.standardDrawer = true
|
||||
this.getData()
|
||||
},
|
||||
getData () {
|
||||
this.loading = true
|
||||
this.$http.get('lawss/sarLawsInfo/page', this.SearchForm, {}, res => {
|
||||
this.loading = false
|
||||
if (res.ok) {
|
||||
this.data = res.data.list
|
||||
this.SearchForm.total = res.data.count
|
||||
}
|
||||
}, e => {
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
resetSearch() {
|
||||
// this.SearchForm.lawsNumber = ''
|
||||
// this.SearchForm.lawsName = ''
|
||||
// this.SearchForm.lawsEnName = ''
|
||||
// this.SearchForm.lawsTextState = ''
|
||||
this.SearchForm = {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
total: 0,
|
||||
// standType: 'INLAND',
|
||||
lawsNumber: '',
|
||||
lawsName: '',
|
||||
lawsEnName: '',
|
||||
lawsTextState: ''
|
||||
}
|
||||
|
||||
this.getData()
|
||||
},
|
||||
standSelectChange (data) {
|
||||
this.selectedList = data
|
||||
},
|
||||
pageChange (page) {
|
||||
this.SearchForm.page = page
|
||||
this.getData()
|
||||
},
|
||||
pageSizeChange (pageSize) {
|
||||
this.SearchForm.pageSize = pageSize
|
||||
this.getData()
|
||||
},
|
||||
// 点击查看
|
||||
handlePreview (item) {
|
||||
let routeUrl = this.$router.resolve({
|
||||
name: 'OtherLawsStandDetails',
|
||||
params: {
|
||||
id: item.id,
|
||||
pageType: 'LAWS_STAND'
|
||||
}
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
},
|
||||
handleProcessStandardNext(status) {
|
||||
switch (status) {
|
||||
// 新增
|
||||
case 1:
|
||||
break
|
||||
// 带入
|
||||
case 2:
|
||||
if (this.selectedList.length === 1) {
|
||||
this.buttonLoading = true
|
||||
this.$http.get('lawss/sarLawsInfo/getStandInfoUpdateById', {id: this.selectedList[0].id}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if(res && res.data){
|
||||
this.standardDrawer = false
|
||||
this.buttonLoading = false
|
||||
const json = Object.assign(res.data, res.data.attrInfoMap);
|
||||
const form = JSON.parse(JSON.stringify(json))
|
||||
this.$emit('dragIn', form)
|
||||
}
|
||||
})
|
||||
|
||||
} else if (this.selectedList.length > 1) {
|
||||
this.$message.warning('最多可以带入一条政策信息')
|
||||
} else {
|
||||
this.$message.warning('请选择要带入的政策信息')
|
||||
}
|
||||
break
|
||||
// 取消
|
||||
case 3:
|
||||
this.selectedList = []
|
||||
this.standardDrawer = false
|
||||
break
|
||||
}
|
||||
},
|
||||
handleReviseDrawerClose (done) {
|
||||
done()
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.standard-content{
|
||||
flex: 1;
|
||||
}
|
||||
.demo-drawer-footer{
|
||||
height: 61px!important;
|
||||
line-height: 60px!important;
|
||||
}
|
||||
.pagination{
|
||||
bottom: 61px;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,66 @@
|
||||
<template>
|
||||
<div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">文本信息</template>
|
||||
</ProcessTitle>
|
||||
<div class="prc-content-border">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<UploadFormItem
|
||||
label="政策文本"
|
||||
prop="ZCWBLAWS"
|
||||
:ids.sync="form.ZCWBLAWS"
|
||||
:names.sync="form.ZCWBLAWSName"
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
<UploadFormItem
|
||||
label="解读文本"
|
||||
prop="JDWJLAWS"
|
||||
:ids.sync="form.JDWJLAWS"
|
||||
:names.sync="form.JDWJLAWSName"
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<UploadFormItem
|
||||
label="过程文本"
|
||||
prop="GCWBLAWS"
|
||||
:ids.sync="form.GCWBLAWS"
|
||||
:names.sync="form.GCWBLAWSName"
|
||||
:disabled="disabled">
|
||||
</UploadFormItem>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
import UploadFormItem from "@/components/hzwlComponents/UploadFormItem";
|
||||
export default {
|
||||
name: "TextInfo",
|
||||
components: {
|
||||
ProcessTitle,
|
||||
UploadFormItem
|
||||
},
|
||||
props: {
|
||||
form: {
|
||||
type: Object,
|
||||
required: true
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: () => false
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,465 @@
|
||||
<template>
|
||||
<div class="wrapper">
|
||||
<ProcessHeader toggle>
|
||||
<template slot="proName">政策入库流程</template>
|
||||
<template slot="proNode">发起流程</template>
|
||||
</ProcessHeader>
|
||||
<div class="headerTabs">
|
||||
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
|
||||
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">人员信息</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-form v-if="reloadForm"
|
||||
ref="form"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
class="label-input-form"
|
||||
label-width="210px"
|
||||
>
|
||||
<div v-show="active === '1'">
|
||||
<Basic :form="form" :dict="dict" @dragIn="dragIn"></Basic>
|
||||
<EffectiveDate :form="form" :dict="dict"></EffectiveDate>
|
||||
<TextInfo :form="form" :dict="dict"></TextInfo>
|
||||
<Range :form="form" :dict="dict"></Range>
|
||||
<RelatesInfo :form="form" :dict="dict"></RelatesInfo>
|
||||
<ReceiptDescription v-model="form.commentText"></ReceiptDescription>
|
||||
</div>
|
||||
<div class="block" style="padding-top: 20px;" v-show="active === '2'">
|
||||
<PersonInfo ref="roleForm" :roleForm="roleForm"></PersonInfo>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
v-show="!disabled"
|
||||
show-save
|
||||
show-submit
|
||||
:submitLoading="footerLoading"
|
||||
:saveLoading="footerLoading"
|
||||
@save="handleSave"
|
||||
@submit="handleSubmit"
|
||||
>
|
||||
</ProcessFooter>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeader from '@/pages/processCenter/pages/components//ProcessHeader'
|
||||
import ProcessFooter from '@/pages/processCenter/pages/components//ProcessFooter'
|
||||
|
||||
import Basic from "./components/Basic";
|
||||
import EffectiveDate from "./components/EffectiveDate";
|
||||
import TextInfo from "./components/TextInfo";
|
||||
import Range from "./components/Range";
|
||||
import RelatesInfo from "./components/RelatesInfo";
|
||||
import ReceiptDescription from "@/components/hzwlComponents/ReceiptDescription";
|
||||
import PersonInfo from "./components/PersonInfo";
|
||||
|
||||
import {saveTaskFirst, queryTaskFirst, taskDel} from "api/process";
|
||||
export default {
|
||||
name: "ZrckStep1",
|
||||
components: {
|
||||
ProcessHeader,
|
||||
ProcessFooter,
|
||||
Basic,
|
||||
EffectiveDate,
|
||||
TextInfo,
|
||||
Range,
|
||||
RelatesInfo,
|
||||
ReceiptDescription,
|
||||
PersonInfo
|
||||
},
|
||||
data () {
|
||||
const form = {
|
||||
// 基础信息
|
||||
lawsTypeFirstLevel: '',
|
||||
lawsTypeSecondLevel: '',
|
||||
lawsTypeThirdLevel: '',
|
||||
lawsTypeFourthLevel: '',
|
||||
lawsName: '',
|
||||
lawsEnName: '',
|
||||
lawsNo: '',
|
||||
issueTime: '',
|
||||
issueCompany: '',
|
||||
commentCycleStart: '',// 征集意见周期
|
||||
commentCycleEnd: '',// 征集意见周期
|
||||
lawsTextState: '',
|
||||
lawsSycx: '',
|
||||
isRelateAccess: '2',
|
||||
lawsYear: '',
|
||||
lawsNotisyncNum: '',
|
||||
NotisyncNumLink: '',
|
||||
lawsBulletin: '',
|
||||
lawsLabel: '',
|
||||
lawsRemark: '',
|
||||
// 实施日期
|
||||
SSRQLAWS: '',
|
||||
XRZSSRQLAWS: '',
|
||||
ZCXSSRQLAWS: '',
|
||||
XCXSSRQLAWS: '',
|
||||
SXRQLAWS: '',
|
||||
// 文本信息
|
||||
ZCWBLAWS: '',
|
||||
ZCWBLAWSName: '',
|
||||
JDWJLAWS: '',
|
||||
JDWJLAWSName: '',
|
||||
GCWBLAWS: '',
|
||||
GCWBLAWSName: '',
|
||||
// 适用范围
|
||||
CYSDLAWS: '',
|
||||
TGDWLAWS: '',
|
||||
TGDWLAWSID: '',
|
||||
ZRBMLAWS: '',
|
||||
ZRBMLAWSID: '',
|
||||
TGRLAWS: '',
|
||||
SYRZLAWS: '',
|
||||
ZRGCSLAWS: '',
|
||||
// 关联信息
|
||||
DTWJHLAWS: '',
|
||||
GLWJLAWS: '',
|
||||
GLWJLAWSName: '',
|
||||
YYBZZCLAWS: '',
|
||||
// 回执说明
|
||||
commentText:''
|
||||
}
|
||||
const roleForm = {
|
||||
jlUserId: '',
|
||||
jlUserName: '',
|
||||
prcCreateUser: this.$store.getters.userInfo.userId,
|
||||
prcCreateUserName: this.$store.getters.userInfo.userName,
|
||||
}
|
||||
// 完整校验
|
||||
const moreSarLawsStandRules = {
|
||||
lawsTypeFirstLevel: [
|
||||
{required: true, message: '1级政策分类不能为空', trigger: 'change'}
|
||||
],
|
||||
lawsTypeSecondLevel: [
|
||||
{required: true, message: '2级政策分类不能为空', trigger: 'change'}
|
||||
],
|
||||
lawsTypeThirdLevel: [
|
||||
{required: true, message: '3级政策分类不能为空', trigger: 'change'}
|
||||
],
|
||||
lawsTypeFourthLevel: [
|
||||
{required: true, message: '4级政策分类不能为空', trigger: 'change'}
|
||||
],
|
||||
lawsName: [
|
||||
{required: true, message: '政策名称不能为空', trigger: 'change'},
|
||||
{type: 'string', max: 500, message: '政策名称不能超过500个字符', trigger: 'change'},
|
||||
{validator: this.verify.checkSpecialCharacterOftags, trigger: 'change'}
|
||||
],
|
||||
lawsEnName: [
|
||||
// {required: false, message: '英文名称不能为空', trigger: 'change'},
|
||||
{type: 'string', max: 500, message: '英文名称不能超过500个字符', trigger: 'change'},
|
||||
{validator: this.verify.valiateEnName, trigger: 'change'}
|
||||
],
|
||||
lawsNo: [
|
||||
// {required: true, type: 'string', message: '政策文号不能为空', trigger: 'change'},
|
||||
{type: 'string', max: 100, message: '政策文号不能超过100个字符', trigger: 'change'}
|
||||
],
|
||||
issueTime: [
|
||||
{required: true, message: '发文日期不能为空', trigger: 'change'},
|
||||
],
|
||||
issueCompany: [
|
||||
{required: true, type: 'string', message: '发文单位不能为空', trigger: 'change'},
|
||||
{type: 'string', max: 100, message: '发文单位不能超过100个字符', trigger: 'change'}
|
||||
],
|
||||
lawsTextState: [
|
||||
{required: true, message: '文本状态不能为空', trigger: 'change'}
|
||||
],
|
||||
isRelateAccess: [
|
||||
{required: true, message: '是否纳入认证清单不能为空', trigger: 'change'}
|
||||
],
|
||||
lawsYear: [
|
||||
{required: true, message: '年度不能为空', trigger: 'change'}
|
||||
],
|
||||
lawsNotisyncNum: [
|
||||
{type: 'string', max: 500, message: '福田转发通知文号不能超过500个字符', trigger: 'change'}
|
||||
],
|
||||
lawsRemark: [
|
||||
{type: 'string', max: 500, message: '备注不能超过500个字符', trigger: 'change'}
|
||||
],
|
||||
SSRQLAWS: [
|
||||
{required: true, message: '实施日期不能为空', trigger: 'change'}
|
||||
]
|
||||
}
|
||||
// 认证清单为否 的校验
|
||||
const littleSarLawsStandRules = {
|
||||
lawsTypeFirstLevel: [
|
||||
{required: true, message: '1级政策分类不能为空', trigger: 'change'}
|
||||
],
|
||||
lawsTypeSecondLevel: [
|
||||
{required: true, message: '2级政策分类不能为空', trigger: 'change'}
|
||||
],
|
||||
lawsTypeThirdLevel: [
|
||||
{required: true, message: '3级政策分类不能为空', trigger: 'change'}
|
||||
],
|
||||
lawsTypeFourthLevel: [
|
||||
{required: true, message: '4级政策分类不能为空', trigger: 'change'}
|
||||
],
|
||||
lawsName: [
|
||||
{required: true, message: '政策名称不能为空', trigger: 'change'},
|
||||
{type: 'string', max: 500, message: '政策名称不能超过500个字符', trigger: 'change'},
|
||||
{validator: this.verify.checkSpecialCharacterOftags, trigger: 'change'}
|
||||
],
|
||||
isRelateAccess: [
|
||||
{required: true, message: '是否纳入认证清单不能为空', trigger: 'change'}
|
||||
],
|
||||
}
|
||||
return {
|
||||
active: '1',
|
||||
dict: {},
|
||||
form,
|
||||
roleForm,
|
||||
disabled: false,
|
||||
footerLoading: false,
|
||||
moreSarLawsStandRules,
|
||||
littleSarLawsStandRules,
|
||||
rules: {},
|
||||
reloadForm: true, // 重新渲染表单
|
||||
bpnId: this.$route.query.bpnId || ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getDicTypeListCode()
|
||||
this.resolveRules()
|
||||
this.getTaskId()
|
||||
},
|
||||
watch: {
|
||||
'form.isRelateAccess' () {
|
||||
// 移除校验结果重新生成校验
|
||||
this.resolveRules()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleTabs(tab) {
|
||||
this.active = tab
|
||||
},
|
||||
resolveRules () {
|
||||
this.reloadForm = false
|
||||
let rules = {}
|
||||
if (this.form.isRelateAccess === '1') {
|
||||
// 认证清单为是
|
||||
rules = this.moreSarLawsStandRules
|
||||
} else if (this.form.isRelateAccess === '2') {
|
||||
// 认证清单为否
|
||||
rules = this.littleSarLawsStandRules
|
||||
}
|
||||
this.rules = { ...rules }
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
},
|
||||
getTaskId () {
|
||||
if(this.$route.query.bpnId){
|
||||
queryTaskFirst({
|
||||
bpnId: this.$route.query.bpnId
|
||||
}).then(res => {
|
||||
this.reloadForm = false
|
||||
let mes = JSON.parse(res.mes)
|
||||
this.$set(this, 'form', mes.form)
|
||||
this.roleForm = mes.roleForm
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
// 带入流程
|
||||
dragIn (form) {
|
||||
this.reloadForm = false
|
||||
this.$set(this, 'form', Object.assign(this.form, form))
|
||||
this.$nextTick(() => {
|
||||
this.reloadForm = true
|
||||
})
|
||||
},
|
||||
//保存
|
||||
handleSave() {
|
||||
this.footerLoading = true
|
||||
let _formData = new FormData()
|
||||
_formData.append('id', this.bpnId || '')
|
||||
_formData.append('createUser', this.$store.getters.userInfo.userId)
|
||||
_formData.append('createUserName', this.$store.getters.userInfo.uName)
|
||||
_formData.append('prcType', 'laws1')
|
||||
_formData.append('prcName', '政策入库流程')
|
||||
_formData.append('json', JSON.stringify({
|
||||
taskInfo: '申请人发起',
|
||||
form: this.form,
|
||||
roleForm: this.roleForm,
|
||||
}))
|
||||
saveTaskFirst(_formData).then(res => {
|
||||
this.footerLoading = false
|
||||
this.$message.success('保存成功')
|
||||
this.bpnId = res.result
|
||||
}).catch(e => {
|
||||
this.footerLoading = false
|
||||
})
|
||||
},
|
||||
handleSubmit() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.$refs['roleForm'].$refs['userForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.footerLoading = true
|
||||
const json = Object.assign(this.form, this.roleForm);
|
||||
this.$http.post('lawss/activiti/startProcessRollBack', {
|
||||
createUser: this.$store.getters.userInfo.userId,
|
||||
createUserName: this.$store.getters.userInfo.userName,
|
||||
type: 'laws1',
|
||||
json: JSON.stringify({
|
||||
form: this.form,
|
||||
roleForm: this.roleForm
|
||||
})
|
||||
}, {}, res => {
|
||||
if (res.ok) {
|
||||
this.$http.post('lawss/activiti/completeTask', {
|
||||
taskIds: res.data,
|
||||
userId : this.$store.getters.userInfo.userId,
|
||||
json: JSON.stringify(json)
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.success) {
|
||||
this.$message.success(res.message)
|
||||
this.footerLoading = false
|
||||
if (this.$route.query.bpnId !== '') {
|
||||
let taskId = {
|
||||
id: this.$route.query.bpnId
|
||||
}
|
||||
// taskDel(taskId).then(res=>{
|
||||
// return res
|
||||
// })
|
||||
}
|
||||
// 流程提交之后,应该流转至待办任务页面
|
||||
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}else {
|
||||
this.$message.warning('请检查人员信息表单是否填写完整')
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.warning('请检查基础信息表单是否填写完整')
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
getDicTypeListCode () {
|
||||
// 查询各下拉框数据
|
||||
this.$http.get('sys/dictype/getDicTypeListCode', '', {
|
||||
_this: this
|
||||
}, res => {
|
||||
// this.$set(this.dict, 'lawsTypeFirstLevelOptions', res.data.lawsTypeFirstLevel)
|
||||
// this.$set(this.dict, 'lawsTypeSecondLevelOptions', res.data.lawsTypeSecondLevel)
|
||||
// this.$set(this.dict, 'lawsTypeThirdLevelOptions', res.data.lawsTypeThirdLevel)
|
||||
// this.$set(this.dict, 'lawsTypeFourthLevelOptions', res.data.lawsTypeFourthLevel)
|
||||
// this.$set(this.dict, 'lawsTextStateOptions', res.data.lawsTextState)
|
||||
// this.dict.lawsTypeOptions = res.data.lawsType
|
||||
this.dict.lawsTypeFirstLevelOptions = res.data.lawsTypeFirstLevel
|
||||
this.dict.lawsTypeSecondLevelOptions = res.data.lawsTypeSecondLevel
|
||||
this.dict.lawsTypeThirdLevelOptions = res.data.lawsTypeThirdLevel
|
||||
this.dict.lawsTypeFourthLevelOptions = res.data.lawsTypeFourthLevel
|
||||
this.dict.lawsTextStateOptions = res.data.lawsTextState
|
||||
this.dict.lawsSycxOptions = res.data.lawsSycx
|
||||
this.dict.lawsYearOptions = res.data.lawsYear
|
||||
this.dict.lawsLabelOptions = res.data.lawsLabel
|
||||
this.dict.CYSDLAWSOptions = res.data.CYSDLAWS
|
||||
this.dict.syrzOptions = res.data.YYRZLAWS
|
||||
this.dict = { ...this.dict }
|
||||
// this.allSelectOptions = res.data || {}
|
||||
//
|
||||
// this.countryOptions = res.data.COUNTRY
|
||||
// this.applyCountryOptions = res.data.COUNTRY
|
||||
// this.regionOptions = res.data.REGION // 区域
|
||||
// this.standStateOptions = res.data.BUSSSTATE
|
||||
// this.energyKindOptions = res.data.ENERGYTYPES
|
||||
// this.standGeneraOptions = res.data.BUSSBIGCLASS
|
||||
// this.standSubclassOptions = res.data.BUSSFINECLASS
|
||||
// this.standSortOptions = res.data.STANDCLASSIFY // 标准类别
|
||||
// this.standNatureOptions = res.data.SARPROPERTY // 标准性质
|
||||
// this.standStateOptions = res.data.TEXTSTATUSBUSS // 文本状态
|
||||
// this.standSystemOptions = res.data.TXLBBUSS // 标准体系
|
||||
// this.applyArcticOptions = res.data.ENERGYTYPES // 适用车型
|
||||
// this.categoryOptions = res.data.NYLXCLASS // 能源类型
|
||||
// this.applyAuthOptions = res.data.SYRZCLASS // 适用认证
|
||||
// this.cysdOptions = res.data.WSCYSD // 我司参与深度
|
||||
// this.zrgcsOptions = res.data.ZRGCSCLASS // 责任工程师
|
||||
// this.txlbOptions = res.data.TXLBCLASS // 体系类别
|
||||
// this.qcdwOptions = res.data.QCDW // 起草单位
|
||||
// this.qcrOptions = res.data.QCRBUSS // 起草人
|
||||
// this.nylxOptions = res.data.NYLXCLASS // 能源类型
|
||||
// this.syrzOptions = res.data.SYRZCLASS // 适用认证
|
||||
// this.sycpxOptions = res.data.SYCPXCLASS // 适用产品线
|
||||
// this.zrgcsOptions = res.data.ZRGCSCLASS // 责任工程师
|
||||
// this.zrbmOptions = res.data.ZRBMCLASS // 责任部门
|
||||
// this.gkglbmOptions=res.data.GKGLBM //归口管理部门
|
||||
// this.lawsTypeOptions = res.data.lawsType
|
||||
// this.lawsTypeFirstLevelOptions = res.data.lawsTypeFirstLevel
|
||||
// this.lawsTypeSecondLevelOptions = res.data.lawsTypeSecondLevel
|
||||
// this.lawsTypeThirdLevelOptions = res.data.lawsTypeThirdLevel
|
||||
// this.lawsTypeFourthLevelOptions = res.data.lawsTypeFourthLevel
|
||||
// this.lawsTextStateOptions = res.data.lawsTextState
|
||||
// this.lawsSyqyOptions = res.data.lawsSyqy
|
||||
// this.lawsSycxOptions = res.data.lawsSycx
|
||||
// this.lawsYearOptions = res.data.lawsYear
|
||||
// this.lawsLabelOptions = res.data.lawsLabel
|
||||
// this.CYSDLAWSOptions = res.data.CYSDLAWS
|
||||
// this.TGRLAWSOptions = res.data.TGRLAWS
|
||||
// this.TGDWLAWSOptions = res.data.TGDWLAWS
|
||||
// this.NYLXLAWSOptions = res.data.NYLXLAWS
|
||||
// this.YYRZLAWSOptions = res.data.YYRZLAWS
|
||||
// this.ZRBMLAWSOptions = res.data.ZRBMLAWS
|
||||
// this.ZRGCSLAWSOptions = res.data.ZRGCSLAWS
|
||||
}, e => {
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.wrapper{
|
||||
position: relative;
|
||||
height: 100%;
|
||||
}
|
||||
.headerTabs {
|
||||
height: 52px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 10px;
|
||||
.headerTabsItem {
|
||||
border: 1px solid #c1c1c1;
|
||||
padding: 0 5px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.active {
|
||||
border: 1px solid #E6A23C;
|
||||
color: #fff;
|
||||
background: #E6A23C;
|
||||
}
|
||||
}
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: calc(~'100% - 103px');
|
||||
overflow: auto;
|
||||
.tableTitle {
|
||||
margin-bottom: 10px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
position: relative;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
.tableButton {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -450,7 +450,8 @@ export default {
|
||||
case 'laws1':
|
||||
// 政策入库流程
|
||||
this.$router.push({
|
||||
name: 'zcrkStep1'
|
||||
// name: 'zcrkStep1'
|
||||
name: 'zcrk1'
|
||||
})
|
||||
break
|
||||
case '1':
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
<el-form-item
|
||||
:label="config.attrName"
|
||||
:prop="config.attrField"
|
||||
label-width="150px"
|
||||
label-width="180px"
|
||||
class="add-form-item"
|
||||
:class="{'form-item-disabled': disabled}"
|
||||
>
|
||||
|
||||
@@ -1142,6 +1142,15 @@ const routes = [
|
||||
title: '标准入库流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/zcrk1',
|
||||
name: 'zcrk1',
|
||||
component: () => import('@/pages/processCenter/pages/creatProcess/hzwl-zcrk/step1.vue'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '政策入库流程'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/zcrkStep1',
|
||||
name: 'zcrkStep1',
|
||||
|
||||
Reference in New Issue
Block a user