Browse Source

2024-06-21

master
qiezi 2 years ago
parent
commit
643ad5c968
  1. 238
      src/views/modules/base/factoryInformation.vue
  2. 133
      src/views/modules/project/projectInfo/com_projectInfo-add-or-update.vue
  3. 99
      src/views/modules/project/projectInfo/com_project_change_record.vue
  4. 6
      src/views/modules/project/projectInfo/com_project_info_quotation.vue
  5. 86
      src/views/modules/project/projectInfo/com_project_upload_file.vue
  6. 77
      src/views/modules/project/projectInfo/projectInfo.vue
  7. 2
      src/views/modules/sampleManagement/technicalSpecificationList.vue
  8. 25
      src/views/modules/sys/user.vue

238
src/views/modules/base/factoryInformation.vue

@ -62,80 +62,99 @@
</el-table>
<el-dialog :title=labels.factoryInformation :close-on-click-modal="false" v-drag :visible.sync="siteFlag"
width="630px">
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="labels.site">
<el-input v-model="siteData.siteID" :disabled="siteInputFlag" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label=labels.siteName_cn>
<el-input v-model="siteData.siteName" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label=labels.siteName_en>
<el-input v-model="siteData.siteNameE" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label=labels.postCode>
<el-input v-model="siteData.postCode" style="width: 130px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item>
<span slot="label" style="" @click="getBaseList(1003)"><a herf="#">{{ labels.company }}</a></span>
<el-input v-model="siteData.companyID" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label=labels.referenceCustomerID>
<el-input v-model="siteData.referenceCustomerID" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label=labels.active>
<el-select filterable v-model="siteData.active" style="width: 130px">
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item>
<el-form-item :label=labels.shipTime>
<el-time-picker
format="HH:mm:ss"
style="width: 130px"
v-model="siteData.shipTime"
placeholder="请选择"
value-format="HH:mm:ss">
</el-time-picker>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label=labels.contactName>
<el-input v-model="siteData.contactName" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label=labels.phoneNo>
<el-input v-model="siteData.phoneNo" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label=labels.email>
<el-input v-model="siteData.email" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label=labels.faxNo>
<el-input v-model="siteData.faxNo" style="width: 130px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label=labels.address>
<el-input v-model="siteData.address" type="textarea" :autosize="{ minRows: 1, maxRows: 6}"
style="width: 562px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: 0px;">
<el-form-item :label=labels.addressE>
<el-input v-model="siteData.addressE" type="textarea" :autosize="{ minRows: 1, maxRows: 6}"
style="width: 562px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: 0px;">
<el-form-item :label=labels.website>
<el-input v-model="siteData.website" type="textarea" :autosize="{ minRows: 1, maxRows: 6}"
style="width: 562px"></el-input>
</el-form-item>
<el-form :model="siteData" ref="siteForm" :rules="siteRules" label-position="top">
<el-row :gutter="10">
<el-col :span="6">
<el-form-item :label="labels.site" prop="siteID" :show-message="false">
<el-input v-model="siteData.siteID" :disabled="siteInputFlag" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="labels.siteName_cn" prop="siteName" :show-message="false">
<el-input v-model="siteData.siteName" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="labels.siteName_en">
<el-input v-model="siteData.siteNameE" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="labels.postCode">
<el-input v-model="siteData.postCode" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item prop="companyID" :show-message="false">
<span slot="label" @click="getBaseList(1003)"><a herf="#">{{ labels.company }}</a></span>
<el-input v-model="siteData.companyID" ></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="6">-->
<!-- <el-form-item :label=labels.referenceCustomerID>-->
<!-- <el-input v-model="siteData.referenceCustomerID" ></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="6">
<el-form-item :label="labels.active">
<el-select filterable v-model="siteData.active" style="width: 100%">
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="6">-->
<!-- <el-form-item :label=labels.shipTime>-->
<!-- <el-time-picker-->
<!-- format="HH:mm:ss"-->
<!-- style="width: 100%"-->
<!-- v-model="siteData.shipTime"-->
<!-- placeholder="请选择"-->
<!-- value-format="HH:mm:ss">-->
<!-- </el-time-picker>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
</el-row>
<el-row :gutter="10">
<el-col :span="6">
<el-form-item :label="labels.contactName">
<el-input v-model="siteData.contactName"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="labels.phoneNo">
<el-input v-model="siteData.phoneNo" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="labels.email">
<el-input v-model="siteData.email" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="labels.faxNo">
<el-input v-model="siteData.faxNo" ></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="labels.address">
<el-input v-model="siteData.address" type="textarea" :autosize="{ minRows: 1, maxRows: 6}"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="labels.addressE">
<el-input v-model="siteData.addressE" type="textarea" :autosize="{ minRows: 1, maxRows: 6}"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="labels.website">
<el-input v-model="siteData.website" type="textarea" :autosize="{ minRows: 1, maxRows: 6}"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
<el-button type="primary" @click="siteSave()">{{ buttons.save }}</el-button>
<el-button type="primary" @click="siteSave">{{ buttons.save }}</el-button>
<el-button type="primary" @click="siteFlag = false">{{ buttons.close }}</el-button>
</el-footer>
</el-dialog>
@ -714,6 +733,17 @@ export default {
columnWidth: 120
}
],
siteRules:{
siteID: [
{ required: true, message: '请输入工厂编码', trigger: 'blur' },
],
siteName: [
{ required: true, message: '请输入工厂名称', trigger: 'blur' },
],
companyID: [
{ required: true, message: '请选择会计单位', trigger: 'blur' },
],
}
}
},
@ -792,34 +822,38 @@ export default {
this.siteFlag = true;
},
siteSave() {
siteSave(this.siteData).then(({data}) => {
if (this.siteData.companyID == '' || this.siteData.companyID == null) {
this.$alert("请选择会计单位!", '错误', {
confirmButtonText: '确定'
})
return false;
}
if (this.siteData.siteID == '' || this.siteData.siteID == null) {
this.$alert("请输入工厂编码!", '错误', {
confirmButtonText: '确定'
})
return false;
}
if (this.siteData.siteName == '' || this.siteData.siteName == null) {
this.$alert("请输入工厂名称!", '错误', {
confirmButtonText: '确定'
})
return false;
}
if (data && data.code == 200) {
this.siteFlag = false
this.getData();
this.$message.success('操作成功')
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
this.$refs.siteForm.validate((valid) => {
if (valid){
siteSave(this.siteData).then(({data}) => {
if (data && data.code == 200) {
this.siteFlag = false
this.getData();
this.$message.success('操作成功')
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
}else {
if (this.siteData.companyID === '' || this.siteData.companyID == null) {
this.$alert("请选择会计单位!", '错误', {
confirmButtonText: '确定'
})
return false;
}
if (this.siteData.siteID === '' || this.siteData.siteID == null) {
this.$alert("请输入工厂编码!", '错误', {
confirmButtonText: '确定'
})
return false;
}
if (this.siteData.siteName === '' || this.siteData.siteName == null) {
this.$alert("请输入工厂名称!", '错误', {
confirmButtonText: '确定'
})
return false;
}
}
})
},
@ -989,11 +1023,15 @@ export default {
}
</script>
<style>
<style scoped>
.el-textarea__inner {
padding: 5px 5px;
}
.el-form-item--medium /deep/ .el-form-item__content{
height: auto;
line-height: 1.5;
}
</style>

133
src/views/modules/project/projectInfo/com_projectInfo-add-or-update.vue

@ -86,7 +86,7 @@
<el-input type="textarea" resize="none" :autosize="{minRows: 2, maxRows: 2}" v-model="dataForm.remark" ></el-input>
</el-form-item>
<el-form-item prop="userRoleName" :rules="projectRole.userRoleName">
<span slot="label" style="" @click="userRollModal()"><a herf="#">项目权限</a></span>
<span slot="label" style="" @click="userRollModal('none')"><a herf="#">项目权限</a></span>
<el-input v-model="dataForm.userRoleName" ></el-input>
</el-form-item>
</el-form>
@ -134,6 +134,17 @@
title="权限"
:close-on-click-modal="false"
:visible.sync="userRoleFlag">
<el-form :inline="true" :model="userRoleForm" label-position="top">
<el-form-item label="账号">
<el-input v-model="userRoleForm.username" placeholder=" "></el-input>
</el-form-item>
<el-form-item label="姓名">
<el-input v-model="userRoleForm.userDisplay" placeholder=" "></el-input>
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" @click="searchUserRoll('none')">查询</el-button>
</el-form-item>
</el-form>
<el-table
:data="userRoleList"
border
@ -160,9 +171,12 @@
align="center"
min-width="30"
label="">
<template slot="header" slot-scope="scope">
<el-checkbox :indeterminate="saveCheckAllIndeterminate" v-model="saveCheckAll" true-label="Y" false-label="N" @change="changeSaveCheckAll"></el-checkbox>
</template>
<template slot-scope="scope">
<!-- 如果数据为Y显示勾选框否则不勾选 -->
<el-checkbox v-model="scope.row.checkAll" @change="changeAll(scope.row)"></el-checkbox>
<el-checkbox :indeterminate="userRoleIndeterminateList[scope.$index]" v-model="scope.row.checkAll" @change="changeAll(scope.row)"></el-checkbox>
</template>
</el-table-column>
<el-table-column
@ -285,6 +299,10 @@
buNo:[],
buDesc:[],
},
userRoleForm:{
username:'',
userDisplay:'',
},
projectManagerList:[],
projectOwnerList:[],
userRoleList:[],
@ -345,11 +363,44 @@
trigger: 'change'
}
],
}
},
saveCheckAll:'N',
}
},
created () {
},
watch:{
userRoleFlag(newVal,oldVal){
if (newVal === false){
this.userRoleForm.username = ''
this.userRoleForm.userDisplay = ''
// this.saveCheckAll='N'
}
},
},
computed:{
saveCheckAllIndeterminate(){
if (this.userRoleList.every(item => item.checkAll === true)){
this.saveCheckAll = 'Y'
return false
}else if (this.userRoleList.every(item => item.checkAll === false)){
this.saveCheckAll = 'N'
return false
}else {
this.saveCheckAll = 'N'
return true
}
},
userRoleIndeterminateList(){
return this.userRoleList.map(item=>{
if (item.checkAll === true){
return false
}else {
return !(item.searchCheck === false && item.updateCheck === false && item.downCheck === false && item.deleteCheck === false);
}
})
},
},
methods: {
// S
@ -457,13 +508,7 @@
searchProjectTeamStr(inData2).then(({data}) => {
this.dataForm.projectOwnerList=data.rows
})
let inData3={
site:this.dataForm.site,
projectId:this.dataForm.projectId,
}
searchUserRoll(inData3).then(({data}) => {
this.dataForm.userRoleList=data.rows
})
this.searchUserRoll();
}
})
}else {
@ -495,13 +540,7 @@
finalCustomerId:'',
finalCustomerName:'',
}
let inData={
site:this.dataForm.site,
projectId:this.dataForm.projectId,
}
searchUserRoll(inData).then(({data}) => {
this.dataForm.userRoleList=data.rows
})
this.searchUserRoll();
}
if (requestCustomer){
@ -509,7 +548,22 @@
}
this.visible = true
},
searchUserRoll(val){
let arr = []
if (val === 'none'){//
arr =JSON.parse(JSON.stringify(this.userRoleList));
}
let inData3={
site:this.dataForm.site,
projectId:this.dataForm.projectId,
username:this.userRoleForm.username,
userDisplay:this.userRoleForm.userDisplay,
}
searchUserRoll(inData3).then(({data}) => {
this.dataForm.userRoleList=data.rows;
this.userRollModal(undefined,arr);
})
},
managerChooseModal(){
let inData={
site:this.dataForm.site,
@ -556,21 +610,27 @@
this.dataForm.projectOwnerList=JSON.parse(JSON.stringify(this.projectOwnerList));
this.ownerFlag=false
},
userRollModal(){
userRollModal(val,arr){
this.userRoleList=JSON.parse(JSON.stringify(this.dataForm.userRoleList));
for (let i = 0; i <this.userRoleList.length ; i++) {
if(this.userRoleList[i].username==this.$store.state.user.name){
this.userRoleList[i].searchCheck=true;
this.userRoleList[i].updateCheck=true;
this.userRoleList[i].downCheck=true;
this.userRoleList[i].deleteCheck=true;
this.userRoleList[i].searchFlag='Y'
this.userRoleList[i].updateFlag='Y'
this.userRoleList[i].downFlag='Y'
this.userRoleList[i].deleteFlag='Y'
if(this.userRoleList[i].username===this.$store.state.user.name){
this.userRoleList[i].checkAll=true;
this.changeAll(this.userRoleList[i])
}
}
//
if (arr && arr.length > 0){
for (let i = 0; i < this.userRoleList.length; i++) {
let row = arr[i]
if (arr[i].username !== this.$store.state.user.name){
row = arr.find(item => item.username === arr[i].username)
}
this.$set(this.userRoleList, i, row)
}
}
this.userRoleFlag=true
if (val === 'none'){
this.userRoleFlag=true
}
},
saveUserList(){
for (let i = 0; i <this.userRoleList.length ; i++) {
@ -585,13 +645,13 @@
this.userRoleList[i].deleteFlag='Y'
}
}
let name= '';
let name= [];
for (let i = 0; i < this.userRoleList.length; i++) {
if(this.userRoleList[i].searchCheck||this.userRoleList[i].updateCheck||this.userRoleList[i].downCheck||this.userRoleList[i].deleteCheck){
name+=this.userRoleList[i].userDisplay+';'
name[i]=this.userRoleList[i].userDisplay
}
}
this.dataForm.userRoleName=name
this.dataForm.userRoleName=name.join(';')
this.dataForm.userRoleList=JSON.parse(JSON.stringify(this.userRoleList));
this.userRoleFlag=false
},
@ -645,7 +705,7 @@
row.deleteFlag='N'
}
}
if(row.searchCheck&&row.updateCheck&&row.downCheck&&row.deleteCheck){
if(row.searchCheck && row.updateCheck && row.downCheck && row.deleteCheck){
row.checkAll=true
}else{
row.checkAll=false
@ -741,6 +801,13 @@
this.dataForm.customerId = row.customerId;
this.dataForm.customerName = row.customerName;
},
changeSaveCheckAll(val){
for (let i = 0; i < this.userRoleList.length; i++) {
let row = this.userRoleList[i]
row.checkAll = (val === 'Y')
this.changeAll(row)
}
},
},
}
</script>

