浏览代码

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

5 年之前
父节点
当前提交
70822b64c5

+ 10 - 3
ys_vue/src/port.js

@@ -18,6 +18,8 @@ export default {
         uploadFile: '/projectfile/uploadFile', //项目文档的上传
         dowloadFile: '/projectfile/dowloadFile', //项目文档的下载
         fileList: '/projectfile/list', //项目文档列表
+        delFile: '/projectfile/delFile', //项目文档的删除
+        operList: '/projectoperationdynamics/list', //项目操作记录列表
 
         getUserList: '/user/getUserList', //获取用户列表
         getUserById: '/user/getUserListByCompanyIds', // 给项目分配参与人的时候根据公司id获取公司下的人员
@@ -29,6 +31,10 @@ export default {
         molds: '/mould/list', //模具列表
         modelList: '/mould/modelList', //给项目分配模具获取该公司下的模具列表
         moldDetail: '/mould/detail', //模具详情
+        moldFileList: '/mouldfile/list', //获取模具文档*
+        moldFileListAll: '/mouldfile/allList', //获取全部模具文档
+        moldFileUpload: '/mouldfile/uploadFile', //上传模具文档*
+        moldFileCheck: '/mouldfile/check' //审批模具文档
     },
     // 基础管理
     base: {
@@ -38,13 +44,14 @@ export default {
         roles: '/user/getRoleList', //获取角色列表
 
         addCompany: '/company/add',  //(公司)
-        companyList: '/company/list', 
-        delCompany: '/company/delete', 
+        companyList: '/company/list',
+        delCompany: '/company/delete',
         companys: '/company/getCompanyList', //创建账号是所获取的公司列表
         comps: '/company/getCompanys', //创建模具获取的(资产方)公司列表
+        addCompanyListToProject: '/company/addCompanyListToProject', //项目分配生产方公司列表
 
         addFactory: '/factory/add',  //(工厂)
-        factoryList: '/factory/list', 
+        factoryList: '/factory/list',
         delFactory: '/factory/delete',
 
         editMould: '/mouldequipment/addOrUpdate', //添加/修改模具设备

+ 528 - 237
ys_vue/src/views/mold/moldDetail.vue

@@ -1,264 +1,555 @@
 <template>
-    <section>
-        <!--工具条-->
-        <el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
-            <el-form :inline="true">
-                <el-form-item>
-                    <el-button type="text" @click="backToList" icon="el-icon-back" class="back">返回</el-button>
-                </el-form-item>
-                <el-form-item class="divLine">
-                </el-form-item>
-                <el-form-item>
-                    <span class="projectTitle">{{moldDetail.modelName}}</span>
-                </el-form-item>
-                <el-form-item class="state">
-                      当前状态:
-                      <a style="color: #409EFF; cursor: pointer" @click="toDetection">运行</a>
-                      <span class="tips">(点击查看运行状态)</span>
-                </el-form-item>
-            </el-form>
+  <section>
+    <!--工具条-->
+    <el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
+      <el-form :inline="true">
+        <el-form-item>
+          <el-button type="text" @click="backToList" icon="el-icon-back" class="back">返回</el-button>
+        </el-form-item>
+        <el-form-item class="divLine"></el-form-item>
+        <el-form-item>
+          <span class="projectTitle">{{moldDetail.modelName}}</span>
+        </el-form-item>
+        <el-form-item class="state">
+          当前状态:
+          <a style="color: #409EFF; cursor: pointer" @click="toDetection">运行</a>
+          <span class="tips">(点击查看运行状态)</span>
+        </el-form-item>
+      </el-form>
+    </el-col>
+    <el-col :span="24" :style="allDetail">
+      <el-col :span="24" class="title">
+        模具基本信息
+        <i class="el-icon-edit editDetail"></i>
+      </el-col>
+      <el-col :span="24" class="main">
+        <el-col :span="6" class="detail">
+          模具名称:
+          <span class="info">{{moldDetail.modelName}}</span>
         </el-col>
-        <el-col :span="24" :style="allDetail">
-            <el-col :span="24" class="title">模具基本信息
-                <i class="el-icon-edit editDetail"></i>
-            </el-col>
-            <el-col :span="24" class="main">
-                <el-col :span="6" class="detail">
-                    模具名称:
-                    <span class="info">{{moldDetail.modelName}}</span>
-                </el-col>
-                <el-col :span="6" class="detail">
-                    模具编号:
-                    <span class="info">{{moldDetail.modelNo}}</span>
-                </el-col>
-                <el-col :span="6" class="detail">
-                    云模盒编号:
-                    <span class="info">{{moldDetail.equipmentNo}}</span>
-                </el-col>
-                <el-col :span="6" class="detail">
-                    设备电量:
-                    <span class="info">{{moldDetail.hillNumber}}</span>
-                </el-col>
-                <el-col :span="6" class="detail">
-                    倒计时:
-                    <span class="info">{{moldDetail.lifetime}}</span>
-                </el-col>
-                <el-col :span="6" class="detail">
-                    初始模次:
-                    <span class="info">{{moldDetail.initialModulus}}</span>
-                </el-col>
-                <el-col :span="6" class="detail">
-                    对应RFID码:
-                    <span class="info">{{moldDetail.rfid}}</span>
-                </el-col>
-                <el-col :span="6" class="detail">
-                    穴数:
-                    <span class="info">{{moldDetail.mouldNumber}}</span>
-                </el-col>
-                <el-col :span="6" class="detail">
-                    模次寿命:
-                    <span class="info">{{moldDetail.settingLife}}</span>
-                </el-col>
-                <el-col :span="12" class="detail">
-                    所属项目:
-                    <span class="info">{{moldDetail.manufacturer}}</span>
-                </el-col>
-                <el-col :span="12" class="detail">
-                    生产方:
-                    <span class="info">{{moldDetail.companyName}}</span>
-                </el-col>
-            </el-col>
+        <el-col :span="6" class="detail">
+          模具编号:
+          <span class="info">{{moldDetail.modelNo}}</span>
+        </el-col>
+        <el-col :span="6" class="detail">
+          云模盒编号:
+          <span class="info">{{moldDetail.equipmentNo}}</span>
+        </el-col>
+        <el-col :span="6" class="detail">
+          设备电量:
+          <span class="info">{{moldDetail.hillNumber}}</span>
+        </el-col>
+        <el-col :span="6" class="detail">
+          倒计时:
+          <span class="info">{{moldDetail.ocCycle}}</span>
+        </el-col>
+        <el-col :span="6" class="detail">
+          初始模次:
+          <span class="info">{{moldDetail.initialModulus}}</span>
+        </el-col>
+        <el-col :span="6" class="detail">
+          对应RFID码:
+          <span class="info">{{moldDetail.rfid}}</span>
+        </el-col>
+        <el-col :span="6" class="detail">
+          穴数:
+          <span class="info">N/A</span>
+        </el-col>
+        <el-col :span="6" class="detail">
+          模次寿命:
+          <span class="info">{{moldDetail.settingLife}}</span>
+        </el-col>
+        <el-col :span="12" class="detail">
+          所属项目:
+          <span class="info">{{moldDetail.projectName}}</span>
+        </el-col>
+        <el-col :span="12" class="detail">
+          生产方:
+          <span class="info">{{moldDetail.factoryName}}</span>
+        </el-col>
+      </el-col>
 
-            <el-col :span="24" class="title">文档资料
-                <el-upload class="upload-demo" action="customize" :http-request="uploadFile" :show-file-list="false" multiple :limit="5" style="float:right;">
-                    <el-button size="small" type="primary">点击上传</el-button>
-                </el-upload>
-            </el-col>
-            <el-col :span="24">
-                <el-tabs v-model="activePage" @tab-click="handleClick">
-                    <el-tab-pane label="模具文档" name="0">
-                    <el-table :data="documents" highlight-current-row v-loading="listLoading" style="width: 100%;height:300px;">
-                        <el-table-column type="index" width="40"></el-table-column>
-                        <el-table-column prop="name" label="名称" sortable></el-table-column>
-                        <el-table-column prop="size" label="大小" width="200" sortable></el-table-column>
-                        <el-table-column prop="uploader" label="上传者" width="200" sortable></el-table-column>
-                        <el-table-column prop="uploadTime" label="上传时间" width="200" sortable></el-table-column>
-                        <el-table-column label="状态" width="120" sortable>
-                            <template slot-scope="scope">
-                                <span v-if="scope.row.state == 0">需要</span>
-                                <span v-else>不需要</span>
-                            </template>
-                        </el-table-column>
-                        <el-table-column label="操作" width="300" sortable>
-                            <el-button size="small">审批</el-button>
-                            <el-button size="small">浏览</el-button>
-                            <el-button size="small">下载</el-button>
-                            <el-button size="small" type="danger">删除</el-button>
-                        </el-table-column>
-                    </el-table>
-                    </el-tab-pane>
-                    <el-tab-pane label="零件文档" name="1">零件文档</el-tab-pane>
-                    <el-tab-pane label="试模及验收" name="2">试模及验收</el-tab-pane>
-                    <el-tab-pane label="保养方案" name="3">保养方案</el-tab-pane>
-                    <el-tab-pane label="模具更新" name="4">模具更新</el-tab-pane>
-                    <el-tab-pane label="模具报废" name="5">模具报废</el-tab-pane>
-                </el-tabs>
-            </el-col>
+      <el-col :span="24" class="title">
+        文档资料
+        <el-upload
+          class="upload-demo"
+          action="customize"
+          :http-request="uploadFile"
+          :show-file-list="false"
+          multiple
+          :limit="5"
+          style="float:right;"
+        >
+          <el-button size="small" type="primary">点击上传</el-button>
+        </el-upload>
+      </el-col>
+      <el-col :span="24">
+        <el-tabs v-model="activePage" @tab-click="handleClick">
+          <!-- 模具文档 -->
+          <el-tab-pane label="模具文档" name="0">
+            <el-table
+              :data="documents.mould"
+              highlight-current-row
+              v-loading="listLoading"
+              style="width: 100%;height:300px;"
+            >
+              <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="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>
+                <template slot-scope="scope">
+                  <span v-if="scope.row.state == 0">需要</span>
+                  <span v-else>不需要</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="操作" width="200" sortable>
+                <template slot-scope="scope">
+                  <el-button size="small" @click="checkOpen(scope.row.id, scope.row.fileName)">审批</el-button>
+                  <a :href="scope.row.fileUrl">
+                    <el-button size="small" @click="download(scope.row.id)">下载</el-button>
+                  </a>
+                  <el-button size="small" type="danger">删除</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-tab-pane>
 
-            <el-col :span="24" class="title">操作记录</el-col>
-            <el-table :data="operations" highlight-current-row v-loading="listLoading" style="width: 100%;height:300px;">
-                <el-table-column type="index" width="40"></el-table-column>
-                <el-table-column prop="name" label="姓名" width="400" sortable></el-table-column>
-                <el-table-column prop="document" label="文档名称" sortable></el-table-column>
-                <el-table-column label="操作" width="400" sortable>
-                    <template slot-scope="scope">
-                        <span v-if="scope.row.operations == 0">浏览</span>
-                        <span v-else-if="scope.row.operations == 1">下载</span>
-                        <span v-else>删除</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="time" label="时间" width="400" sortable></el-table-column>
+          <!-- 零件文档 -->
+          <el-tab-pane label="零件文档" name="1">
+            <el-table
+              :data="documents.part"
+              highlight-current-row
+              v-loading="listLoading"
+              style="width: 100%;height:300px;"
+            >
+              <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="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>
+                <template slot-scope="scope">
+                  <span v-if="scope.row.state == 0">需要</span>
+                  <span v-else>不需要</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="操作" width="300" sortable>
+                <template slot-scope="scope">
+                  <el-button size="small" @click="checkOpen(scope.row.id, scope.row.fileName)">审批</el-button>
+                  <el-button size="small">浏览</el-button>
+                  <el-button size="small" @click="download(scope.row.fileUrl)">下载</el-button>
+                  <el-button size="small" type="danger">删除</el-button>
+                </template>
+              </el-table-column>
             </el-table>
-        </el-col>
-    </section>
+          </el-tab-pane>
+
+          <!-- 试模及验收 -->
+          <el-tab-pane label="试模及验收" name="2">
+            <el-table
+              :data="documents.check"
+              highlight-current-row
+              v-loading="listLoading"
+              style="width: 100%;height:300px;"
+            >
+              <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="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>
+                <template slot-scope="scope">
+                  <span v-if="scope.row.state == 0">需要</span>
+                  <span v-else>不需要</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="操作" width="300" sortable>
+                <template slot-scope="scope">
+                  <el-button size="small" @click="checkOpen(scope.row.id, scope.row.fileName)">审批</el-button>
+                  <el-button size="small">浏览</el-button>
+                  <el-button size="small" @click="download(scope.row.fileUrl)">下载</el-button>
+                  <el-button size="small" type="danger">删除</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-tab-pane>
+
+          <!-- 保养方案 -->
+          <el-tab-pane label="保养方案" name="3">
+            <el-table
+              :data="documents.maintain"
+              highlight-current-row
+              v-loading="listLoading"
+              style="width: 100%;height:300px;"
+            >
+              <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="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>
+                <template slot-scope="scope">
+                  <span v-if="scope.row.state == 0">需要</span>
+                  <span v-else>不需要</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="操作" width="300" sortable>
+                <template slot-scope="scope">
+                  <el-button size="small" @click="checkOpen(scope.row.id, scope.row.fileName)">审批</el-button>
+                  <el-button size="small">浏览</el-button>
+                  <el-button size="small" @click="download(scope.row.fileUrl)">下载</el-button>
+                  <el-button size="small" type="danger">删除</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-tab-pane>
+
+          <!-- 模具更新 -->
+          <el-tab-pane label="模具更新" name="4">
+            <el-table
+              :data="documents.update"
+              highlight-current-row
+              v-loading="listLoading"
+              style="width: 100%;height:300px;"
+            >
+              <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="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>
+                <template slot-scope="scope">
+                  <span v-if="scope.row.state == 0">需要</span>
+                  <span v-else>不需要</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="操作" width="300" sortable>
+                <template slot-scope="scope">
+                  <el-button size="small" @click="checkOpen(scope.row.id, scope.row.fileName)">审批</el-button>
+                  <el-button size="small">浏览</el-button>
+                  <el-button size="small" @click="download(scope.row.fileUrl)">下载</el-button>
+                  <el-button size="small" type="danger">删除</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-tab-pane>
+
+          <!-- 模具报废 -->
+          <el-tab-pane label="模具报废" name="5">
+            <el-table
+              :data="documents.abandon"
+              highlight-current-row
+              v-loading="listLoading"
+              style="width: 100%;height:300px;"
+            >
+              <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="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>
+                <template slot-scope="scope">
+                  <span v-if="scope.row.state == 0">需要</span>
+                  <span v-else>不需要</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="操作" width="300" sortable>
+                <template slot-scope="scope">
+                  <el-button size="small" @click="checkOpen(scope.row.id, scope.row.fileName)">审批</el-button>
+                  <el-button size="small">浏览</el-button>
+                  <el-button size="small" @click="download(scope.row.fileUrl)">下载</el-button>
+                  <el-button size="small" type="danger">删除</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-tab-pane>
+        </el-tabs>
+      </el-col>
+
+      <!-- 操作记录 -->
+      <el-col :span="24" class="title">操作记录</el-col>
+      <el-table
+        :data="operations"
+        highlight-current-row
+        v-loading="listLoading"
+        style="width: 100%;height:300px;"
+      >
+        <el-table-column type="index" width="40"></el-table-column>
+        <el-table-column prop="name" label="姓名" width="400" sortable></el-table-column>
+        <el-table-column prop="document" label="文档名称" sortable></el-table-column>
+        <el-table-column label="操作" width="400" sortable>
+          <template slot-scope="scope">
+            <span v-if="scope.row.operation == 0">浏览</span>
+            <span v-else-if="scope.row.operation == 1">下载</span>
+            <span v-else>删除</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="time" label="时间" width="400" sortable></el-table-column>
+      </el-table>
+    </el-col>
+
+    <!-- 审批弹窗 -->
+    <el-dialog title="审批" :visible.sync="centerDialogVisible" width="30%" center>
+      <span>{{this.activeFileName}}</span>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="check(false)">不通过</el-button>
+        <el-button type="primary" @click="check(true)">通过</el-button>
+      </span>
+    </el-dialog>
+  </section>
 </template>
 
 <script>
-    import util from "../../common/js/util";
-    export default {
-        data() {
-            return {
-                detailId: this.$route.params.id,
-                //临时数据
-                moldDetail: {},
-                documents: [
-                    {
-                    name: "墨盒产品验证文档.word",
-                    size: "100KB",
-                    uploader: "张富贵",
-                    uploadTime: "2019-07-24",
-                    state: 0
-                    }
-                ],
-                operations: [
-                    {
-                    name: "王多银",
-                    document: "墨盒产品验证文档.word",
-                    operation: 0,
-                    time: "时间"
-                    }
-                ],
-
-                allDetail: {
-                    overflow: 'auto',
-                    padding: '0px 5px',
-                    height: 0
-                },
-                listLoading: false,
-                activePage: 0
-            };
+import util from "../../common/js/util";
+export default {
+  data() {
+    return {
+      detailId: this.$route.params.id,
+      moldDetail: {},
+      documents: {
+        mould: [],
+        part: [],
+        check: [],
+        maintain: [],
+        update: [],
+        abandon: []
+      },
+      //临时数据
+      operations: [
+        {
+          name: "王多银",
+          document: "墨盒产品验证文档.word",
+          operation: 0,
+          time: "时间"
+        }
+      ],
+      allDetail: {
+        overflow: "auto",
+        padding: "0px 5px",
+        height: 0
+      },
+      centerDialogVisible: false,
+      listLoading: false,
+      activeTab: 0,
+      activePage: 0,
+      activeArticleId: null,
+      activeFileName: null
+    };
+  },
+  methods: {
+    backToList() {
+      this.$router.go(-1);
+    },
+    toDetection() {
+      this.$router.push("/detection");
+    },
+    //标签页面切换时
+    handleClick(tab, event) {
+      this.activeTab = tab.name;
+    },
+    //模具详情
+    getDetail() {
+      this.http.post(
+        this.port.mold.moldDetail,
+        {
+          id: this.detailId
+        },
+        res => {
+          if (res.code == "ok") {
+            this.moldDetail = res.data;
+          } else {
+            this.$message({
+              message: res.msg,
+              type: "error"
+            });
+          }
         },
-        methods: {
-            backToList() {
-                //this.$router.push("/moldList");
-                this.$router.go(-1);
-            },
-            toDetection(){
-                this.$router.push("/detection");
-            },
-            handleClick(tab, event) {
-            },
-            // 模具详情
-            getDetail() {
-                this.listLoading = true;
-                this.http.post(this.port.mold.moldDetail, {
-                    id: this.detailId
-                }, res => {
-                    if (res.code == "ok") {
-                        this.moldDetail = res.data;
-                    } else {
-                        this.$message({
-                            message: res.msg,
-                            type: 'error'
-                        });
-                    }
-                }, error => {
-                    this.$message({
-                        message: error,
-                        type: 'error'
-                    });
-                })
-            },
-            // 文件上传
-            uploadFile() {}
+        error => {
+          this.$message({
+            message: error,
+            type: "error"
+          });
+        }
+      );
+    },
+    //获取文档
+    getDocument() {
+      this.http.post(
+        this.port.mold.moldFileListAll,
+        {
+          mouldId: this.detailId
         },
-        created() {
-            let height = window.innerHeight;
-            this.allDetail.height = height - 170 + "px";
-            const that = this;
-            window.onresize = function temp() {
-                that.allDetail.height = window.innerHeight - 210;    
-            };
+        res => {
+          if (res.code == "ok") {
+            this.documents.mould = res.data[0].list;
+            this.documents.part = res.data[1].list;
+            this.documents.check = res.data[2].list;
+            this.documents.maintain = res.data[3].list;
+            this.documents.update = res.data[4].list;
+            this.documents.abandon = res.data[5].list;
+          } else {
+            this.$message({
+              message: res.msg,
+              type: "error"
+            });
+          }
         },
-        mounted() {
-            this.getDetail();
+        error => {
+          this.$message({
+            message: error,
+            type: "error"
+          });
         }
+      );
+    },
+    //打开审批窗口
+    checkOpen(id, name) {
+      this.activeArticleId = id;
+      this.activeFileName = name;
+      this.centerDialogVisible = true;
+    },
+    //审批
+    check(adoption) {
+      this.http.post(
+        this.port.mold.moldFileCheck,
+        {
+          mouldFileId: this.activeArticleId,
+          isPass: adoption ? 1 : 0 //通过为1 不通过为0
+        },
+        res => {
+          if (res.code == "ok") {
+            this.$message({
+              message: "审批成功",
+              type: "success"
+            });
+          } else {
+            this.$message({
+              message: res.msg,
+              type: "error"
+            });
+          }
+        },
+        error => {
+          this.$message({
+            message: error,
+            type: "error"
+          });
+        }
+      );
+      this.centerDialogVisible = false;
+    },
+    //下载文件
+    download(id) {
+      console.log(id + "被下载啦");
+    },
+    //文件上传
+    uploadFile(params) {
+      var fileObj = params.file;
+      var form = new FormData();
+      form.append("file", fileObj);
+      form.append("blongType", this.activeTab);
+      this.http.uploadFile(
+        this.port.mold.moldFileUpload,
+        form,
+        res => {
+          if (res.code == "ok") {
+            this.$message({
+              message: "上传成功",
+              type: "success"
+            });
+            this.getDocument();
+          } else {
+            this.$message({
+              message: res.msg,
+              type: "error"
+            });
+          }
+        },
+        error => {
+          this.$message({
+            message: error,
+            type: "error"
+          });
+        }
+      );
+    }
+  },
+  created() {
+    let height = window.innerHeight;
+    this.allDetail.height = height - 170 + "px";
+    const that = this;
+    window.onresize = function temp() {
+      that.allDetail.height = window.innerHeight - 210;
     };
+  },
+  mounted() {
+    this.getDetail();
+    this.getDocument();
+  }
+};
 </script>
 
 <style scoped>
-    .toolbar .el-form-item {
-        font-size: 14px;
-        vertical-align: middle;
-    }
+.toolbar .el-form-item {
+  font-size: 14px;
+  vertical-align: middle;
+}
 
-    .back {
-       font-size:16px;
-    }
+.back {
+  font-size: 16px;
+}
 
-    .divLine {
-        width: 2px;
-        background: #c3c3c3;
-        height: 100%;
-    }
+.divLine {
+  width: 2px;
+  background: #c3c3c3;
+  height: 100%;
+}
 
-    .projectTitle {
-        font-size: 18px;
-        color: #333;
-    }
+.projectTitle {
+  font-size: 18px;
+  color: #333;
+}
 
-    .state {
-        float: right;
-    }
+.state {
+  float: right;
+}
 
-    .tips {
-        color:#bbb;
-    }
+.tips {
+  color: #bbb;
+}
 
-    .title {
-        padding-left: 10px;
-        padding-bottom: 0px;
-        margin: 20px 0;
-        font-size: 16px;
-        line-height: 24px;
-        border-left: 1px #20a0ff solid;
-    }
+.title {
+  padding-left: 10px;
+  padding-bottom: 0px;
+  margin: 20px 0;
+  font-size: 16px;
+  line-height: 24px;
+  border-left: 1px #20a0ff solid;
+}
 
-    .editDetail {
-        margin-left: 10px;
-        color:#20a0ff;
-        cursor: pointer;
-    }
+.editDetail {
+  margin-left: 10px;
+  color: #20a0ff;
+  cursor: pointer;
+}
 
-    .info {
-        color: grey;
-    }
+.info {
+  color: grey;
+}
 
-    .main {
-        padding-left: 10px;
-    }
+.main {
+  padding-left: 10px;
+}
 
-    .detail {
-        margin-bottom: 20px;
-    }
+.detail {
+  margin-bottom: 20px;
+}
+
+/* .upload-demo {
+  position: absolute;
+  right: 0;
+  top: -5px;
+} */
 </style>

+ 1 - 1
ys_vue/src/views/mold/moldDownload.vue

@@ -142,7 +142,7 @@ export default {
       row.forEach(item => {
         this.selectedArray.push(item.id);
       });
-      console.log(this.selectedArray);
+      // console.log(this.selectedArray);
     },
     //下载
     download(type) {

+ 70 - 1
ys_vue/src/views/mold/moldFile.vue

@@ -19,7 +19,17 @@
           <el-button type="primary">查询</el-button>
         </el-form-item>
         <el-form-item style="float: right;">
-          <el-button type="primary">上传文档</el-button>
+          <el-upload
+            class="upload-demo"
+            action="customize"
+            :http-request="uploadFile"
+            :show-file-list="false"
+            multiple
+            :limit="5"
+            style="float:right;"
+          >
+            <el-button size="small" type="primary">上传文档</el-button>
+          </el-upload>
         </el-form-item>
       </el-form>
     </el-col>
@@ -115,6 +125,65 @@ export default {
     },
     toMaintenance(id) {
       this.$router.push("/detection/" + id);
+    },
+    //上传
+    uploadFile(params) {
+      // var fileObj = params.file;
+      // var form = new FormData();
+      // form.append("projectId", this.proDetail.id);
+      // form.append("file", fileObj);
+      // this.http.uploadFile(
+      //   this.port.mold.moldFileUpload,
+      //   form,
+      //   res => {
+      //     if (res.code == "ok") {
+      //       this.$message({
+      //         message: "上传成功",
+      //         type: "success"
+      //       });
+      //       this.getFileList();
+      //     } else {
+      //       this.$message({
+      //         message: res.msg,
+      //         type: "error"
+      //       });
+      //     }
+      //   },
+      //   error => {
+      //     this.$message({
+      //       message: error,
+      //       type: "error"
+      //     });
+      //   }
+      // );
+    },
+    //获取文档列表
+    getFileList() {
+      this.listLoading = true;
+      this.http.post(
+        this.port.project.fileList,
+        {
+          projectId: this.detailId
+        },
+        res => {
+          this.listLoading = false;
+          if (res.code == "ok") {
+            this.files = res.data;
+          } else {
+            this.$message({
+              message: res.msg,
+              type: "error"
+            });
+          }
+        },
+        error => {
+          this.listLoading = false;
+          this.$message({
+            message: error,
+            type: "error"
+          });
+        }
+      );
     }
   },
   created() {

+ 323 - 266
ys_vue/src/views/mold/moldList.vue

@@ -2,296 +2,353 @@
   <section>
     <!--工具条-->
     <el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
-        <el-form :inline="true" :model="filters">
-            <el-col :span="3">
-                <el-form-item>
-                    <el-select v-model="filters.projectId" clearable placeholder="请选择项目">
-                         <el-option v-for="item in projects" :key="item.id" :label="item.projectName" :value="item.id">
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-            </el-col>
-            <el-col :span="3">
-                <el-form-item>
-                    <el-select v-model="filters.serchType" placeholder="请选择查询条件">
-                        <el-option label="编号" value="0"></el-option>
-                        <el-option label="名称" value="1"></el-option>
-                    </el-select>
-                </el-form-item>
-            </el-col>
-            <el-form-item>
-                <el-input v-model="filters.keyName" placeholder="请输入编号或名称进行搜索"></el-input>
-            </el-form-item>
-            <el-form-item>
-                <el-button type="primary" @click="getMoldList">查询</el-button>
-            </el-form-item>
-            <el-form-item style="float: right" v-if="user.parentId == 1">
-                <el-button type="primary" @click="showAdd">新建</el-button>
-            </el-form-item>
-        </el-form>
+      <el-form :inline="true" :model="filters">
+        <el-col :span="3">
+          <el-form-item>
+            <el-select v-model="filters.projectId" clearable placeholder="请选择项目">
+              <el-option
+                v-for="item in projects"
+                :key="item.id"
+                :label="item.projectName"
+                :value="item.id"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="3">
+          <el-form-item>
+            <el-select v-model="filters.serchType" placeholder="请选择查询条件">
+              <el-option label="编号" value="0"></el-option>
+              <el-option label="名称" value="1"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-form-item>
+          <el-input v-model="filters.keyName" placeholder="请输入编号或名称进行搜索"></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="getMoldList">查询</el-button>
+        </el-form-item>
+        <el-form-item style="float: right" v-if="user.parentId == 1">
+          <el-button type="primary" @click="showAdd">新建</el-button>
+        </el-form-item>
+      </el-form>
     </el-col>
 
     <!--列表-->
-    <el-table :data="molds" :height="tableHeight" highlight-current-row v-loading="listLoading" style="width: 100%;">
-        <el-table-column type="index" width="40"></el-table-column>
-        <el-table-column prop="modelName" label="模具名称" width="180" sortable>
-            <template slot-scope="scope">
-                <el-link :underline="false" type="primary" @click="toDetail(scope.row)">{{scope.row.modelName}}</el-link>
-            </template>
-        </el-table-column>
-        <el-table-column prop="modelNo" label="模具编号" width="150" sortable></el-table-column>
-        <el-table-column prop="equipmentNo" label="云模盒编号" width="150" sortable></el-table-column>
-        <el-table-column prop="hillNumber" label="电量" align="center" width="100" sortable></el-table-column>
-        <el-table-column prop="projectName" label="所属项目" width="180" sortable></el-table-column>
-        <el-table-column label="所属资产方" width="200" sortable></el-table-column>
-        <el-table-column label="所属生产方" width="200" sortable></el-table-column>
-        <el-table-column prop="settingLife" label="模次寿命" width="100" align="center" sortable></el-table-column>
-        <el-table-column prop="initialModulus" label="初始模次" width="100" align="center" sortable></el-table-column>
-        <el-table-column prop="initial" label="穴数" width="100" align="center" sortable></el-table-column>
-        <el-table-column prop="rfid" label="对应RFID码" width="120" align="center" sortable></el-table-column>
-        <el-table-column label="模具文档" width="100" align="center" sortable>
-            <template slot-scope="scope">
-                <span v-if="scope.row.mouldFile == 1">已上传</span>
-                <span v-else>未上传</span>
-            </template>
-        </el-table-column>
-        <el-table-column label="零件文档" width="100" align="center" sortable>
-            <template slot-scope="scope">
-            <span v-if="scope.row.compFile == 1">已上传</span>
-            <span v-else>未上传</span>
-            </template>
-        </el-table-column>
-        <el-table-column label="保养方案" width="100" align="center" sortable>
-            <template slot-scope="scope">
-            <span v-if="scope.row.maintianPlan == 1">已上传</span>
-            <span v-else>未上传</span>
-            </template>
-        </el-table-column>
-         <el-table-column label="状态" width="100" align="center" sortable>
-            <template slot-scope="scope">
-                <span v-if="scope.row.state == 1" style="color:#00CD66;">运行</span>
-                <span v-else style="color:#CD2626;">禁止</span>
-            </template>
-        </el-table-column>
-        <el-table-column label="操作" width="150" align="center" fixed="right" sortable v-if="user.parentId == 1">
-            <template slot-scope="scope">
-                <!-- <el-button size="small" type="primary" @click="toDetail(scope.row)">详情</el-button> -->
-                <el-button size="small" type="danger">删除</el-button>
-            </template>
-        </el-table-column>
+    <el-table
+      :data="molds"
+      :height="tableHeight"
+      highlight-current-row
+      v-loading="listLoading"
+      style="width: 100%;"
+    >
+      <el-table-column type="index" width="40"></el-table-column>
+      <el-table-column prop="modelName" label="模具名称" width="180" sortable>
+        <template slot-scope="scope">
+          <el-link
+            :underline="false"
+            type="primary"
+            @click="toDetail(scope.row)"
+          >{{scope.row.modelName}}</el-link>
+        </template>
+      </el-table-column>
+      <el-table-column prop="modelNo" label="模具编号" width="150" sortable></el-table-column>
+      <el-table-column prop="equipmentNo" label="云模盒编号" width="150" sortable></el-table-column>
+      <el-table-column prop="hillNumber" label="电量" align="center" width="100" sortable></el-table-column>
+      <el-table-column prop="projectName" label="所属项目" width="180" sortable></el-table-column>
+      <el-table-column label="所属资产方" width="200" sortable></el-table-column>
+      <el-table-column label="所属生产方" width="200" sortable></el-table-column>
+      <el-table-column prop="settingLife" label="模次寿命" width="100" align="center" sortable></el-table-column>
+      <el-table-column prop="initialModulus" label="初始模次" width="100" align="center" sortable></el-table-column>
+      <el-table-column prop="initial" label="穴数" width="100" align="center" sortable></el-table-column>
+      <el-table-column prop="rfid" label="对应RFID码" width="120" align="center" sortable></el-table-column>
+      <el-table-column label="模具文档" width="100" align="center" sortable>
+        <template slot-scope="scope">
+          <span v-if="scope.row.mouldFile == 1">已上传</span>
+          <span v-else>未上传</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="零件文档" width="100" align="center" sortable>
+        <template slot-scope="scope">
+          <span v-if="scope.row.compFile == 1">已上传</span>
+          <span v-else>未上传</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="保养方案" width="100" align="center" sortable>
+        <template slot-scope="scope">
+          <span v-if="scope.row.maintianPlan == 1">已上传</span>
+          <span v-else>未上传</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="状态" width="100" align="center" sortable>
+        <template slot-scope="scope">
+          <span v-if="scope.row.state == 1" style="color:#00CD66;">运行</span>
+          <span v-else style="color:#CD2626;">禁止</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="操作"
+        width="150"
+        align="center"
+        fixed="right"
+        sortable
+        v-if="user.parentId == 1"
+      >
+        <el-button size="small" type="danger">删除</el-button>
+      </el-table-column>
     </el-table>
 
     <!--工具条-->
     <el-col :span="24" class="toolbar">
-        <el-pagination
-            @size-change="handleSizeChange"
-            @current-change="handleCurrentChange"
-            :page-sizes="[20 , 50 , 80 , 100]"
-            :page-size="20"
-            layout="total, sizes, prev, pager, next"
-            :total="total"
-            style="float:right;">
-        </el-pagination>
+      <el-pagination
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :page-sizes="[20 , 50 , 80 , 100]"
+        :page-size="20"
+        layout="total, sizes, prev, pager, next"
+        :total="total"
+        style="float:right;"
+      ></el-pagination>
     </el-col>
 
     <!--新增界面-->
-    <el-dialog title="新建模具" v-if="addFormVisible" :visible.sync="addFormVisible"  :close-on-click-modal="false" customClass="customWidth">
-        <el-form :model="addForm" label-width="100px" :rules="formRules" ref="addForm">
-            <el-form-item label="模具编号" prop="modelNo">
-                <el-input v-model="addForm.modelNo" autocomplete="off" placeholder="请输入模具编号"></el-input>
-            </el-form-item>
-            <el-form-item label="模具名称" prop="modelName">
-                <el-input v-model="addForm.modelName" autocomplete="off" placeholder="请输入模具名称"></el-input>
-            </el-form-item>
-            <el-form-item label="云模盒编号" prop="equipmentId">
-                <el-select v-model="addForm.equipmentId" clearable filterable placeholder="请选择云模盒编号" style="width:533px">
-                    <el-option v-for="item in boxes" :key="item.id" :label="item.equipmentNo" :value="item.id">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-        </el-form>
-        <div slot="footer" class="dialog-footer">
-            <el-button @click.native="addFormVisible = false">取消</el-button>
-            <el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button>
-        </div>
+    <el-dialog
+      title="新建模具"
+      v-if="addFormVisible"
+      :visible.sync="addFormVisible"
+      :close-on-click-modal="false"
+      customClass="customWidth"
+    >
+      <el-form :model="addForm" label-width="100px" :rules="formRules" ref="addForm">
+        <el-form-item label="模具编号" prop="modelNo">
+          <el-input v-model="addForm.modelNo" autocomplete="off" placeholder="请输入模具编号"></el-input>
+        </el-form-item>
+        <el-form-item label="模具名称" prop="modelName">
+          <el-input v-model="addForm.modelName" autocomplete="off" placeholder="请输入模具名称"></el-input>
+        </el-form-item>
+        <el-form-item label="云模盒编号" prop="equipmentId">
+          <el-select
+            v-model="addForm.equipmentId"
+            clearable
+            filterable
+            placeholder="请选择云模盒编号"
+            style="width:533px"
+          >
+            <el-option
+              v-for="item in boxes"
+              :key="item.id"
+              :label="item.equipmentNo"
+              :value="item.id"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click.native="addFormVisible = false">取消</el-button>
+        <el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button>
+      </div>
     </el-dialog>
   </section>
 </template>
 
 <script>
-    import util from "../../common/js/util";
-    export default {
-        data() {
-            return {
-                user: JSON.parse(sessionStorage.getItem('user')),
-                molds: [],
-                filters: {
-                    keyName: "",
-                    serchType: "编号",
-                    projectId: ""
-                },
-                
-                formRules: {
-                    modelNo: [
-                        { required: true, message: '请输入模具编号', trigger: 'blur' }
-                    ],
-                    modelName: [
-                        { required: true, message: '请输入模具名称', trigger: 'blur' }
-                    ],
-                    equipmentId: [
-                        { required: true, message: '请选择云模盒编号', trigger: ['blur','change'] }
-                    ]
-                },
-                listLoading: false,
-                total: 0,
-                tableHeight: 0,
-                boxes: [],
-                projects: [],
+import util from "../../common/js/util";
+export default {
+  data() {
+    return {
+      user: JSON.parse(sessionStorage.getItem("user")),
+      molds: [],
+      filters: {
+        keyName: "",
+        serchType: "编号",
+        projectId: ""
+      },
 
-                addLoading: false,
-                addFormVisible: false,
-                addForm: {
-                    modelNo: "",
-                    modelName: "",
-                    equipmentId: ""       
-                }
-            };
+      formRules: {
+        modelNo: [
+          { required: true, message: "请输入模具编号", trigger: "blur" }
+        ],
+        modelName: [
+          { required: true, message: "请输入模具名称", trigger: "blur" }
+        ],
+        equipmentId: [
+          {
+            required: true,
+            message: "请选择云模盒编号",
+            trigger: ["blur", "change"]
+          }
+        ]
+      },
+      listLoading: false,
+      total: 0,
+      tableHeight: 0,
+      boxes: [],
+      projects: [],
+
+      addLoading: false,
+      addFormVisible: false,
+      addForm: {
+        modelNo: "",
+        modelName: "",
+        equipmentId: ""
+      }
+    };
+  },
+  methods: {
+    getMsg() {
+      this.http.post(
+        this.port.base.moulds,
+        {
+          belongCompanyId: this.user.companyId
+        },
+        res => {
+          if (res.code == "ok") {
+            this.boxes = res.data;
+          } else {
+            this.$message({
+              message: res.msg,
+              type: "error"
+            });
+          }
         },
-        methods: {
-            getMsg() {
-                this.http.post(this.port.base.moulds, {
-                    belongCompanyId: this.user.companyId
-                }, res => {
-                    if (res.code == "ok") {
-                        this.boxes = res.data;
-                    } else {
-                        this.$message({
-                            message: res.msg,
-                            type: 'error'
-                        });
-                    }
-                }, error => {
-                    this.listLoading = false;
-                    this.$message({
-                        message: error,
-                        type: 'error'
-                    });
-                })
+        error => {
+          this.listLoading = false;
+          this.$message({
+            message: error,
+            type: "error"
+          });
+        }
+      );
 
-                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;
-                this.getMoldList();
-            },
-            handleSizeChange(val) {
-                this.size = val;
-                this.getMoldList();
-            },
+      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;
+      this.getMoldList();
+    },
+    handleSizeChange(val) {
+      this.size = val;
+      this.getMoldList();
+    },
 
-            //获取模具列表
-            getMoldList() {
-                this.listLoading = true;
-                this.http.post(this.port.mold.molds, {
-                    keyName: this.filters.keyName,
-                    pageNum: this.page,
-                    pageSize: this.size,
-                    projectId: this.filters.projectId == ""?-1:this.filters.projectId,
-                    serchType: this.filters.serchType
-                }, res => {
-                    this.listLoading = false;
-                    if (res.code == "ok") {
-                        this.molds = res.data.list;
-                        this.total = res.data.total;
-                    } else {
-                        this.$message({
-                            message: res.msg,
-                            type: 'error'
-                        });
-                    }
-                }, error => {
-                    this.listLoading = false;
-                    this.$message({
-                        message: error,
-                        type: 'error'
-                    });
-                })
-            },
-            //详情
-            toDetail(row) {
-                this.$router.push('/moldList/' + row.id);
-            },
+    //获取模具列表
+    getMoldList() {
+      this.listLoading = true;
+      this.http.post(
+        this.port.mold.molds,
+        {
+          keyName: this.filters.keyName,
+          pageNum: this.page,
+          pageSize: this.size,
+          projectId: this.filters.projectId == "" ? -1 : this.filters.projectId,
+          serchType: this.filters.serchType
+        },
+        res => {
+          this.listLoading = false;
+          if (res.code == "ok") {
+            this.molds = res.data.list;
+            this.total = res.data.total;
+          } else {
+            this.$message({
+              message: res.msg,
+              type: "error"
+            });
+          }
+        },
+        error => {
+          this.listLoading = false;
+          this.$message({
+            message: error,
+            type: "error"
+          });
+        }
+      );
+    },
+    //详情
+    toDetail(row) {
+      this.$router.push("/moldList/" + row.id);
+    },
 
-            //添加界面
-            showAdd() {
-                this.addFormVisible = true;
-                this.addForm = {
-                    modelNo: "",
-                    modelName: "",
-                    equipmentId: ""       
-                };
+    //添加界面
+    showAdd() {
+      this.addFormVisible = true;
+      this.addForm = {
+        modelNo: "",
+        modelName: "",
+        equipmentId: ""
+      };
+    },
+    addSubmit() {
+      this.$refs.addForm.validate(valid => {
+        if (valid) {
+          this.addLoading = true;
+          this.http.post(
+            this.port.mold.addMold,
+            this.addForm,
+            res => {
+              this.addLoading = false;
+              this.addFormVisible = false;
+              if (res.code == "ok") {
+                this.$message({
+                  message: "创建成功",
+                  type: "success"
+                });
+                this.getMoldList();
+              } else {
+                this.$message({
+                  message: res.msg,
+                  type: "error"
+                });
+              }
             },
-            addSubmit() {
-                this.$refs.addForm.validate((valid) => {
-					if (valid) {
-                        this.addLoading = true;
-                        this.http.post(this.port.mold.addMold, this.addForm , res => {
-                            this.addLoading = false;
-                            this.addFormVisible = false;
-                            if (res.code == "ok") {
-                                this.$message({
-                                    message: '创建成功',
-                                    type: 'success'
-                                });
-                                this.getMoldList();
-                            } else {
-                                this.$message({
-                                    message: res.msg,
-                                    type: 'error'
-                                });
-                            }
-                        }, error => {
-                            this.addLoading = false;
-                            this.addFormVisible = false;
-                            this.$message({
-                                message: error,
-                                type: 'error'
-                            });
-                        })
-					}
-				});
+            error => {
+              this.addLoading = false;
+              this.addFormVisible = false;
+              this.$message({
+                message: error,
+                type: "error"
+              });
             }
-        },
-        created() {
-            let height = window.innerHeight;
-            this.tableHeight = height - 210;
-            const that = this;
-            window.onresize = function temp() {
-                that.tableHeight = window.innerHeight - 210;    
-            };
-        },
-        mounted() {
-            this.getMsg();
-            this.getMoldList();
-            
+          );
         }
+      });
+    }
+  },
+  created() {
+    let height = window.innerHeight;
+    this.tableHeight = height - 210;
+    const that = this;
+    window.onresize = function temp() {
+      that.tableHeight = window.innerHeight - 210;
     };
+  },
+  mounted() {
+    this.getMsg();
+    this.getMoldList();
+  }
+};
 </script>
 
 <style scoped>

+ 1 - 1
ys_vue/src/views/project/project.vue

@@ -157,7 +157,7 @@
                     });
                 })
 
-                this.http.post(this.port.base.companys, {
+                this.http.post(this.port.base.addCompanyListToProject, {
                     parentId: this.user.parentId,
                     id: this.user.id
                 }, res => {

+ 52 - 18
ys_vue/src/views/project/projectDetail.vue

@@ -15,7 +15,7 @@
         </el-col>
         <el-col :span="24" :style="allDetail">
             <el-col :span="24" class="title">项目基本信息
-                <i class="el-icon-edit editDetail" v-if="user.parentId == 1 || user.isManager == 1" @click="edit"></i>
+                <i class="el-icon-edit editDetail" v-if="user.parentId == 1 || user.id == proDetail.managerId" @click="edit"></i>
             </el-col>
             <el-col :span="24" class="main">
                 <el-col :span="6" class="detail">
@@ -65,7 +65,7 @@
             </el-col>
 
             <el-col :span="24" class="title">项目文档
-                <el-upload class="upload-demo" action="customize" :http-request="uploadFile" :show-file-list="false" multiple :limit="5" style="float:right;">
+                <el-upload v-if="update == 1" class="upload-demo" action="customize" :http-request="uploadFile" :show-file-list="false" multiple :limit="5" style="float:right;">
                     <el-button size="small" type="primary">点击上传</el-button>
                 </el-upload>
             </el-col>
@@ -77,28 +77,26 @@
                     <el-table-column prop="uploader" label="上传者" width="120" align="center" sortable></el-table-column>
                     <el-table-column prop="indate" label="上传时间" width="200" align="center" sortable></el-table-column>
                     <el-table-column label="操作" width="220" align="center" sortable>
-                        <template slot-scope="scope">
+                        <template slot-scope="scope" v-if="download == 1">
                             <el-button size="small" @click="dowloadFile(scope.row.id)">
-                                <a :href="scope.row.url" :download="scope.row.fileName">下载</a></el-button>
+                                <a :href="scope.row.url" :download="scope.row.fileName">下载</a>
+                            </el-button>
                             <el-button size="small" type="danger" @click="fileDel(scope.row.id)" v-if="scope.row.uploaderId == user.id">删除</el-button>
                         </template>
+                        <template slot-scope="scope" v-if="download == 0">
+                            -
+                        </template>
                     </el-table-column>
                 </el-table>
             </el-col>
 
             <el-col :span="24" class="title">操作记录</el-col>
-            <el-table :data="operations" highlight-current-row v-loading="listLoading" height="400" style="width: 100%;">
+            <el-table :data="opers" highlight-current-row v-loading="oplistLoading" height="400" style="width: 100%;">
                 <el-table-column type="index" width="40"></el-table-column>
-                <el-table-column prop="name" label="姓名" width="400" sortable></el-table-column>
-                <el-table-column prop="document" label="文档名称" sortable></el-table-column>
-                <el-table-column label="操作" width="400" sortable>
-                    <template slot-scope="scope">
-                        <span v-if="scope.row.operations == 0">浏览</span>
-                        <span v-else-if="scope.row.operations == 1">下载</span>
-                        <span v-else>删除</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="time" label="时间" width="400" sortable></el-table-column>
+                <el-table-column prop="content" label="操作" width="120" sortable></el-table-column>
+                <el-table-column prop="fileName" label="操作文档名称" sortable></el-table-column>
+                <el-table-column prop="operator" label="操作人" width="120" sortable></el-table-column>
+                <el-table-column prop="indate" label="操作时间" width="200" sortable></el-table-column>
             </el-table>
         </el-col>
 
@@ -185,6 +183,7 @@
                 //临时数据
                 proDetail: {},
                 files: [],
+                opers: [],
 
                 allDetail: {
                     overflow: 'auto',
@@ -193,8 +192,14 @@
                 },
 
                 listLoading: false,
+                oplistLoading: false,
                 activePage: 0,
 
+                update: 0,
+                download: 0,
+                view: 0,
+                approve: 0,
+
                 company:[],
                 assets: [],
                 produce: [],
@@ -248,6 +253,11 @@
                     id: this.detailId
                 }, res => {
                     if (res.code == "ok") {
+                        this.update = res.data.update;
+                        this.download = res.data.download;
+                        this.view = res.data.view;
+                        this.approve = res.data.approve;
+
                         var list = res.data.vo;
                         var approves = res.data.vo.approves;
 
@@ -298,9 +308,32 @@
                     });
                 })
             },
+            getOperList() {
+                this.oplistLoading = true;
+                // 获取文档列表
+                this.http.post(this.port.project.operList, {
+                    projectId: this.detailId
+                }, res => {
+                    this.oplistLoading = false;
+                    if (res.code == "ok") {
+                        this.opers = res.data;
+                    } else {
+                        this.$message({
+                            message: res.msg,
+                            type: 'error'
+                        });
+                    }
+                }, error => {
+                    this.oplistLoading = false;
+                    this.$message({
+                        message: error,
+                        type: 'error'
+                    });
+                })
+            },
             //获取信息
             getMsg() {
-                // 获取公司
+                // 获取人员
                 var compIds = this.user.companyId;
                 for(var i in this.proDetail.customCompanies){
                     compIds += "," + this.proDetail.customCompanies[i].companyId;
@@ -334,8 +367,8 @@
                     });
                 })
 
-                // 获取人员
-                this.http.post(this.port.base.companys, {
+                // 获取公司
+                this.http.post(this.port.base.addCompanyListToProject, {
                     parentId: this.user.parentId,
                     id: this.user.id
                 }, res => {
@@ -628,6 +661,7 @@
         mounted() {
             this.getDetail();
             this.getFileList();
+            this.getOperList();
         }
     };
 </script>