Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
super_liu
2021-08-05 18:08:24 +08:00
23 changed files with 469 additions and 191 deletions
+4
View File
@@ -909,4 +909,8 @@ tr.el-table__row{
.button-list {
padding: 5px 0px;
}
.myNewSelect {
backgrounnd: red;
}
+2
View File
@@ -24,6 +24,7 @@ import DeptRoleTree from './deptRoleTree' // 根据部门查询角色
import RoleTree from './roleTree' // 查询所有机构及人员
import SQTree from './SQTree'
import OrgTable from './OrgTable'
import MySelect from './mySelect'
const install = function (Vue) {
Vue.component('loading', Loading)
@@ -48,6 +49,7 @@ const install = function (Vue) {
Vue.component('SQTree', SQTree)
Vue.component('OrgTable', OrgTable)
Vue.component('RoleTree', RoleTree)
Vue.component('MySelect', MySelect)
}
export default {
+140
View File
@@ -0,0 +1,140 @@
<template>
<div id="mySelect">
<el-dropdown placement="bottom" @command="handleCommand" trigger="click">
<div class="my-select-input__wrap">
<input class="el-input__inner" type="text" v-model.lazy="selectVal" v-show="false">
<input class="el-input__inner" type="text" v-model.lazy="showLabel" readonly="readonly">
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
v-for="(item,index) in options"
:key="index"
:command="item">{{ item.label }}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
<script>
export default {
name: "mySelect",
data() {
return {
showLabel: '',
activeLi: '',
active: false,
selectVal: ''
}
},
props: {
value: {
type: String,
required: true
},
options: { // option
type: Array,
default: () => {
return []
}
}
},
methods: {
handleCommand (row) {
this.selectVal = row.label
this.showLabel = row.label
this.active = !this.active
this.$emit('update:value', this.selectVal);
}
},
watch: {
value: {
immediate: true,
handler (val) {
this.selectVal = val
for (let a = 0; a < this.options.length; a++) {
if (this.selectVal === this.options[a].value) {
this.showLabel = this.options[a].label
}
}
}
}
},
mounted() {
for (let a = 0; a < this.options.length; a++) {
if (this.selectVal === this.options[a].value) {
this.showLabel = this.options[a].label
}
}
}
}
</script>
<style scoped lang="less">
#mySelect {
}
.active {
background-color: rgb(245, 247, 250);
}
/*ul {*/
/* position: absolute;*/
/* z-index: 9999;*/
/* background-color: rgb(255, 255, 255);*/
/* box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 12px 0px;*/
/* box-sizing: border-box;*/
/* border-width: 1px;*/
/* border-style: solid;*/
/* border-color: rgb(228, 231, 237);*/
/* border-image: initial;*/
/* border-radius: 4px;*/
/* box-sizing: border-box;*/
/* list-style: none;*/
/* padding: 6px 0px;*/
/* margin: 0px;*/
/* display: block;*/
/* list-style-type: disc;*/
/* margin-block-start: 1em;*/
/* margin-block-end: 1em;*/
/* margin-inline-start: 0px;*/
/* margin-inline-end: 0px;*/
/* width: 100%;*/
/* li {*/
/* list-style:none;*/
/* height: 34px;*/
/* line-height: 34px;*/
/* padding: 0 20px;*/
/* }*/
/* li:hover {*/
/* background-color: rgb(245, 247, 250);*/
/* }*/
/*}*/
/*.mySelect {*/
/* width: 100%;*/
/* position: relative;*/
/* option {*/
/* height: 34px;*/
/* line-height: 34px;*/
/* padding: 0 20px;*/
/* }*/
/*}*/
/*.mySelect:focus + .myIcon{*/
/* transform:rotate(180deg);*/
/* -ms-transform:rotate(180deg); !* IE 9 *!*/
/* -moz-transform:rotate(180deg); !* Firefox *!*/
/* -webkit-transform:rotate(180deg); !* Safari 和 Chrome *!*/
/* -o-transform:rotate(180deg);*/
/*}*/
/*.mySelect:focus-within + .myIcon{*/
/* transform:rotate(180deg);*/
/* -ms-transform:rotate(180deg); !* IE 9 *!*/
/* -moz-transform:rotate(180deg); !* Firefox *!*/
/* -webkit-transform:rotate(180deg); !* Safari 和 Chrome *!*/
/* -o-transform:rotate(180deg);*/
/*}*/
/*.myIcon {*/
/* position: absolute;*/
/* right: 7px;*/
/* top: calc(~'50% - 7px');*/
/* transition: all .3s;*/
/*}*/
</style>
@@ -53,7 +53,7 @@
size="small"
class="common-button-danger"
@click="beforeBack"
:loading="isSubmit"
:loading="isSubmitBack"
v-if="showBack">
<i class="iconfont" style="font-size: 12px;">&#xe615;</i>
{{ backBTNText }}</el-button>
@@ -151,6 +151,11 @@ export default {
type: Boolean,
default: false
},
// 保存按钮loading
isSubmitBack: {
type: Boolean,
default: false
},
// 是否默认委托事件
defaultEntrust: {
type: Boolean,
@@ -114,7 +114,9 @@
label="核心技术要求"
align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.technicalRequir" placeholder="请输入核心技术要求" />
<div class="el-input">
<input class="el-input__inner" type="text" v-model.lazy="scope.row.technicalRequir" placeholder="请输入核心技术要求">
</div>
</template>
</el-table-column>
<el-table-column
@@ -123,7 +125,9 @@
label="基于上一版本差异"
align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.changePoint" placeholder="请输入基于上一版本差异" />
<div class="el-input">
<input class="el-input__inner" type="text" v-model.lazy="scope.row.changePoint" placeholder="请输入基于上一版本差异">
</div>
</template>
</el-table-column>
<el-table-column
@@ -133,7 +137,9 @@
label="相对于国行标差异点"
align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.changePoint" placeholder="请输入相对于国行标差异点" />
<div class="el-input">
<input class="el-input__inner" type="text" v-model.lazy="scope.row.changePoint" placeholder="请输入相对于国行标差异点" >
</div>
</template>
</el-table-column>
<el-table-column
@@ -142,10 +148,7 @@
label="符合项状态"
align="center">
<template slot-scope="scope">
<el-select v-model="scope.row.complianceRequir">
<el-option value="1" label="符合" key="1"></el-option>
<el-option value="2" label="不符合" key="2"></el-option>
</el-select>
<My-select v-model="scope.row.complianceRequir" :options="fhList"></My-select>
</template>
</el-table-column>
<el-table-column
@@ -154,7 +157,9 @@
label="合规性分析"
align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.complianceState" placeholder="请输入合规性分析" />
<div class="el-input">
<input class="el-input__inner" type="text" v-model.lazy="scope.row.complianceState" placeholder="请输入合规性分析">
</div>
</template>
</el-table-column>
<el-table-column
@@ -164,7 +169,7 @@
align="center">
<template slot-scope="scope">
<el-date-picker
v-model="scope.row.newData"
v-model.lazy="scope.row.newData"
type="date"
placeholder="选择新车型实施日期">
</el-date-picker>
@@ -177,7 +182,7 @@
align="center">
<template slot-scope="scope">
<el-date-picker
v-model="scope.row.onlineData"
v-model.lazy="scope.row.onlineData"
type="date"
placeholder="选择新车型实施日期">
</el-date-picker>
@@ -189,9 +194,7 @@
label="适用车型"
align="center">
<template slot-scope="scope">
<el-select v-model="scope.row.applyArctic">
<el-option v-for="(item,index) in cxList" :value="item.label" :label="item.label" :key="index"></el-option>
</el-select>
<My-select v-model="scope.row.applyArctic" :options="cxList"></My-select>
</template>
</el-table-column>
<el-table-column
@@ -367,6 +370,16 @@
name: "bzjdStep3",
data() {
return {
fhList: [
{
value: '1',
label: '符合'
},
{
value: '2',
label: '不符合'
}
],
cxList: [],
histortData: [],
plForm: {
@@ -545,9 +558,9 @@
item.changePoint = item.changePoint || ''
item.technicalRequir = item.technicalRequir || ''
item.itemsTitle = item.itermsConditions
item.applyArctic = item.applyArctic || ''
})
this.itemList = itemList
console.log(this.itemList)
this.loading = false
}).catch(e => {
})
@@ -561,6 +574,9 @@
_this: this
}, res => {
this.cxList = res.data.ENERGYTYPES // 适用车型
this.cxList.forEach(item => {
item.value = item.label
})
})
}
}
@@ -31,7 +31,7 @@
<el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="standSerialNumber" label="标准号" show-overflow-tooltip align="center">
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSerialNumber }}</a>
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standId }}</a>
</template>
</el-table-column>
<el-table-column prop="standName" align="center" show-overflow-tooltip label="标准名称">
@@ -102,7 +102,7 @@
<h4>确认+选择责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.dutyUser" style="display: none;"></el-input>
<el-input v-model="roleForm.dutyUserName" :disabled="true" placeholder="确认+选择责任人" @click.native="choiceZRR('dockUser', '选择标准法规工程师', roleForm.dockUser)">
<el-input v-model="roleForm.dutyUserName" :disabled="true" placeholder="确认+选择责任人">
</el-input>
</div>
</el-form-item>
@@ -114,7 +114,7 @@
<h4>负责人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.uploadUser" style="display: none;"></el-input>
<el-input v-model="roleForm.uploadUserName" :disabled="true" placeholder="选择负责人" @click.native="choiceZRR('dockUser', '选择标准法规工程师', roleForm.dockUser)">
<el-input v-model="roleForm.uploadUserName" :disabled="true" placeholder="负责人">
</el-input>
</div>
</el-form-item>
@@ -126,7 +126,7 @@
<h4>分发负责人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.checkUser" style="display: none;"></el-input>
<el-input v-model="roleForm.checkUserName" :disabled="true" placeholder="分发负责人" @click.native="choiceZRR('dockUser', '选择标准法规工程师', roleForm.dockUser)">
<el-input v-model="roleForm.checkUserName" :disabled="true" placeholder="分发负责人">
</el-input>
</div>
</el-form-item>
@@ -148,7 +148,7 @@
<el-form :modal="queryUnqualidiedData" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input
v-model="queryUnqualidiedData.standSerialNumber"
v-model="queryUnqualidiedData.standId"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
@@ -210,9 +210,9 @@
@selection-change="selectedChange"
>
<el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="standSerialNumber" align="center" show-overflow-tooltip label="标准号">
<el-table-column prop="standId" align="center" show-overflow-tooltip label="标准号">
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSerialNumber }}</a>
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standId }}</a>
</template>
</el-table-column>
<el-table-column prop="standName" align="center" show-overflow-tooltip label="标准名称">
@@ -291,6 +291,7 @@ export default {
pageSize: 10,
total: 0,
closeState: '1',
standId: '',
standSerialNumber: '', // 标准号/名称
productName: '', // 项目名称
responsibleUnit: '' // 责任部门
@@ -97,9 +97,9 @@
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="standSerialNumber" show-overflow-tooltip label="标准号" align="center">
<el-table-column prop="standId" show-overflow-tooltip label="标准号" align="center">
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSerialNumber }}</a>
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standId }}</a>
</template>
</el-table-column>
<el-table-column prop="standName" align="center" show-overflow-tooltip label="标准名称">
@@ -99,9 +99,9 @@
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="standSerialNumber" show-overflow-tooltip label="标准号" align="center">
<el-table-column prop="standId" show-overflow-tooltip label="标准号" align="center">
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSerialNumber }}</a>
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standId }}</a>
</template>
</el-table-column>
<el-table-column prop="standName" align="center" show-overflow-tooltip label="标准名称">
@@ -87,9 +87,9 @@
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="standSerialNumber" align="center" show-overflow-tooltip label="标准号">
<el-table-column prop="standId" align="center" show-overflow-tooltip label="标准号">
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSerialNumber }}</a>
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standId }}</a>
</template>
</el-table-column>
<el-table-column prop="standName" align="center" show-overflow-tooltip label="标准名称">
@@ -118,6 +118,7 @@
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-remove="handleONRemove"
:on-success="handleOnsuccess"
>
<el-button
@@ -314,12 +315,7 @@ export default {
}
this.dataList.forEach(item => {
if (item.fileText.length !== 0) {
item.fileText.forEach(item1 => {
this.fileTextList.push({
id: item1.id,
name: item1.name
})
})
this.fileTextList = item.fileText
}
})
})
@@ -335,10 +331,18 @@ export default {
// 文件上传成功
handleOnsuccess(res, file, fileList) {
if (res.ok) {
this.newDataList.push({
id: res.data.attId,
name: res.data.standName
})
if (this.fileTextList !== null) {
this.newDataList = this.fileTextList
this.newDataList.push({
id: res.data.attId,
name: res.data.standName
})
} else {
this.newDataList.push({
id: res.data.attId,
name: res.data.standName
})
}
this.fileListData.fileText = this.newDataList
this.$message({
showClose: true,
@@ -377,14 +381,17 @@ export default {
},
// 移除上传的文件
handleBeforeRemove(file, fileList) {
this.fileListData.fileText = fileList
this.fileTextList = fileList
this.newDataList.forEach((item, index) => {
/* this.newDataList.forEach((item, index) => {
if (file.name === item.name || file.id === item.id) {
this.newDataList.splice(index, 1)
}
})
},
console.log(this.dataList)
}
})*/
},
handleONRemove() {},
/************ ********* *****************/
// 点击查看
handlePreview (item) {
@@ -87,9 +87,9 @@
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="standSerialNumber" align="center" show-overflow-tooltip label="标准号">
<el-table-column prop="standId" align="center" show-overflow-tooltip label="标准号">
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSerialNumber }}</a>
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standId }}</a>
</template>
</el-table-column>
<el-table-column prop="standName" align="center" show-overflow-tooltip label="标准名称">
@@ -201,7 +201,7 @@
approval
@back="handleSubmitNo"
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:isSubmitBack="backLoading"
@submit="handleSubmit"
submitBTNText="同意"
>
@@ -357,6 +357,7 @@ export default {
})
},
handleSubmitNo() {
this.backLoading = true
if (this.commentText) {
var json = {
responUserInfo: {
@@ -372,12 +373,13 @@ export default {
}, {}, res => {
if (res.success) {
this.$message.success('驳回成功')
this.fileTextList = []
this.$router.push('/processCenter')
this.backLoading = false
}
})
} else {
this.$message.warning('请输入反馈意见')
this.backLoading = false
}
},
//未整改项抽屉中的查询按钮
@@ -405,6 +405,7 @@ export default {
drawerTitle: "", //drawer标题
// 查询相关参数
searching: false,
commentText:'',
standardSearch: {
standType: "",
standName: ""
@@ -389,6 +389,7 @@ export default {
productData: [], //添加抽屉的数据
standList: [], //新添加的标准
modalshowflag: false, // drawer开关
commentText: '',
drawerTitle: "", //drawer标题
// 查询相关参数
searching: false,
@@ -456,4 +456,8 @@ export default {
}
}
.dem
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -126,21 +126,7 @@
</template>
</el-table-column>
</el-table>
<div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<!-- 选择责任人-->
<Role-tree
check-box
@@ -611,4 +611,8 @@ export default {
}
}
.demo-draw
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -591,4 +591,8 @@ export default {
}
}
.demo-
.demo-drawer-content {
margin-top: 10px;
}
}
</style>>
@@ -580,4 +580,8 @@ export default {
}
}
.demo-
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -510,7 +510,6 @@ export default {
<style lang="less" scoped>
@import '~@/assets/styles/style';
.xmpg-step7 {
/deep/ .el-drawer__container {
.prc-content-border {
@@ -165,7 +165,6 @@
<div class="process-box">
</div>
</div>
</div>
</template>
<script>
@@ -350,6 +349,7 @@ export default {
border-radius: 10px;
}
.card-box {
cursor: pointer;
.card-top {
width: 100%;
background: #2d8cf0;
@@ -185,6 +185,9 @@
prop="standName"
label="标准名称"
>
<template slot-scope="scope">
<span @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</span>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
@@ -273,12 +276,18 @@
label="标准名称"
width="260px"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="standEnName"
align="center"
width="180px"
label="英文名称">
<template slot-scope="scope">
<a @click="handlePreview(scope.row)">{{ scope.row.standEnName }}</a>
</template>
</el-table-column>
<el-table-column
prop="typeApplicable"
@@ -170,6 +170,9 @@
prop="standName"
label="标准名称"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
@@ -257,12 +260,18 @@
label="标准名称"
width="260px"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="standEnName"
align="center"
width="180px"
label="英文名称">
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standEnName }}</a>
</template>
</el-table-column>
<el-table-column
prop="typeApplicable"
@@ -170,6 +170,9 @@
prop="standName"
label="标准名称"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
@@ -257,12 +260,18 @@
label="标准名称"
width="260px"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="standEnName"
align="center"
width="180px"
label="英文名称">
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standEnName }}</a>
</template>
</el-table-column>
<el-table-column
prop="typeApplicable"
@@ -4,17 +4,18 @@
<div class="back" title="返回" @click="back">
<i class="el-icon-back"></i>
</div>
<div class="title">车型{{localProEO.projectName}} 详情</div>
<div class="title">车型{{ localProEO.projectName }} 详情</div>
</div>
<div class="contaiiner">
<el-card class="contaiinerCard" style="margin: 5px">
<div style="padding: 20px">
<el-row style="margin-top: 10px">
<el-col :span="5">产品平台: <span class="valueColor">{{ localProEO.projectPlatfor}}</span></el-col>
<el-col :span="5">产品平台: <span class="valueColor">{{ localProEO.projectPlatfor }}</span></el-col>
<el-col :span="5" :push="1">项目编号: <span class="valueColor">{{ localProEO.projectNumber }}</span></el-col>
<el-col :span="5" :push="2">项目名称: <span class="valueColor">{{ localProEO.projectName }}</span></el-col>
<!-- <el-col :span="5" :push="2">车型系列:<span class="valueColor">{{ localProEO.productSet }}</span></el-col>-->
<el-col :span="4" :push="3">项目分类:<span class="valueColor">{{ localProEO.projectClassification }}</span></el-col>
<el-col :span="4" :push="3">项目分类:<span class="valueColor">{{ localProEO.projectClassification }}</span>
</el-col>
</el-row>
<el-row style="margin-top: 10px">
<el-col :span="5">项目状态: <span class="valueColor">{{ localProEO.projectStatus }} </span></el-col>
@@ -24,20 +25,24 @@
</el-row>
<el-row style="margin-top: 10px">
<el-col :span="5">项目经理: <span class="valueColor">{{ localProEO.projectManager }} </span></el-col>
<el-col :span="5" :push="1"> 项目计划开始时间: <span class="valueColor">{{ $moment(localProEO.projectStartDate).format('YYYY-MM-DD')}}</span></el-col>
<el-col :span="5" :push="2">项目计划完成时间: <span class="valueColor">{{ $moment(localProEO.projectEndDate).format('YYYY-MM-DD') }} </span></el-col>
<el-col :span="5" :push="1"> 项目计划开始时间: <span
class="valueColor">{{ $moment(localProEO.projectStartDate).format('YYYY-MM-DD') }}</span></el-col>
<el-col :span="5" :push="2">项目计划完成时间: <span
class="valueColor">{{ $moment(localProEO.projectEndDate).format('YYYY-MM-DD') }} </span></el-col>
</el-row>
</div>
</el-card>
<div class="action-bar">
<el-button plain class="common-button-primary" v-btn-permission="''" size="mini" @click="addList">调取</el-button>
<el-button plain class="common-button-primary" v-btn-permission="''" size="mini" @click="deleteList">批量删除</el-button>
<el-button plain class="common-button-primary" v-btn-permission="''" size="mini" @click="deleteList">批量删除
</el-button>
<el-button class="common-button-default export-button"
size="mini" @click="exportStandard"
v-btn-permission="''"
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
icon="export"
>导出</el-button>
>导出
</el-button>
</div>
<!-- <el-tabs type="border-card">-->
<!-- <el-tab-pane :label="localProEO.productName" class="details-panel-tabs-item">-->
@@ -65,7 +70,10 @@
width="260px"
>
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.standSort+ ' ' + scope.row.standNumber + '-' + scope.row.standYear}}</span>
<span
style="margin-left: 10px">{{
scope.row.standSort + ' ' + scope.row.standNumber + '-' + scope.row.standYear
}}</span>
</template>
</el-table-column>
<el-table-column
@@ -86,7 +94,9 @@
sortable
label="标准实施日期">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.ssrq ? $moment(scope.row.ssrq).format('YYYY-MM-DD') : '-' }}</span>
<span style="margin-left: 10px">{{
scope.row.ssrq ? $moment(scope.row.ssrq).format('YYYY-MM-DD') : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
@@ -94,7 +104,9 @@
width="190px"
label="新车型实施日期">
<template slot-scope="scope">
<span style="margin-left: 10px">{{scope.row.xcxssrq ? $moment(scope.row.xcxssrq).format('YYYY-MM-DD') : '-' }}</span>
<span style="margin-left: 10px">{{
scope.row.xcxssrq ? $moment(scope.row.xcxssrq).format('YYYY-MM-DD') : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
@@ -103,7 +115,9 @@
width="190px"
label="在产车实施日期">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.zccssrq ? $moment(scope.row.zccssrq).format('YYYY-MM-DD') : '-' }}</span>
<span style="margin-left: 10px">{{
scope.row.zccssrq ? $moment(scope.row.zccssrq).format('YYYY-MM-DD') : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
@@ -113,7 +127,7 @@
>
<template slot-scope="scope">
<span style="margin-left: 10px">
{{zrbmMap[scope.row.zrbm]}}
{{ zrbmMap[scope.row.zrbm] }}
</span>
</template>
</el-table-column>
@@ -171,7 +185,8 @@
</el-formItem>
<el-formItem label="标准类别" prop="standSort" class="search-item">
<el-select v-model="standCommonlySearch.standSort" placeholder="根据标准类别查找" clearable>
<el-option v-for="opt in standSortOptions" :value="opt.value === undefined ? '' :opt.value" :key="opt.value" :label="opt.label">{{ opt.label }}
<el-option v-for="opt in standSortOptions" :value="opt.value === undefined ? '' :opt.value"
:key="opt.value" :label="opt.label">{{ opt.label }}
</el-option>
</el-select>
</el-formItem>
@@ -183,15 +198,17 @@
</el-formItem>
<el-formItem class="search-item btn-box">
<el-button
type="primary"
size="mini"
class="common-button-primary"
type="primary"
size="mini"
class="common-button-primary"
@click="search">查询</el-button>
@click="search">查询
</el-button>
<el-button
class="common-button-default"
size="mini"
@click="clearSearch">清空</el-button>
class="common-button-default"
size="mini"
@click="clearSearch">清空
</el-button>
</el-formItem>
</el-form>
</div>
@@ -218,7 +235,8 @@
label="标准号">
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump"
@click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{ scope.row.standNumber
@click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{
scope.row.standNumber
}}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSortShow }}
{{ scope.row.standNumber }}</a>
@@ -238,7 +256,9 @@
label="新车型实施日期">
<template slot-scope="scope">
<span style="margin-left: 10px">
{{scope.row.attrInfoCaseMap.xcxssrq ? $moment(scope.row.attrInfoCaseMap.xcxssrq).format('YYYY-MM-DD') : '-'}}
{{
scope.row.attrInfoCaseMap.xcxssrq ? $moment(scope.row.attrInfoCaseMap.xcxssrq).format('YYYY-MM-DD') : '-'
}}
</span>
</template>
</el-table-column>
@@ -248,7 +268,9 @@
label="在产车实施日期">
<template slot-scope="scope">
<span style="margin-left: 10px">
{{scope.row.attrInfoCaseMap.zccssrq ? $moment(scope.row.attrInfoCaseMap.zccssrq).format('YYYY-MM-DD') : '-'}}
{{
scope.row.attrInfoCaseMap.zccssrq ? $moment(scope.row.attrInfoCaseMap.zccssrq).format('YYYY-MM-DD') : '-'
}}
</span>
</template>
</el-table-column>
@@ -258,7 +280,7 @@
label="文本状态">
<template slot-scope="scope">
<span style="margin-left: 10px">
{{textStatusMap[scope.row.textStatus]}}
{{ textStatusMap[scope.row.textStatus] }}
</span>
</template>
</el-table-column>
@@ -285,22 +307,24 @@
<div slot="footer">
<el-button class="common-button-primary" icon="el-icon-check" type="primary"
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
@click="exportTestItem">导出</el-button>
@click="exportTestItem">导出
</el-button>
<el-button class="common-button-default" icon="el-icon-close" @click="cancal">取消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import {mapGetters} from 'vuex'
import LawsTreeView from '@/components/ProjectRelatedPersonnel/view'
import { interfaceUrl } from "@/sysConfig";
import {interfaceUrl} from "@/sysConfig";
export default {
name: 'Details',
components: {
LawsTreeView
},
data () {
data() {
return {
standSortOptions: [],
standCommonlySearch: {
@@ -308,6 +332,8 @@ export default {
standNumber: '',
standType: ''
},
//id
proId: '',
size: this.$store.getters.userInfo.configContent,
pageSizeNo: this.$store.getters.userInfo.configContent,
pageSize: this.$store.getters.userInfo.configContent,
@@ -324,13 +350,13 @@ export default {
data: [],
Height: 0,
localProEO: {},
localProLib:{},
localProLib: {},
takeingFlag: false,
exportModelFlag: false,
exportName: '',
standList:[],//
standList1:[],//
id:'',//.
standList: [],//
standList1: [],//
id: '',//.
saveExportType: '',//
zrbmMap: {},
textStatusMap: {} // idname
@@ -358,11 +384,11 @@ export default {
this.pageSize = this.$store.getters.userInfo.configContent;
this.selectionList();
},
pageChangeNo(page){
pageChangeNo(page) {
this.pageNo = page
this.addList()
},
pageSizeChangeNo(pageSize){
pageSizeChangeNo(pageSize) {
this.pageSizeNo = this.$store.getters.userInfo.configContent;
this.addList()
@@ -374,13 +400,13 @@ export default {
//
addList() {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", {
page:this.pageNo,
pageSize:this.pageSizeNo,
page: this.pageNo,
pageSize: this.pageSizeNo,
standSort: this.standCommonlySearch.standSort,
standNumber: this.standCommonlySearch.standNumber,
standType: this.standCommonlySearch.standType
}, {
_this:this,
_this: this,
}, res => {
console.log('res')
console.log(res)
@@ -413,12 +439,17 @@ export default {
exits.push(item);
});
//
for (let i=0;i<this.selectList.length;i++){
for (let i = 0; i < this.selectList.length; i++) {
this.selectList1.push(this.selectList[i].standId)
}
this.id=this.selectList1.join(',')
let deleteTagList = []
this.selectList1.forEach(item => {
//id-id,id-id
deleteTagList.push( this.proId + '-' + item )
})
this.id = deleteTagList.join(',')
this.$http.post('sarStandProjectLibrary/deleteByIds', {
id:this.id
id: this.id,
}, {
_this: this,
loading: 'loading'
@@ -432,18 +463,18 @@ export default {
});
}
},
getDataList(){
getDataList() {
//
this.$http.get('sarStandProjectLibrary/queryStandInfo', {
id:this.localProEO.id,
current:this.page,
pageSize:this.pageSize
id: this.localProEO.id,
current: this.page,
pageSize: this.pageSize
}, {
_this: this,
loading: 'loading'
}, res => {
this.dataList=res.data.records
this.total=res.data.total
this.dataList = res.data.records
this.total = res.data.total
}, e => {
})
},
@@ -457,12 +488,12 @@ export default {
if (this.standList.length < 1) {
_this.$message.warning("请选择标准");
} else {
for (let i=0;i<this.dataList.length;i++){
for (let i = 0; i < this.dataList.length; i++) {
let newStand = false;
for (let j=0;j<this.standList.length;j++){
if (this.standList[j].id==this.dataList[i].standId){
for (let j = 0; j < this.standList.length; j++) {
if (this.standList[j].id == this.dataList[i].standId) {
newStand = true;
this.standList.splice(j,1)
this.standList.splice(j, 1)
j--
}
}
@@ -474,13 +505,13 @@ export default {
}
this.standardData = []
_this.standModel = false;
for (var i=0;i<this.standList.length;i++){
for (var i = 0; i < this.standList.length; i++) {
this.standList1.push({
standId:this.standList[i].id,
projectId:this.localProEO.id
standId: this.standList[i].id,
projectId: this.localProEO.id
})
}
if(this.standList1!=''){
if (this.standList1 != '') {
this.$http.postData("sarStandProjectLibrary/batchInsert", this.standList1, {
_this: this
}, res => {
@@ -513,11 +544,11 @@ export default {
this.listForm.descriptionList = bringData[0].remark;
this.listForm.fileId = bringData[0].fileId;
this.ListModel = false;
this.$http.get("sarLawsAttrDetailedList/sar-laws-attr-detailed-list/selectLawsById", { id: bringData[0].id }, {
this.$http.get("sarLawsAttrDetailedList/sar-laws-attr-detailed-list/selectLawsById", {id: bringData[0].id}, {
_this: this
}, res => {
if(res.data==null){
res.data=[]
if (res.data == null) {
res.data = []
}
this.dataList = res.data;
this.listForm.dataList = res.data;
@@ -535,7 +566,7 @@ export default {
}
},
//
handlePreview (item) {
handlePreview(item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
@@ -545,7 +576,7 @@ export default {
})
window.open(routeUrl.href, '_blank')
},
back () {
back() {
console.log(this.$route.query.tabName);
this.$router.push({
path: this.$store.state.detailMap,
@@ -555,18 +586,20 @@ export default {
})
this.$store.commit('setDetailMap', '')
},
showLocalProductData (item) {
showLocalProductData(item) {
console.log(item)
this.localProEO = JSON.parse(JSON.stringify(item))
this.proId = this.localProEO.id
//
this.$http.get('sarStandProjectLibrary/queryStandInfo', {
id:this.localProEO.id
id: this.localProEO.id
}, {
_this: this,
loading: 'loading'
}, res => {
this.dataList=res.data.records
this.dataList = res.data.records
console.log(res)
this.total=res.data.total
this.total = res.data.total
}, e => {
})
this.pointTimeList = JSON.parse(JSON.stringify(item)).pointTime.split(',')
@@ -590,10 +623,11 @@ export default {
})
this.selectTableDataList()
},
resetTakeingForm() {},
resetTakeingForm() {
},
//
exportStandard () {
if(this.selectList.length > 0) {
exportStandard() {
if (this.selectList.length > 0) {
this.saveExportType = 'apart'
} else {
this.saveExportType = 'all'
@@ -603,22 +637,22 @@ export default {
console.log(this.saveExportType);
},
//
cancal () {
cancal() {
this.exportModelFlag = false
},
//
exportTestItem () {
if(this.saveExportType === 'apart') {
if (this.selectList != null && this.selectList != ''){
exportTestItem() {
if (this.saveExportType === 'apart') {
if (this.selectList != null && this.selectList != '') {
console.log(this.selectList);
let ids='\''+this.selectList[0].standId+'\''
for(let i=1;i<this.selectList.length;i++){
ids+=',\''+this.selectList[i].standId+'\''
let ids = '\'' + this.selectList[0].standId + '\''
for (let i = 1; i < this.selectList.length; i++) {
ids += ',\'' + this.selectList[i].standId + '\''
}
const exportURL = interfaceUrl + 'sarStandProjectLibrary/exportStandAttrInfoExcel?' +
'exportType' + this.saveExportType + '&ids=' + ids + '&exportName=' + this.exportName + '&id=' + this.localProEO.id
console.log(exportURL,'_self')
window.open(exportURL,'_self')
console.log(exportURL, '_self')
window.open(exportURL, '_self')
this.$message.success('导出信息成功')
}
} else if (this.saveExportType === 'all') {
@@ -626,25 +660,28 @@ export default {
let ids = ''
if (this.dataList.length === 0) {
this.$message.error('暂无导出数据')
}else{
} else {
if (this.selectList.length === 0) {
ids='\''+this.dataList[0].standId+'\''
for(let i=1;i<this.dataList.length;i++){
ids+=',\''+this.dataList[i].standId+'\''
ids = '\'' + this.dataList[0].standId + '\''
for (let i = 1; i < this.dataList.length; i++) {
ids += ',\'' + this.dataList[i].standId + '\''
}
}
const exportURL = interfaceUrl + 'sarStandProjectLibrary/exportStandAttrInfoExcel?' +
'exportType' + this.saveExportType + '&ids=' + ids + '&exportName=' + this.exportName + '&id=' + this.localProEO.id
console.log(exportURL,'_self')
window.open(exportURL,'_self')
'exportType' + this.saveExportType + '&ids=' + ids + '&exportName=' + this.exportName + '&id=' + this.localProEO.id
console.log(exportURL, '_self')
window.open(exportURL, '_self')
this.$message.success('导出信息成功')
}
}
this.exportModelFlag = false
},
exportProducdata() {},
deleteStandLawsForProduct() {},
selectStandLawsForProduct() {},
exportProducdata() {
},
deleteStandLawsForProduct() {
},
selectStandLawsForProduct() {
},
pageChangeLaws(page) {
this.page = page
this.getDataList()
@@ -658,7 +695,7 @@ export default {
this.selectList = val;
},//
// idname
setMap(key,data){
setMap(key, data) {
data.forEach(item => {
this.$set(key, item.value, item.label)
})
@@ -667,7 +704,7 @@ export default {
computed: {
...mapGetters(['getLocalPro'])
},
mounted () {
mounted() {
this.$nextTick(() => {
this.Height = $('.contaiiner').height() - $('.contaiinerCard').height() - 190
window.onresize = () => {
@@ -683,8 +720,8 @@ export default {
loading: 'loading'
}, res => {
this.standSortOptions = res.data.STANDCLASSIFY //
this.setMap(this.zrbmMap,res.data.ZRBMCLASS)
this.setMap(this.textStatusMap,res.data.WBZTCLASS)
this.setMap(this.zrbmMap, res.data.ZRBMCLASS)
this.setMap(this.textStatusMap, res.data.WBZTCLASS)
this.showLocalProductData(this.getLocalPro)
}, e => {
})
@@ -694,24 +731,28 @@ export default {
}
</script>
<style lang="less" scoped>
.localProductDetails{
.localProductDetails {
.typeIcon {
margin: 0 auto;
width: 20px;
height: 20px;
}
.iconClass{
.iconClass {
width: 18px;
height: 18px;
}
.iconClassDia{
.iconClassDia {
width: 30px;
height: 30px;
}
.picBorder{
.picBorder {
border: 1px solid #409eff;
}
.add-border{
.add-border {
/*width: 80px;*/
height: 80px;
display: flex;
@@ -719,6 +760,7 @@ export default {
align-items: center;
cursor: pointer
}
.laws-details-header {
background: #fff;
// height: 30px;
@@ -729,6 +771,7 @@ export default {
display: inline-block;
margin-right: 10px;
}
.title {
display: inline-block;
font-weight: bold;
@@ -738,39 +781,49 @@ export default {
text-align: center;
}
}
.contaiiner{
.contaiiner {
height: calc(~'100% - 55px');
background: #fff;
padding: 5px 10px;
.el-card__body{
.el-row{
.el-card__body {
.el-row {
line-height: 1.5;
font-size: 14px;
}
}
.details-panel-tabs-item{
.details-panel-tabs-item {
height: 100%;
.table-wrapper{
.table-wrapper {
height: 100%;
}
}
}
.pagination {
position: unset;
}
.el-steps.el-steps--simple{
.el-steps.el-steps--simple {
padding: 13px;
}
.el-step.is-simple{
.el-step.is-simple {
flex-basis: auto;
width: 269px;
}
.valueColor{
.valueColor {
color: #999;
}
.el-steps.el-steps--horizontal{
.el-steps.el-steps--horizontal {
margin-left: 30px;
}
@media screen and (min-width: 1920px) {
/deep/ .el-step__main {
position: relative;
@@ -779,48 +832,54 @@ export default {
}
}
@media screen and (max-width: 1280px) {
/deep/.el-step__main{
/deep/ .el-step__main {
position: relative;
left: -40%;
text-align: center;
}
}
@media screen and (max-width: 1366px) {
/deep/.el-step__main{
/deep/ .el-step__main {
position: relative;
left: -42%;
text-align: center;
}
}
/deep/.el-step__icon{
/deep/ .el-step__icon {
width: 18px;
height: 18px;
font-size: 12px;
}
/deep/.el-step__title{
/deep/ .el-step__title {
font-size: 12px;
}
}
/deep/ .el-drawer__body {
position: relative;
}
.wx-drawer-content {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: unset!important;
height: unset !important;
}
/deep/.relateClass{
& > button{
/deep/ .relateClass {
& > button {
height: 30px;
line-height: 30px;
font-size: 14px;
padding: 0 10px;
font-family: 'Microsoft Yahei', '\5FAE\8F6F\96C5\9ED1', Arial, sans-serif !important;
}
& i{
& i {
display: inline-block;
margin-right: 3px;
width: 18px;
@@ -830,54 +889,66 @@ export default {
background-position: center center;
vertical-align: text-bottom;
}
.relation-btn{
.relation-btn {
color: #409EFF;
border: 1px solid #409EFF;
background: rgba(64, 158, 255, 0.1);
.icon-relation{
.icon-relation {
background-image: url("~assets/images/shangqi/standardDetails/relation.png");
}
}
}
::v-deep .el-drawer__header{
&>span:first-child{
outline: none!important;
::v-deep .el-drawer__header {
& > span:first-child {
outline: none !important;
}
}
::v-deep .el-drawer{
outline: none!important;
::v-deep .el-drawer {
outline: none !important;
}
/deep/.leftTable{
/deep/ .leftTable {
.el-table th > .cell {
font-size: 11px;
}
.el-table th{
.el-table th {
padding: 0;
}
.el-table__body-wrapper {
height: 44px;
}
}
/deep/.el-tabs__content {
/deep/ .el-tabs__content {
padding-bottom: 0;
}
/deep/.el-card__body {
/deep/ .el-card__body {
padding: 0;
}
</style>
<style lang="less">
.localProductDetails {
height: 100%;
.el-tabs__content {
min-height: 412px;
}
}
.leftTable{
.leftTable {
.el-table--enable-row-transition .el-table__body td {
cursor: pointer;
}
}
.demo-drawer-content {
margin-top: 10px;
margin-top: 10px;
}
</style>