Explorar o código

Merge branch 'master' of http://47.100.37.243:10080/ZHOU/yunsu

%!s(int64=5) %!d(string=hai) anos
pai
achega
2091868631

+ 1 - 1
ys_vue/src/port.js

@@ -79,7 +79,7 @@ export default {
         addCompany: '/company/add',  //(公司)
         companyList: '/company/list',
         delCompany: '/company/delete',
-        companys: '/company/getCompanyList', //创建账号所获取的公司列表
+        companys: '/company/getCompanyList', //创建账号所获取的公司列表
         comps: '/company/getCompanys', //创建模具获取的(资产方)公司列表
         addCompanyListToProject: '/company/addCompanyListToProject', //项目分配生产方公司列表
         relationList: '/company/relationList', //建立关联公司时的公司列表

+ 34 - 16
ys_vue/src/views/Home.vue

@@ -34,15 +34,19 @@
                   <span v-if="unreadCount[0] == 0">审批</span>
                   <span v-else>审批({{unreadCount[0]}})</span>
                 </span>
-                <div class="popover-item" v-if="unreadCount[0] == 0">暂无审批消息</div>
+                <div class="popover-item" v-if="popoverData[0].length == 0">暂无审批消息</div>
                 <div class="popover-item" v-for="item in popoverData[0]">
                   <p class="popover-title">
                     <span
                       style="cursor: pointer;"
-                      @click="locationHerf(item.refId, item.noticeType)"
-                    >{{item.projectName}}</span>
+                      @click="locationHerf(item.id, item.refId, item.noticeType)"
+                    >
+                      <span v-if="item.isRead == 1" class="isRead">{{item.projectName}}</span>
+                      <span v-else>{{item.projectName}}</span>
+                    </span>
                   </p>
-                  <p>{{item.content}}</p>
+                  <p v-if="item.isRead == 1" class="isRead">{{item.content}}</p>
+                  <p v-else>{{item.content}}</p>
                 </div>
               </el-tab-pane>
 
@@ -52,15 +56,19 @@
                   <span v-if="unreadCount[1] == 0">警告</span>
                   <span v-else>警告({{unreadCount[1]}})</span>
                 </span>
-                <div class="popover-item" v-if="unreadCount[1] == 0">暂无警告消息</div>
+                <div class="popover-item" v-if="popoverData[1].length == 0">暂无警告消息</div>
                 <div class="popover-item" v-for="item in popoverData[1]">
                   <p class="popover-title">
                     <span
                       style="cursor: pointer;"
-                      @click="locationHerf(item.refId, item.noticeType)"
-                    >{{item.projectName}}</span>
+                      @click="locationHerf(item.id, item.refId, item.noticeType)"
+                    >
+                      <span v-if="item.isRead == 1" class="isRead">{{item.projectName}}</span>
+                      <span v-else>{{item.projectName}}</span>
+                    </span>
                   </p>
-                  <p>{{item.content}}</p>
+                  <p v-if="item.isRead == 1" class="isRead">{{item.content}}</p>
+                  <p v-else>{{item.content}}</p>
                 </div>
               </el-tab-pane>
 
@@ -70,15 +78,19 @@
                   <span v-if="unreadCount[2] == 0">保养</span>
                   <span v-else>保养({{unreadCount[2]}})</span>
                 </span>
-                <div class="popover-item" v-if="unreadCount[2] == 0">暂无保养消息</div>
+                <div class="popover-item" v-if="popoverData[2].length == 0">暂无保养消息</div>
                 <div class="popover-item" v-for="item in popoverData[2]">
                   <p class="popover-title">
                     <span
                       style="cursor: pointer;"
-                      @click="locationHerf(item.refId, item.noticeType)"
-                    >{{item.projectName}}</span>
+                      @click="locationHerf(item.id, item.refId, item.noticeType)"
+                    >
+                      <span v-if="item.isRead == 1" class="isRead">{{item.projectName}}</span>
+                      <span v-else>{{item.projectName}}</span>
+                    </span>
                   </p>
-                  <p>{{item.content}}</p>
+                  <p v-if="item.isRead == 1" class="isRead">{{item.content}}</p>
+                  <p v-else>{{item.content}}</p>
                 </div>
               </el-tab-pane>
             </el-tabs>
@@ -291,7 +303,7 @@ export default {
         username: [{ required: true, message: "请输入姓名", trigger: "blur" }]
       },
       //消息数据
-      popoverData: [],
+      popoverData: ["", "", ""],
       unreadCount: [],
       activePage: 0
     };
