feat: 标准库

This commit is contained in:
super_liu
2021-07-15 09:09:50 +08:00
parent 4b4c7b7da8
commit 3f3dd1ea35
7 changed files with 958 additions and 147 deletions
+3 -9
View File
@@ -92,17 +92,11 @@
}
},
width: {
type: Number,
type: String,
default () {
return 593;
return "";
}
},
height: {
type: Number,
default () {
return 300;
}
}
},
data () {
return {
@@ -110,7 +104,7 @@
isShowSelect: false, // 是否显示树状选择器
options: [],
selectedData: [], // 选中的节点
style: 'width:' + this.width + 'px;' + 'height:' + this.height + 'px;',
style: 'width:' + this.width + 'px;' + 'height:100%;',
selectStyle: 'width:100%;',
checkedIds: [],
checkedData: []
@@ -2621,9 +2621,9 @@ export default {
const dynamicFormField = standEO ? standEO.attrInfoMap : {}
formFieldList.forEach((field) => {
// 相关流程权限
if (field.attrField === 'XGLC' && !this.$_has('6A52PZCAX8BAUUJ2TSQ4')) {
return
}
// if (field.attrField === 'XGLC' && !this.$_has('6A52PZCAX8BAUUJ2TSQ4')) {
// return
// }
console.log("displayLocation");
console.log(displayLocation);
displayLocation.forEach((location) => {
@@ -2693,6 +2693,7 @@ export default {
}
})
this.dynamicFormField = displayLocation
console.log(this.dynamicFormField)
})
sessionStorage.setItem('displayLocation', JSON.stringify(displayLocation))
this.loading = false
@@ -7,16 +7,17 @@
</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 class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">人员信息</div>
</div>
<div class="content" v-if="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="qbkwForm"
:model="form"
class="label-input-form"
label-width="210px"
>
<div class="content">
<el-form
ref="form"
:model="form"
:rules="rules"
class="label-input-form"
label-width="210px"
>
<div style="flex: auto; overflow: auto;" v-show="active === '1'">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
@@ -41,12 +42,11 @@
</el-select>
</el-form-item>
<el-form-item label="标准年份" prop="standYear" class="add-form-item form-item-disabled">
<el-date-picker
v-model="form.standYear"
type="year"
placeholder="请选择标准年份"
value-format="yyyy">
</el-date-picker>
<el-input
v-model.number="form.standYear"
placeholder="请输入标准标准年份"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准中文名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
@@ -115,6 +115,7 @@
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="标准体系" prop="standSystem" class="add-form-item form-item-disabled">
<tree-select
width = "340"
:data="standSystemOptions"
:defaultProps="defaultProps" :checkedKeys="defaultCheckedKeys"
:nodeKey="nodeKey" @popoverHide="popoverHide"></tree-select>
@@ -621,6 +622,13 @@
placeholder="请输入代替标准号"
clearable
></el-input>
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="position:absolute;top: 10px;right: 0;"
@click="selectLaws('dtbjh'),config.attrName = '代替标准号'"
>{{'手动查找'}}</el-button>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="采标程度" prop="cbcd" class="add-form-item form-item-disabled">
<el-select v-model="form.cbcd" placeholder="请选择采标程度">
@@ -628,13 +636,13 @@
<el-option label="采标程度2" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="相关流程" prop="xglc" class="add-form-item form-item-disabled">
<el-input
v-model="form.xglc"
placeholder="请输入相关流程"
clearable
></el-input>
</el-form-item>
<!-- <el-form-item label="相关流程" prop="xglc" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- v-model="form.xglc"-->
<!-- placeholder="请输入相关流程"-->
<!-- clearable-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<el-form-item label="关联文件" prop="glwj" class="add-form-item form-item-disabled">
<el-input
disabled
@@ -663,6 +671,13 @@
placeholder="请输入引用标准"
clearable
></el-input>
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="position:absolute;top: 10px;right: 0;"
@click="selectLaws('yybj'),config.attrName = '引用标准'"
>{{'手动查找'}}</el-button>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="采标编号" prop="cbbh" class="add-form-item form-item-disabled">
<el-input
@@ -677,21 +692,78 @@
placeholder="请输入被引用标准"
clearable
></el-input>
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="position:absolute;top: 10px;right: 0;"
@click="selectLaws('byybj'),config.attrName = '被引用标准'"
>{{'手动查找'}}</el-button>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="参会记录" prop="chjl" class="add-form-item form-item-disabled">
<el-input
v-model="form.chjl"
placeholder="请输入参会记录"
clearable
></el-input>
</el-form-item>
<!-- <el-form-item v-if="form.standInData === '0'" label="参会记录" prop="chjl" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- v-model="form.chjl"-->
<!-- placeholder="请输入参会记录"-->
<!-- clearable-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
</el-col>
</el-row>
</div>
</el-form>
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div class="block" style="padding-top: 20px;" v-show="active === '2'">
<el-timeline>
<el-form
ref="userForm"
:model="roleForm"
:rules="roleRules"
class="label-input-form">
<el-timeline-item timestamp="发起流程" placement="top" :color="roleForm.prcCreateUserName ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="prcCreateUserName" style="margin-bottom: 0">
<h4>流程发起人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input disabled v-model="roleForm.prcCreateUserName" placeholder="流程发起人"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择会签责任人" prop="zrUserName" placement="top" :color="roleForm.zrUserName ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="zrUserName" style="margin-bottom: 0">
<h4>会签责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.zrUserName" placeholder="选择会签责任人" @click.native="choiceZRR('zrUserId', '选择责任人', form.zrUserId)">
</el-input></div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="修订申请人" placement="top" :color="roleForm.applyUpdUserName ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="applyUpdUserName" style="margin-bottom: 0">
<h4>修订申请人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input disabled v-model="roleForm.applyUpdUserName" placeholder="修订申请人"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择标准法规业务经理" prop="jlUserName" placement="top" :color="roleForm.jlUserName ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="jlUserName" style="margin-bottom: 0">
<h4>标准法规业务经理</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.jlUserName" placeholder="标准法规业务经理" @click.native="choiceZRR('jlUserId', '选择标准法规业务经理', form.jlUserId)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
</el-form>
</el-timeline>
</div>
</el-form>
<el-collapse v-model="activeName" accordion>
<el-collapse-item title="意见填写" name="1">
<div style="margin: 10px 0;">
<el-input
type="textarea"
@@ -704,52 +776,6 @@
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-if="active === '2'">
<div class="block" style="padding-top: 20px;">
<el-timeline>
<el-timeline-item timestamp="发起流程" placement="top" :color="user1 ? '#66b1ff' : ''">
<el-card>
<h4>流程发起人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="user1" placeholder="流程发起人"></el-input>
</div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择责任人" placement="top" :color="user2 ? '#66b1ff' : ''">
<el-card>
<h4>责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="user2" placeholder="选择责任人">
</el-input></div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="填写意见" placement="top" :color="user3 ? '#66b1ff' : ''">
<el-card>
<h4>责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="user3" placeholder="责任人"></el-input>
</div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="意见汇总并发起会签" placement="top" :color="user4 ? '#66b1ff' : ''">
<el-card>
<h4>标准法规工程师</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="user4" placeholder="标准法规工程师"></el-input>
</div>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="审核" placement="top" :color="user5 ? '#66b1ff' : ''">
<el-card>
<h4>责任对接人标准法规部部门负责人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="user5" placeholder="责任对接人,标准法规部部门负责人"></el-input>
</div>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
</div>
<ProcessFooter
show-save
show-submit
@@ -777,6 +803,130 @@
</div>
</el-upload>
</el-dialog>
<el-dialog
:title="config.attrName"
: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="getReplaceLawsNumRowFirst">
<el-form-item label="标准来源" class="search-item" v-if="dataSource">
<el-select
v-model="replaceLawsNumForm.standType"
placeholder="请选择标准来源"
@change="dataSourceChange">
<el-option value="INLAND" label="国内标准库"></el-option>
<el-option value="FOREIGN" label="国外标准库"></el-option>
</el-select>
</el-form-item>
<el-form-item label="编号/名称" class="search-item">
<el-input
v-model="replaceLawsNumForm.standNumber"
placeholder="根据编号/名称查找"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
icon="el-icon-search"
type="primary"
class="common-button-primary"
round
@click="getReplaceLawsNumRowFirst">
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
icon="el-icon-refresh-left"
round
type="default"
@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
label="标准编号">
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSort }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSort }} {{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
label="标准名称">
</el-table-column>
<el-table-column
prop="issueTime"
label="发布日期"
width="130">
<template slot-scope="scope">{{ scope.row.issueTime ? $moment(scope.row.issueTime).format('YYYY-MM-DD') : '' }}</template>
</el-table-column>
<el-table-column
prop="standStateShow"
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" 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>
<el-drawer
:title="drawerTitle"
:visible.sync="modalShowFlag"
:wrapperClosable="false"
size="800px">
<el-tree
v-if="modalShowFlag"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree"
:data="treeData"
:props="defaultUserProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
@check="drawerCheck"
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree">
</el-tree>
<div id="roleFormButton" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancelUserInfo">取消</el-button>
</div>
</el-drawer>
</div>
</template>
@@ -791,8 +941,36 @@
name: "bzrkStep1",
data () {
return {
activeName:'1',
roleRow: {},
commentText: '', // 意见
title: '', // 新增编辑抽屉标题
config: {
attrName : '',
},
dataSource: false,
replaceLawsNumModel: false,
replaceLawType: '',
sarBussionessLawsEO: {
replaceLawsNum: ''
},
// 代替标准号
replaceLawsNumForm: {
dataSource: '',
standNumber: '', // 标准编号
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
standType: 'INLAND',
quoteIdList: '',
validFlag: '0',
menuId: 'nomenu'
},
replaceLawsNumRow: [], // 代替政策号 数组内容
replaceTotal: 0,
selectedListRep: [],
replaceLoading: true,
replacePage: 1,
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示
isSubmit: false,
@@ -801,6 +979,15 @@
children: 'children',
label: 'menuName'
},
nodeList: [],
type: '',
defaultUserProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalShowFlag: false, // drawer开关
drawerTitle: '', //drawer标题
nodeKey: 'id',
defaultCheckedKeys: [],
fileUrl: 'api/att/attFile/upload',
@@ -877,6 +1064,58 @@
xglc: '', // 相关流程
chjl: '', // 参会记录
}, // 标准信息
roleForm:{
zrUserId: '',
zrUserName: '',
jlUserId: '',
jlUserName: '',
applyUpdUserId: this.$store.getters.userInfo.userId,
applyUpdUserName: this.$store.getters.userInfo.userName,
prcCreateUser: this.$store.getters.userInfo.userId,
prcCreateUserName: this.$store.getters.userInfo.userName,
},
roleRules:{
zrUserName: [
{ required: true, message: '请选择会签责任人', trigger: 'blur' },
],
jlUserName: [
{ required: true, message: '选择标准法规业务经理', trigger: 'blur' },
],
},
rules:{
standSort: [
{ required: true, message: '请选择标准类别', trigger: 'change' }
],
standNumber: [
{ required: true, message: '请输入标准编号', trigger: 'blur' },
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' }
],
standYear: [
{ required: true, message: '请输入标准年份'},
{ type: 'number', message: '年标准年份必须为数字值'}
],
standName: [
{ required: true, message: '请输入标准名称', trigger: 'blur' },
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' }
],
standNature: [
{ required: false, message: '请选择标准性质', trigger: 'change' }
],
textStatus: [
{ required: true, message: '请选择文本状态', trigger: 'change' }
],
issueTime: [
{ required: true, message: '请选择标准发布日期', trigger: 'change' }
],
qcdw: [
{ required: true, message: '请选择起草单位', trigger: 'change' }
],
cysd: [
{ required: true, message: '请选择我司参与深度', trigger: 'change' }
],
},
zrUserIds: [], // 选择多个会签责任人
userType:'', // 选择用户ID判断
standSortOptions: [], // 标准类别
standNatureOptions: [], // 标准性质
standStateOptions: [], // 文本状态
@@ -891,11 +1130,6 @@
txlbOptions: [], // 体系类别
data: [], // 标准列表数据
ListForm: {}, // 新增数据
user1: '',
user2: '',
user3: '',
user4: '',
user5: '',
}
},
components: {
@@ -905,6 +1139,225 @@
TreeSelect
},
methods: {
saveUserInfo () {
if (this.userType === 'zrUserId') {
this.roleForm.zrUserId = this.zrUserIds.map(item => item.id).join(",")
this.roleForm.zrUserName = this.zrUserIds.map(item => item.name).join(",")
} else if (this.userType === 'jlUserId') {
this.roleForm.jlUserId = this.roleRow.id
this.roleForm.jlUserName = this.roleRow.name
}
this.modalShowFlag = false
},
cancelUserInfo () {
this.modalShowFlag = false
},
drawerCheck (data) {
if(this.userType === 'zrUserId'){
if(this.zrUserIds.length > 0){
const list = this.zrUserIds.filter ( item => item.id === data.id);
if(list.length === 0){
this.zrUserIds.push(data)
}else {
this.zrUserIds.forEach((item,index) => {
if(item.id === data.id){
this.zrUserIds.splice(index,1)
}
})
}
}else {
this.zrUserIds.push(data)
}
console.log(this.zrUserIds)
}else {
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
if(getlist.length == 1) {
this.roleRow = getlist[0]
}else {
this.$refs.tree.setCheckedKeys([data.id]);
this.roleRow = this.$refs.tree.getCheckedNodes()[0]
}
}
},
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.userType = type
this.drawerTitle = title
this.modalShowFlag = true
},
getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data
})
},
// 代替政策号 请求数据
getReplaceLawsNumRowFirst () {
if (this.sarBussionessLawsEO.replaceLawsNum !== null && this.sarBussionessLawsEO.replaceLawsNum !== '') {
this.replaceLawsNumForm.quoteIdList = this.quoteIdList1.toString() === '' ? '' : this.quoteIdList1
} else {
this.quoteIdList1 = []
this.replaceLawsNumForm.quoteIdList = ''
}
this.replaceLawsNumForm.page = 1
this.replacePage = 1
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', this.replaceLawsNumForm, {
_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 => {
})
},
dataSourceChange (val) {
},
handleChange (event) {
// const value = event.target.value
const value = event
this.$emit('input', value)
if (value.length==1000){
return this.$message({
message: '相关标准不能输入超过1000个字符',
type: 'warning'
});
}
},
// 代替政策编号-取消
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 (item.standYear != null && item.standYear !== '') {
texts = item.standSort !== null ? item.standSort + ' ' + item.standNumber + '-' + item.standYear : item.standNumber + '-' + item.standYear
} else {
texts = item.standSort !== null ? item.standSort + ' ' + item.standNumber : item.standNumber
}
textArr.push(texts)
textArr = [...new Set(textArr)]
this.replaceLawsNumModel = false
})
// this.SarLawsInfoEO.replaceLawsNum = textArr.join(',')
if(this.replaceLawType === 'dtbjh'){
this.form.dtbjh = textArr.join(',')
}else if(this.replaceLawType === 'yybj'){
this.form.yybj = textArr.join(',')
}else {
this.form.byybj = textArr.join(',')
}
// this.$emit('input', textArr.join(','))
this.$refs.selections.clearSelection()
},
// 点击查看
handlePreview (item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
id: item.id,
pageType: 'INLAND_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
getResetLawsNumRow () {
this.replaceLawsNumForm = {
standNumber: '', // 标准编号
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
standType: 'INLAND',
quoteIdList: '',
validFlag: '0'
}
this.getReplaceLawsNumRow()
},
selectLaws (type) {
// if (this.standNumFlag === 1) {
// this.$refs.selections.selectAll(false)
// }
// this.sarBussionessLawsEO.replaceLawsNum = ''
this.replaceLawsNumModel = true
this.replaceLawType = ''
this.replaceLawType = type
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 = ''
}
this.replaceLawsNumForm.standType = this.form.standInData === '1' ? 'FOREIGN' : 'INLAND'
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', this.replaceLawsNumForm, {
_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 => {
})
},
beginImportFile (file) {
var filename = file.name
var index1 = filename.lastIndexOf('.')
@@ -1026,33 +1479,46 @@
})
},
handleSubmit() {
var json = this.form
json.zrUserId = this.$store.getters.userInfo.userId
json.jlUserId = this.$store.getters.userInfo.userId
json.commentText = this.commentText
json.applyUpdUserId = this.$store.getters.userInfo.userId
json.prcCreateUser = this.$store.getters.userInfo.userId
json.prcCreateUserName = this.$store.getters.userInfo.account
this.$http.get('lawss/activiti/startProcess', {type: '1'}, {
_this: this
}, 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.$refs['form'].validate((valid) => {
if (valid) {
this.$refs['userForm'].validate((valid) => {
if (valid) {
var json = Object.assign(this.form, this.roleForm)
json.zrUserId = this.form.zrUserId
json.jlUserId = this.form.jlUserId
json.commentText = this.commentText
json.applyUpdUserId = this.form.applyUpdUserId
json.prcCreateUser = this.form.prcCreateUser
json.prcCreateUserName = this.form.prcCreateUserName
this.$http.get('lawss/activiti/startProcess', {type: '1'}, {
_this: this
}, 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)
}
})
}
})
}else {
this.$message.warning('请检查人员信息表单是否填写完整')
}
})
} else {
this.$message.warning('请检查基础信息表单是否填写完整')
}
})
}
},
mounted () {
this.getTree()
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
}, res => {
@@ -350,10 +350,10 @@
clearable
></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="起草单位" prop="fbjg" class="add-form-item form-item-disabled">
<el-form-item v-if="form.standInData === '0'" label="起草单位" prop="qcdw" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.fbjg"
v-model="form.qcdw"
placeholder="请选择起草单位"
clearable
></el-input>
@@ -521,8 +521,8 @@
</el-form>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<el-collapse accordion v-model="activeName">
<el-collapse-item title="意见填写" name = "1">
<div style="margin: 10px 0;">
<el-select v-model="approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">
<el-option label="驳回" value="1"></el-option>
@@ -678,6 +678,7 @@
name: "bzrkStep2",
data () {
return {
activeName:'1',
// 当前流程类型(1待办/2已办)
processType: 1,
detailData: [],
@@ -743,7 +744,7 @@
// 适用范围
txlb: '', // 体系类别
gkdw: '', // 归口管理部门
fbjg: '', // 起草单位
qcdw: '', // 起草单位
wssmr: '', // 我司署名人
cysd: '', // 我司参与深度
cllx: '', // 适用车型
@@ -343,10 +343,10 @@
clearable
></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="起草单位" prop="fbjg" class="add-form-item form-item-disabled">
<el-form-item v-if="form.standInData === '0'" label="起草单位" prop="qcdw" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.fbjg"
v-model="form.qcdw"
placeholder="请选择起草单位"
clearable
></el-input>
@@ -514,8 +514,8 @@
</el-form>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<el-collapse accordion v-model="activeName">
<el-collapse-item title="意见填写" name="1">
<div style="margin: 10px 0;">
<!-- <el-select v-model="approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">-->
<!-- <el-option label="驳回" value="1"></el-option>-->
@@ -671,6 +671,7 @@ export default {
name: "bzrkStep3",
data () {
return {
activeName:'1',
// 当前流程类型(1待办/2已办)
processType: 1,
detailData: [],
@@ -735,7 +736,7 @@ export default {
// 适用范围
txlb: '', // 体系类别
gkdw: '', // 归口管理部门
fbjg: '', // 起草单位
qcdw: '', // 起草单位
wssmr: '', // 我司署名人
cysd: '', // 我司参与深度
cllx: '', // 适用车型
@@ -13,8 +13,9 @@
<div class="content" v-if="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="qbkwForm"
ref="form"
:model="form"
:rules="rules"
class="label-input-form"
label-width="210px"
>
@@ -115,6 +116,7 @@
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="标准体系" prop="standSystem" class="add-form-item form-item-disabled">
<tree-select v-if="treeStatus"
width = "340"
:data="standSystemOptions"
:defaultProps="defaultProps" :checkedKeys="defaultCheckedKeys"
:nodeKey="nodeKey" @popoverHide="popoverHide"></tree-select>
@@ -509,9 +511,9 @@
clearable
></el-input>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="起草单位" prop="fbjg" class="add-form-item form-item-disabled">
<el-form-item v-if="form.standInData === '0'" label="起草单位" prop="qcdw" class="add-form-item form-item-disabled">
<el-input
v-model="form.fbjg"
v-model="form.qcdw"
placeholder="请选择起草单位"
clearable
></el-input>
@@ -612,6 +614,13 @@
placeholder="请输入代替标准号"
clearable
></el-input>
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="position:absolute;top: 10px;right: 0;"
@click="selectLaws('dtbjh'),config.attrName = '代替标准号'"
>{{'手动查找'}}</el-button>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="采标程度" prop="cbcd" class="add-form-item form-item-disabled">
<el-select v-model="form.cbcd" placeholder="请选择采标程度">
@@ -654,6 +663,13 @@
placeholder="请输入引用标准"
clearable
></el-input>
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="position:absolute;top: 10px;right: 0;"
@click="selectLaws('dtbjh'),config.attrName = '代替标准号'"
>{{'手动查找'}}</el-button>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="采标编号" prop="cbbh" class="add-form-item form-item-disabled">
<el-input
@@ -668,6 +684,13 @@
placeholder="请输入被引用标准"
clearable
></el-input>
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="position:absolute;top: 10px;right: 0;"
@click="selectLaws('dtbjh'),config.attrName = '代替标准号'"
>{{'手动查找'}}</el-button>
</el-form-item>
<el-form-item v-if="form.standInData === '0'" label="参会记录" prop="chjl" class="add-form-item form-item-disabled">
<el-input
@@ -682,8 +705,8 @@
</el-form>
</div>
<div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<el-collapse accordion v-model="activeName">
<el-collapse-item title="意见填写" name="1">
<div style="margin: 10px 0;">
<!-- <el-select v-model="approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">-->
<!-- <el-option label="驳回" value="1"></el-option>-->
@@ -843,6 +866,104 @@
</div>
</el-upload>
</el-dialog>
<el-dialog
:title="config.attrName"
: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="getReplaceLawsNumRowFirst">
<el-form-item label="标准来源" class="search-item" v-if="dataSource">
<el-select
v-model="replaceLawsNumForm.standType"
placeholder="请选择标准来源"
@change="dataSourceChange">
<el-option value="INLAND" label="国内标准库"></el-option>
<el-option value="FOREIGN" label="国外标准库"></el-option>
</el-select>
</el-form-item>
<el-form-item label="编号/名称" class="search-item">
<el-input
v-model="replaceLawsNumForm.standNumber"
placeholder="根据编号/名称查找"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
icon="el-icon-search"
type="primary"
class="common-button-primary"
round
@click="getReplaceLawsNumRowFirst">
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
icon="el-icon-refresh-left"
round
type="default"
@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
label="标准编号">
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSort }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSort }} {{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
label="标准名称">
</el-table-column>
<el-table-column
prop="issueTime"
label="发布日期"
width="130">
<template slot-scope="scope">{{ scope.row.issueTime ? $moment(scope.row.issueTime).format('YYYY-MM-DD') : '' }}</template>
</el-table-column>
<el-table-column
prop="standStateShow"
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" 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>
@@ -857,6 +978,7 @@ export default {
name: "bzrkStep4",
data () {
return {
activeName:'1',
// 当前流程类型(1待办/2已办)
processType: 1,
detailData: [],
@@ -880,6 +1002,64 @@ export default {
fileUrl: 'api/att/attFile/upload',
fileMadel: false,
fileType: '',
config: {
attrName : '',
},
dataSource: false,
replaceLawsNumModel: false,
replaceLawType: '',
sarBussionessLawsEO: {
replaceLawsNum: ''
},
// 代替标准号
replaceLawsNumForm: {
dataSource: '',
standNumber: '', // 标准编号
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
standType: 'INLAND',
quoteIdList: '',
validFlag: '0',
menuId: 'nomenu'
},
replaceLawsNumRow: [], // 代替政策号 数组内容
replaceTotal: 0,
selectedListRep: [],
replaceLoading: true,
replacePage: 1,
rules:{
standSort: [
{ required: true, message: '请选择标准类别', trigger: 'change' }
],
standNumber: [
{ required: true, message: '请输入标准编号', trigger: 'blur' },
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' }
],
standYear: [
{ required: true, message: '请输入标准年份'},
{ type: 'number', message: '年标准年份必须为数字值'}
],
standName: [
{ required: true, message: '请输入标准名称', trigger: 'blur' },
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' }
],
standNature: [
{ required: false, message: '请选择标准性质', trigger: 'change' }
],
textStatus: [
{ required: true, message: '请选择文本状态', trigger: 'change' }
],
issueTime: [
{ required: true, message: '请选择标准发布日期', trigger: 'change' }
],
qcdw: [
{ required: true, message: '请选择起草单位', trigger: 'change' }
],
cysd: [
{ required: true, message: '请选择我司参与深度', trigger: 'change' }
],
},
form: {
// 基础信息
textStatus: '', // 文本状态
@@ -926,7 +1106,7 @@ export default {
// 适用范围
txlb: '', // 体系类别
gkdw: '', // 归口管理部门
fbjg: '', // 起草单位
qcdw: '', // 起草单位
wssmr: '', // 我司署名人
cysd: '', // 我司参与深度
cllx: '', // 适用车型
@@ -992,6 +1172,170 @@ export default {
},
},
methods: {
// 代替政策号 请求数据
getReplaceLawsNumRowFirst () {
if (this.sarBussionessLawsEO.replaceLawsNum !== null && this.sarBussionessLawsEO.replaceLawsNum !== '') {
this.replaceLawsNumForm.quoteIdList = this.quoteIdList1.toString() === '' ? '' : this.quoteIdList1
} else {
this.quoteIdList1 = []
this.replaceLawsNumForm.quoteIdList = ''
}
this.replaceLawsNumForm.page = 1
this.replacePage = 1
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', this.replaceLawsNumForm, {
_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 => {
})
},
dataSourceChange (val) {
},
handleChange (event) {
// const value = event.target.value
const value = event
this.$emit('input', value)
if (value.length==1000){
return this.$message({
message: '相关标准不能输入超过1000个字符',
type: 'warning'
});
}
},
// 代替政策编号-取消
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 (item.standYear != null && item.standYear !== '') {
texts = item.standSort !== null ? item.standSort + ' ' + item.standNumber + '-' + item.standYear : item.standNumber + '-' + item.standYear
} else {
texts = item.standSort !== null ? item.standSort + ' ' + item.standNumber : item.standNumber
}
textArr.push(texts)
textArr = [...new Set(textArr)]
this.replaceLawsNumModel = false
})
// this.SarLawsInfoEO.replaceLawsNum = textArr.join(',')
if(this.replaceLawType === 'dtbjh'){
this.form.dtbjh = textArr.join(',')
}else if(this.replaceLawType === 'yybj'){
this.form.yybj = textArr.join(',')
}else {
this.form.byybj = textArr.join(',')
}
// this.$emit('input', textArr.join(','))
this.$refs.selections.clearSelection()
},
// 点击查看
handlePreview (item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
id: item.id,
pageType: 'INLAND_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
getResetLawsNumRow () {
this.replaceLawsNumForm = {
standNumber: '', // 标准编号
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
standType: 'INLAND',
quoteIdList: '',
validFlag: '0'
}
this.getReplaceLawsNumRow()
},
selectLaws (type) {
// if (this.standNumFlag === 1) {
// this.$refs.selections.selectAll(false)
// }
// this.sarBussionessLawsEO.replaceLawsNum = ''
this.replaceLawsNumModel = true
this.replaceLawType = ''
this.replaceLawType = type
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 = ''
}
this.replaceLawsNumForm.standType = this.form.standInData === '1' ? 'FOREIGN' : 'INLAND'
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage', this.replaceLawsNumForm, {
_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 => {
})
},
beginImportFile (file) {
var filename = file.name
var index1 = filename.lastIndexOf('.')
@@ -1128,22 +1472,25 @@ export default {
},
handleSave() {},
handleSubmit() {
this.form.commentText = this.commentText
this.form.approvalOpinion = this.approvalOpinion
const json = JSON.stringify(this.form);
console.log(json)
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId : this.userId,
json: json
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
}else {
this.$message.success(res.message)
}
this.$refs['form'].validate((valid) => {
if (valid) {
this.form.commentText = this.commentText
this.form.approvalOpinion = this.approvalOpinion
const json = JSON.stringify(this.form);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId : this.userId,
json: json
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
}else {
this.$message.success(res.message)
}
})
}
})
},
@@ -395,6 +395,7 @@
>
<template slot="label">标准体系</template>
<tree-select
width = "593"
:data="standSystemOptions"
:defaultProps="defaultProps" :checkedKeys="defaultCheckedKeys"
:nodeKey="nodeKey" @popoverHide="popoverHide"></tree-select>