99
src/views/modules/project/projectInfo/com_project_change_record.vue

@ -0,0 +1,99 @@
<script>
export default {
name: "com_project_change_record",
props:{
dataList:{
type:Array,
default:()=>[]
},
columns:{
type:Array,
default:()=>[]
},
height:{
type:Number,
default:300
}
},
methods:{
fields() {
let json = "{"
this.columns.forEach((item, index) => {
if (index === this.columns.length - 1) {
json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\""
} else {
json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" + ","
}
})
json += "}"
let s = eval("(" + json + ")")
return s
},
createExportData() {
return this.dataList;
},
toChangeMenu(changeNo){
if (this.$router.resolve(`/changeManagement-changeRecord`).resolved.name === '404'){
this.$alert('权限不足,访问失败', '警告', {confirmButtonText: '确定',});
}else {
this.$router.push({name:`changeManagement-changeRecord`,params:{changeNo:changeNo},})
}
}
},
data(){
return{
exportName: '变更记录'+this.dayjs().format('YYYYMMDDHHmmss'),
exportHeader: ["变更记录"],
exportFooter: [],
}
}
}
</script>
<template>
<div>
<download-excel
:fields="fields()"
:data="dataList"
type="xls"
:name="exportName"
:header="exportHeader"
:footer="exportFooter"
:fetch="createExportData"
worksheet="导出信息"
class="el-button el-button--primary el-button--medium">
导出
</download-excel>
<el-table
:data="dataList"
:height="height"
border
style="width: 100%;">
<el-table-column
v-for="(item,index) in columns" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed===''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<div v-if="item.columnProp === 'changeNo'">
<el-link style="cursor:pointer;" v-if="!item.columnHidden" @click="toChangeMenu(scope.row.changeNo)"> {{ scope.row[item.columnProp] }}</el-link>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</div>
<div v-else>
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</div>
</template>
</el-table-column>
</el-table>
</div>
</template>
<style scoped>
</style>