@@ -461,7 +473,7 @@ export default {
       );
     },
     //点击消息的跳转
-    locationHerf(id, type) {
+    locationHerf(id, refid, type) {
       this.http.post(
         this.port.notice.read,
         {
@@ -469,6 +481,8 @@ export default {
         },
         res => {
           if (res.code == "ok") {
+            //重新读取一次消息
+            this.loadNotice();
           } else {
             this.$message({
               message: res.msg,
@@ -485,13 +499,13 @@ export default {
       );
       if (type == 0) {
         //审批 跳转到模具详情
-        this.$router.push("/moldList/" + id);
+        this.$router.push("/moldList/" + refid);
       } else if (type == 1) {
         //警告 跳转到运行监测
         this.$router.push("/detection");
       } else if (type == 2) {
         //保养 跳转到运行监测详情
-        this.$router.push("/detection/" + id);
+        this.$router.push("/detection/" + refid);
       }
     },
     //标签页面切换时
@@ -697,4 +711,8 @@ export default {
   text-align: center;
   cursor: pointer;
 }
+
+.isRead {
+  color: #999 !important;
+}
 </style>

+ 5 - 1
ys_vue/src/views/base/comp.vue

@@ -18,8 +18,12 @@
 		<!--列表-->
 		<el-table :data="list" highlight-current-row :height="tableHeight" v-loading="listLoading" style="width: 100%;">
             <el-table-column type="index" width="60"></el-table-column>
-			<el-table-column prop="companyName" label="资产方名称" width="250" sortable></el-table-column>
+			<el-table-column prop="companyName" label="资产方名称" width="250" sortable>
+            </el-table-column>
             <el-table-column prop="administrator" label="资产方管理员" width="150" sortable>
+                <template slot-scope="scope">
+                    <router-link to="/staff" tag="span" style="cursor: pointer; color: #409eff;">{{scope.row.administrator}}</router-link>
+                </template>
             </el-table-column>
             <el-table-column prop="relateCompanyList" label="关联生产方" width="400" sortable>
                 <template slot-scope="scope">

+ 4 - 4
ys_vue/src/views/base/role.vue

@@ -22,14 +22,14 @@
             <el-table-column prop="subordinate" label="角色类型" width="120" sortable></el-table-column>
 			<el-table-column label="权限">
                 <template slot-scope="scope">
-                    <el-col :span="2" v-if="scope.row.uploadPower == 1">
-                        <el-tag size="medium">上传</el-tag>
+                    <el-col :span="2" v-if="scope.row.viewPower == 1">
+                        <el-tag size="medium">浏览</el-tag>
                     </el-col>
                     <el-col :span="2" v-if="scope.row.dowloadPower == 1">
                         <el-tag size="medium">下载</el-tag>
                     </el-col>
-                    <el-col :span="2" v-if="scope.row.viewPower == 1">
-                        <el-tag size="medium">浏览</el-tag>
+                    <el-col :span="2" v-if="scope.row.uploadPower == 1">
+                        <el-tag size="medium">上传</el-tag>
                     </el-col>
                     <el-col :span="2" v-if="scope.row.approvalPower == 1">
                         <el-tag size="medium">审批</el-tag>

+ 2 - 2
ys_vue/src/views/detection/detection.vue

@@ -46,14 +46,14 @@
       <el-table-column prop="ocCycle" label="每模平均周期" align="center" width="140" sortable></el-table-column>
       <el-table-column prop="hillNumber" label="电量" align="center" width="80" sortable></el-table-column>
       <el-table-column prop="state" label="当前状态" align="center" width="100" sortable></el-table-column>
-      <el-table-column label="云模盒报警N/A" align="center" width="160">低电量、温度过高</el-table-column>
+      <el-table-column label="云模盒报警" align="center" width="160">低电量、温度过高</el-table-column>
       <el-table-column label="模具保养" align="center" width="100">
         <template slot-scope="scope">
           <span v-if="scope.row.isMaintain == 1">需要</span>
           <span v-else>正常</span>
         </template>
       </el-table-column>
-      <el-table-column label="操作" align="center" width="85">
+      <el-table-column label="处理" align="center" width="85">
         <template slot-scope="scope">
           <el-button type="primary" @click="toMaintenance(scope.row.id)">详情</el-button>
         </template>

+ 104 - 31
ys_vue/src/views/mold/moldDetail.vue

@@ -134,7 +134,7 @@
 
             <!-- 更新4 -->
             <el-button
-                v-show="activeTab == 4 && user.id == moldDetail.managerId && canInitiate"
+                v-show="activeTab == 4 && user.id == moldDetail.managerId && canInitiate && updateAble"
                 size="mini"
                 type="primary"
                 style="float: right;"
@@ -211,7 +211,6 @@
                         <el-table-column prop="part3dFile.fileName" label="3D图档" width="200" sortable>
                             <template slot-scope="scope" v-if="scope.row.part3dFile != null">
                                 <a class="download" :href="scope.row.part3dFile.fileUrl" target="_blank">{{scope.row.part3dFile.fileName}}</a> 
-                                <!--  :download="scope.row.part3dFile.fileName" -->
                             </template>
                         </el-table-column>
                         <el-table-column prop="part2dFile.fileName" label="2D图档" width="200" sortable>
@@ -364,8 +363,10 @@
                 <el-tab-pane label="模具报废" name="5">
                     <el-table :data="documents.abandon" highlight-current-row v-loading="listLoading" style="width: 100%;">
                         <el-table-column type="index" width="40"></el-table-column>
-                        <el-table-column prop="fileName" label="名称" sortable></el-table-column>
-                        <el-table-column prop="fileSize" label="大小" width="200" sortable></el-table-column>
+                        <el-table-column prop="fileName" label="申请单名称" sortable></el-table-column>
+                        <el-table-column prop="fileSize" label="申请单大小" width="200" sortable></el-table-column>
+                        <el-table-column prop="fileName2" label="报废单名称" sortable></el-table-column>
+                        <el-table-column prop="fileSize2" label="报废单大小" width="200" sortable></el-table-column>
                         <el-table-column prop="uploadtor" label="上传者" width="200" sortable></el-table-column>
                         <el-table-column prop="indate" label="上传时间" width="200" sortable></el-table-column>
                         <el-table-column label="状态" width="120" sortable>
@@ -436,18 +437,18 @@
         <el-dialog title="模具报废上传" :visible.sync="centerDialog2Visible" width="450px" :before-close="clearFileRecord">
             <p style="height:60px;">
                 <span style="float:left;margin-right:30px;">申请单</span>
-                <el-upload ref="upload1" action="customize" :http-request="uploadFile" :limit="1" :auto-upload="false" style="float:left">
+                <el-upload ref="upload1" action="customize" :http-request="uploadDiscardFile1" :limit="1" :before-remove="beforeRemove1" style="float:left">
                     <el-button size="small" type="primary">上传</el-button>
                 </el-upload>
             </p>
             <p style="height:60px;">
                 <span style="float:left;margin-right:30px;">报废单</span>
-                <el-upload ref="upload2" action="customize" :http-request="uploadFile" :limit="1" :auto-upload="false" style="float:left">
+                <el-upload ref="upload2" action="customize" :http-request="uploadDiscardFile2" :limit="1" :before-remove="beforeRemove2" style="float:left">
                     <el-button size="small" type="primary">上传</el-button>
                 </el-upload>
             </p>
             <span slot="footer" class="dialog-footer">
-                <el-button @click="confirmUpload" :loading="uploading[3]">确定</el-button>
+                <el-button @click="discardUpload" :loading="uploading[3]">确定</el-button>
             </span>
         </el-dialog>
 
@@ -606,6 +607,8 @@
                 approve: 0,
 
                 canInitiate: true,
+                //根据状态判断能否更新
+                updateAble: true,
 
                 //6种文档
                 documents: {
@@ -633,6 +636,7 @@
                 centerDialog5Visible: false, //批量导出操作界面
                 editPortVisible: false,//编辑零件界面
 
+                editLoading: false,
                 listLoading: false,
                 activeTab: 0,
                 activePage: 0,
@@ -655,7 +659,10 @@
                     holes: "",
                 },
 
+                //零件文件
                 files: [],
+                //报废文件
+                files2: [null, null],
 
                 twoId: null,
                 threeId: null,
@@ -819,6 +826,8 @@
                         }
                         //顺便再把下面操作记录读取一下
                         this.getOperationRecord(this.activeTab);
+                        //顺便再看看可不可以申请更新
+                        this.checkUpdateState();
                     } else {
                         this.$message({
                             message: res.msg,
@@ -834,6 +843,17 @@
                 });
             },
 
+            //查看有无审核中或者审核成功的更新申请
+            checkUpdateState(){
+                this.updateAble = true;
+                this.documents.update.forEach(item => {
+                    if(item.state != "-1" || item.state != "-2"){
+                        //有进行中的更新申请 现在不能再申请更新了
+                        this.updateAble = false;
+                    }
+                });
+            },
+
             //将list中对应的文件传入相应的document下
             setList(list, num) {
                 var array = [];
@@ -894,13 +914,6 @@
                 this.centerDialogVisible = true;
             },
 
-            //清理报废文档上传窗口中的文件
-            clearFileRecord() {
-                this.centerDialog2Visible = false;
-                this.$refs.upload1.clearFiles();
-                this.$refs.upload2.clearFiles();
-            },
-
             //清理零件文档上传窗口中的文件
             clearFileRecord2() {
                 this.centerDialog4Visible = false;
@@ -992,21 +1005,6 @@
                 })
             },
 
-            //报废文件上传
-            confirmUpload() {
-                if (this.$refs.upload1.uploadFiles.length == 1 && this.$refs.upload2.uploadFiles.length == 1) {
-                    this.$refs.upload1.submit();
-                    this.$refs.upload2.submit();
-                    this.centerDialog2Visible = false;
-                    this.clearFileRecord();
-                } else {
-                    this.$message({
-                        message: "必须各上传一个文件",
-                        type: "error"
-                    });
-                }
-            },
-
             //文件上传
             uploadFile(params) {
                 var fileObj = params.file;
@@ -1144,7 +1142,8 @@
                             partNo: this.editParts.number,
                             partName: this.editParts.name,
                             partLife: this.editParts.life,
-                            mouldId: this.detailId
+                            mouldId: this.detailId,
+                            id: this.editParts.id
                         },
                         res => {
                             this.editLoading = false;
@@ -1243,7 +1242,7 @@
             },
 
             uploadPartFile(params) {
-                this.files.push(params.file)
+                this.files.push(params.file);
                 return false;
             },
 
@@ -1280,6 +1279,80 @@
                 });
             },
 
+            //报废文件上传
+            discardUpload() {
+                if (this.files2[0] != null && this.files2[1] != null) {
+                    var form = new FormData();  
+                    form.append("file", this.files2[0]);
+                    form.append("file2", this.files2[1]);
+                    form.append("belongType", this.activeTab);
+                    form.append("mouldId", this.detailId);
+                    if (this.activeTab == 0 || this.activeTab == 1) {
+                        form.append("dwgType", this.fileType);
+                    }
+                    this.http.uploadFile( this.port.mold.moldFileUpload, form,
+                    res => {
+                        if (res.code == "ok") {
+                            this.$message({
+                                message: "上传成功",
+                                type: "success"
+                            });
+                            this.centerDialog2Visible = false;
+                            this.clearFileRecord();
+                            this.getDocument();
+                        } else {
+                            this.$message({
+                                message: res.msg,
+                                type: "error"
+                            });
+                        }
+                    },
+                    error => {
+                        this.$message({
+                            message: error,
+                            type: "error"
+                        });
+                    });
+                } else {
+                    console.log(this.files2);
+                    this.$message({
+                        message: "必须各上传一个文件",
+                        type: "error"
+                    });
+                }
+            },
+
+            //清理报废文档上传窗口中的文件
+            clearFileRecord() {
+                this.centerDialog2Visible = false;
+                this.$refs.upload1.clearFiles();
+                this.$refs.upload2.clearFiles();
+                this.files2[0] = null;
+                this.files2[1] = null;
+            },
+
+            //报废的申请单上传
+            uploadDiscardFile1(params){
+                this.files2[0] = params.file;
+                return false;
+            },
+
+            //报废的报废单上传
+            uploadDiscardFile2(params){
+                this.files2[1] = params.file;
+                return false;
+            },
+
+            //报废的申请单移除
+            beforeRemove1(params) {
+                this.files2[0] = null;
+            },
+
+            //报废的报废单移除
+            beforeRemove2(params) {
+                this.files2[0] = null;
+            },
+
             //获取操作记录
             getOperationRecord(type) {
                 this.http.post( this.port.mold.moldOperationList, { 

+ 5 - 2
ys_vue/src/views/mold/moldDownload.vue

@@ -39,7 +39,11 @@
     >
       <el-table-column type="selection" width="40"></el-table-column>
       <el-table-column type="index" width="60"></el-table-column>
-      <el-table-column width="200" label="模具名称" prop="modelName"></el-table-column>
+      <el-table-column width="200" label="模具名称">
+        <template slot-scope="scope">
+            <router-link :to="'/moldList/' + scope.row.id" tag="span" style="color: #409eff;cursor: pointer;">{{scope.row.modelName}}</router-link>
+        </template>
+      </el-table-column>
       <el-table-column width="200" label="模具3D图档">
         <template slot-scope="scope">
           <span v-if="scope.row.mould3DFiles.length == 0">未上传</span>
@@ -172,7 +176,6 @@ export default {
               file.sparepart3DFilesState = sparepart3DFilesState;
               file.maintainFilesState = maintainFilesState;
             });
-            // console.log(this.documents);
           } else {
             this.$message({
               message: res.msg,

+ 23 - 0
ys_vue/src/views/mold/moldList.vue

@@ -251,6 +251,27 @@
                     });
                 });
             },