6
src/views/modules/project/projectInfo/com_project_info_quotation.vue

@ -189,7 +189,7 @@ export default {
},
],
exportData: [],
exportName: '项目价'+this.dayjs().format('YYYYMMDDHHmmss'),
exportName: '项目价'+this.dayjs().format('YYYYMMDDHHmmss'),
exportHeader: ["项目询价"],
exportFooter: [],
}
@ -212,9 +212,7 @@ export default {
}
})
json += "}"
let s = eval("(" + json + ")")
return s
return eval("(" + json + ")")
},
createExportData() {
return this.dataList;

86
src/views/modules/project/projectInfo/com_project_upload_file.vue

@ -1,60 +1,44 @@
<template>
<div class="customer-css">
<el-dialog :title="titleCon" :close-on-click-modal="false" :visible.sync="visible" width="400px" style="" class="customer-dialog">
<el-form :inline="true" label-position="top" label-width="80px" :rules="dataRole">
<el-row>
<div>
<el-dialog :title="titleCon" :close-on-click-modal="false" :visible.sync="visible" width="400px">
<el-form label-position="top" :model="pageData" label-width="80px" :rules="dataRole">
<el-row :gutter="10">
<el-col :span="12">
<el-form-item class="customer-item" label="项目编码:" >
<el-input v-model="pageData.projectId" style="width: 120px;" disabled ></el-input>
<el-form-item label="项目编码:" >
<el-input v-model="pageData.projectId" disabled ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item class="customer-item" label="项目名称:">
<el-input v-model="pageData.projectName" style="width: 120px;" disabled></el-input>
<el-form-item label="项目名称:">
<el-input v-model="pageData.projectName" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="width: 32%">
<el-form-item class="customer-item" label="文件类型:" prop="fileType" :role="dataRole.fileType">
<el-select v-model="pageData.fileType" style="width: 110px">
<el-option label="sop" value="sop"></el-option>
<el-option label="other" value="other"></el-option>
</el-select>
<el-col :span="10">
<el-form-item label="文件类型" prop="fileType" :role="dataRole.fileType">
<dict-data-select v-model="pageData.fileType" dict-type="file_type"></dict-data-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<!-- <el-upload class="customer-upload"-->
<!-- drag-->
<!-- action="javascript:void(0);" ref="uploadFile" :limit="1"-->
<!-- :before-upload="beforeUploadHandle" :on-change="onChange"-->
<!-- accept="*" :auto-upload="false"-->
<!-- style="text-align: left;">-->
<!-- <i class="el-icon-upload"></i>-->
<!-- <div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>-->
<!-- </el-upload>-->
<el-upload drag :file-list="fileList"
action="javascript:void(0);" ref="uploadFile"
:on-change="onChange"
multiple :auto-upload="false"
style="text-align: left;">
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
</el-upload>
<el-form-item label=" ">
<el-upload drag :file-list="fileList"
action="javascript:void(0);" ref="uploadFile"
:on-change="onChange"
multiple :auto-upload="false"
style="text-align: left;">
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24" style="margin-bottom: 30px;">
<el-form-item class="customer-item" label="备注:" >
<el-input type="textarea" style="width: 360px;" placeholder="请输入内容" v-model="pageData.fileRemark"></el-input>
<el-col :span="23">
<el-form-item class="customer-item" label="备注" >
<el-input type="textarea" placeholder="请输入内容" v-model="pageData.fileRemark"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="saveUploadFile()">保存</el-button>
<el-button type="primary" @click="saveUploadFile">保存</el-button>
<el-button type="primary" @click="closeDialog">关闭</el-button>
</span>
</el-dialog>
@ -65,11 +49,13 @@
import {
uploadProjectFile,
} from "@/api/project/project.js"
import DictDataSelect from "../../sys/dict-data-select.vue";
/* 引入组件 */
var functionId = 'C10000002';
export default {
components: {DictDataSelect},
data() {
return {
titleCon: '项目文件上传',
@ -126,14 +112,14 @@ export default {
},
/*选择上传文件时*/
onChange(file){
this.fileList.push(file);
onChange(file,fileList){
this.fileList = fileList;
},
/*关闭modal*/
closeDialog(){
//
this.$emit('refreshPageTables');
// this.$emit('refreshPageTables');
//
this.visible = false;
},
@ -146,7 +132,7 @@ export default {
return false;
}
/*判断文件是否上传*/
if(null == this.fileList || 0 == this.fileList.length){
if(null == this.fileList || 0 === this.fileList.length){
this.$message.error("请先上传文件!");
return false;
}
@ -165,7 +151,9 @@ export default {
this.$message.success('操作成功');
//
this.$refs.uploadFile.clearFiles();
this.fileList = [];
this.pageData.fileRemark = '';
this.$emit('refreshPageTables');
}else {
this.$message.warning(data.msg);
}
@ -180,7 +168,9 @@ export default {
}
</script>
<style scoped lang="scss">
<style scoped>
.el-form-item--medium /deep/ .el-form-item__content{
height: auto;
line-height: 1.5px;
}
</style>

77
src/views/modules/project/projectInfo/projectInfo.vue

@ -304,7 +304,7 @@
<!--文件上传-->
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;">
<el-form :inline="true" label-position="top" style="margin-top: 0px">
<el-button type="primary" @click="addUploadFileModal()">上传文件</el-button>
<el-button type="primary" @click="addUploadFileModal">上传文件</el-button>
</el-form>
</el-form>
<el-table
@ -365,43 +365,44 @@
<technicalSpecification ref="technicalSpecification"></technicalSpecification>
</el-tab-pane>
<el-tab-pane label="变更记录" name="changeRecord">
<el-table
:data="changeRecordList"
height="260"
border
style="width: 100%;">
<el-table-column
v-for="(item,index) in columnChangeRecord" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed==''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<div v-if="item.columnProp === 'changeNo'">
<el-link style="cursor:pointer;" v-if="!item.columnHidden" @click="toChangeMenu(scope.row.changeNo)"> {{ scope.row[item.columnProp] }}</el-link>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</div>
<div v-else>
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</div>
</template>
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="100"
label="操作">
<template slot-scope="scope">
<change-record :data-list="changeRecordList" :height="240" :columns="columnChangeRecord"></change-record>
<!-- <el-table-->
<!-- :data="changeRecordList"-->
<!-- height="260"-->
<!-- border-->
<!-- style="width: 100%;">-->
<!-- <el-table-column-->
<!-- v-for="(item,index) in columnChangeRecord" :key="index"-->
<!-- :sortable="item.columnSortable"-->
<!-- :prop="item.columnProp"-->
<!-- :header-align="item.headerAlign"-->
<!-- :show-overflow-tooltip="item.showOverflowTooltip"-->
<!-- :align="item.align"-->
<!-- :fixed="item.fixed==''?false:item.fixed"-->
<!-- :min-width="item.columnWidth"-->
<!-- :label="item.columnLabel">-->
<!-- <template slot-scope="scope">-->
<!-- <div v-if="item.columnProp === 'changeNo'">-->
<!-- <el-link style="cursor:pointer;" v-if="!item.columnHidden" @click="toChangeMenu(scope.row.changeNo)"> {{ scope.row[item.columnProp] }}</el-link>-->
<!-- <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>-->
<!-- </div>-->
<!-- <div v-else>-->
<!-- <span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>-->
<!-- <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>-->
<!-- </div>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!--&lt;!&ndash; <el-table-column&ndash;&gt;-->
<!--&lt;!&ndash; fixed="right"&ndash;&gt;-->
<!--&lt;!&ndash; header-align="center"&ndash;&gt;-->
<!--&lt;!&ndash; align="center"&ndash;&gt;-->
<!--&lt;!&ndash; width="100"&ndash;&gt;-->
<!--&lt;!&ndash; label="操作">&ndash;&gt;-->
<!--&lt;!&ndash; <template slot-scope="scope">&ndash;&gt;-->
</template>
</el-table-column>
</el-table>
<!--&lt;!&ndash; </template>&ndash;&gt;-->
<!--&lt;!&ndash; </el-table-column>&ndash;&gt;-->
<!-- </el-table>-->
</el-tab-pane>
</el-tabs>
@ -547,9 +548,11 @@
import technicalSpecification from "./com_project_technicalSpecification";
import quotationHeader from "./com_project_info_quotation.vue";
import DictDataSelect from "../../sys/dict-data-select.vue";
import ChangeRecord from "./com_project_change_record.vue";
/*組件*/
export default {
components: {
ChangeRecord,
DictDataSelect,
Chooselist,
AddOrUpdate,

2
src/views/modules/sampleManagement/technicalSpecificationList.vue

@ -357,7 +357,7 @@
columnProp: "buNo",
headerAlign: "center",
align: "center",
columnLabel: "部门编码",
columnLabel: "BU",
columnHidden: false,
columnImage: false,
columnSortable: false,

25
src/views/modules/sys/user.vue

@ -136,13 +136,12 @@
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;">
用户 <el-input v-model="selectUser.username" style="width: 130px" readonly></el-input>
名称 <el-input v-model="selectUser.userDisplay" style="width: 130px" readonly></el-input>
<el-tabs v-model="activeTable" style="margin-top: 0; width: 100%; min-height: 350px;box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);border: 2px;" @tab-click="tabClick" class="customer-tab">
<el-tabs v-model="activeTable" @tab-click="tabClick" >
<!-- 工厂权限页签 -->
<el-tab-pane label="工厂权限" name="factory_information" style="height: 350px;">
<el-table
:data="userSiteList"
border
style="width: 100%;height: 500px">
border :height="350">
<el-table-column
prop="siteID"
header-align="center"
@ -170,8 +169,7 @@
<el-tab-pane label="BU权限" name="BU_information" style="height: 350px;">
<el-table
:data="userBUList"
border
style="width: 100%;height: 500px">
border :height="350">
<el-table-column
prop="site"
header-align="center"
@ -196,11 +194,10 @@
</el-table>
</el-tab-pane>
<!-- 项目权限页签 -->
<el-tab-pane label="项目权限" name="project_information" style="height: 350px;">
<el-tab-pane label="项目权限" name="project_information">
<el-table
:data="userProjectList"
border
style="width: 100%;height: 500px">
border :height="350">
<el-table-column
prop="site"
header-align="center"
@ -242,8 +239,7 @@
<el-tab-pane label="字段权限" name="field_function_information" style="height: 350px;">
<el-table
:data="userFieldList"
border
style="width: 100%;height: 500px">
border :height="350">
<el-table-column
prop="functionName"
header-align="center"
@ -272,8 +268,7 @@
<el-table
:data="securityList"
border
v-loading="dataListLoading"
style="width: 100%;height: 500px">
v-loading="dataListLoading" :height="350">
<el-table-column
v-for="(item,index) in columnList" :key="index"
:sortable="item.columnSortable"
@ -299,8 +294,7 @@
<el-tab-pane label="角色权限" name="role_information" style="height: 350px;">
<el-table
:data="userRoleList"
border
style="width: 100%;height: 500px">
border :height="350">
<el-table-column
prop="site"
header-align="center"
@ -1267,7 +1261,8 @@ export default {
var userIds = id ? [id] : this.dataListSelections.map(item => {
return item.userId
})
this.$confirm(`确定对[id=${userIds.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
let usernames = this.dataList.filter(item => item.userId === id).map(item=>item.username)
this.$confirm(`确定对[用户账号${usernames.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'

Loading…
Cancel
Save