+            //超级管理员获取项目列表
+            getMsg2(){
+                this.http.post( this.port.project.projects, {},
+                res => {
+                    if (res.code == "ok") {
+                        this.projects = res.data;
+                    } else {
+                        this.$message({
+                            message: res.msg,
+                            type: "error"
+                        });
+                    }
+                },
+                error => {
+                    this.listLoading = false;
+                    this.$message({
+                        message: error,
+                        type: "error"
+                    });
+                });
+            },
             //分页
             handleCurrentChange(val) {
                 this.page = val;
@@ -407,6 +428,8 @@
         mounted() {
             if(this.user.id != 1){
                 this.getMsg();
+            }else{
+                this.getMsg2();
             }
             this.getMoldList();
         }

+ 51 - 19
ys_vue/src/views/project/staff.vue

@@ -6,7 +6,7 @@
                 <el-col :span="3">
                     <el-form-item>
                         <el-select v-model="filters.companyId" clearable filterable placeholder="请选择公司">
-                            <el-option v-for="item in company" :key="item.id" :label="item.companyName" :value="item.id">
+                            <el-option v-for="item in allCompanies" :key="item.id" :label="item.companyName" :value="item.id">
                             </el-option>
                         </el-select>
                     </el-form-item>
@@ -34,8 +34,8 @@
 		<!--列表-->
 		<el-table :data="list" highlight-current-row :height="tableHeight" v-loading="listLoading" style="width: 100%;">
 			<el-table-column type="index" width="60"></el-table-column>
-			<el-table-column prop="username" label="姓名" width="120" align="center" sortable></el-table-column>
-			<el-table-column prop="account" label="手机号(登录账号)" align="center" width="180" sortable></el-table-column>
+			<el-table-column prop="username" label="姓名" width="120" sortable></el-table-column>
+			<el-table-column prop="account" label="手机号" width="180" sortable></el-table-column>
 			<!-- <el-table-column prop="mobile" label="联系方式" width="150" sortable></el-table-column> -->
             <el-table-column prop="projects" label="参与项目" sortable>
                 <template slot-scope="scope">
@@ -162,6 +162,8 @@
                 user: JSON.parse(sessionStorage.getItem('user')),
                 company: [],
                 projects: [],
+                //搜索用 涉及到的所有公司
+                allCompanies: [],
 
 				list: [],
 				total: 0,
@@ -220,12 +222,37 @@
 			}
 		},
 		methods: {
-            // 获取基础数据
+            //获取基础数据
             getMsg(){
                 this.http.post(this.port.project.projectByUser, {}, 
                 res => {
                     if (res.code == "ok") {
                         this.projects = res.data;
+                        //再获取一下公司列表
+                        this.getAllCompanies();
+                    } else {
+                        this.$message({
+                            message: res.msg,
+                            type: 'error'
+                        });
+                    }
+                }, error => {
+                    this.$message({
+                        message: error,
+                        type: 'error'
+                    });
+                });
+            },
+
+            //获取所有公司
+            getAllCompanies(){
+                this.allCompanies = [];
+                this.http.post(this.port.base.companys, {
+                    id: this.user.id,
+                    parentId: this.user.parentId
+                }, res => {
+                    if (res.code == "ok") {
+                        this.allCompanies = res.data;
                     } else {
                         this.$message({
                             message: res.msg,
@@ -240,7 +267,7 @@
                 })
             },
 
-            //  分页
+            //分页
 			handleCurrentChange(val) {
 				this.page = val;
 				this.getUsers();
@@ -410,23 +437,28 @@
             
             //修改
             choseProject() {
-                this.http.post(this.port.base.getCompanyByPro, {
-                    projectId: this.addForm.projectIds
-                }, res => {
-                    if (res.code == "ok") {
-                        this.company = res.data;
-                    } else {
+                if(this.addForm.projectIds == ""){
+                    this.company = [];
+                    this.addForm.companyId = null;
+                }else{
+                    this.http.post(this.port.base.getCompanyByPro, {
+                        projectId: this.addForm.projectIds
+                    }, res => {
+                        if (res.code == "ok") {
+                            this.company = res.data;
+                        } else {
+                            this.$message({
+                                message: res.msg,
+                                type: 'error'
+                            });
+                        }
+                    }, error => {
                         this.$message({
-                            message: res.msg,
+                            message: error,
                             type: 'error'
                         });
-                    }
-                }, error => {
-                    this.$message({
-                        message: error,
-                        type: 'error'
-                    });
-                })
+                    })
+                }
             },
 
             //邀请