Kaynağa Gözat

监理合同段相关

liuyc 3 yıl önce
ebeveyn
işleme
0a56d3cfcf
1 değiştirilmiş dosya ile 118 ekleme ve 93 silme
  1. 118 93
      src/views/manager/contractinfo/detail.vue

+ 118 - 93
src/views/manager/contractinfo/detail.vue

@@ -232,7 +232,8 @@
                       <el-link
                         type="primary"
                         @click="downloadFile"
-                      >开工令</el-link>
+                      >开工令
+                      </el-link>
                       <el-button
                         @click="delFile"
                         class="mg-l-10"
@@ -254,7 +255,8 @@
                         <el-button
                           size="small"
                           type="primary"
-                        >点击上传</el-button>
+                        >点击上传
+                        </el-button>
                       </el-upload>
                     </template>
 
@@ -294,7 +296,8 @@
                       :label="item.contractId"
                       :key="key"
                       v-for="(item,key) in checkList"
-                    >{{item.contractName}}</el-checkbox>
+                    >{{ item.contractName }}
+                    </el-checkbox>
                   </el-checkbox-group>
                 </el-col>
                 <el-col :span="12">
@@ -416,7 +419,8 @@
             <div
               v-if="!wbsId"
               class="text-align-c"
-            >项目暂未分配wbs树</div>
+            >项目暂未分配wbs树
+            </div>
             <tree-tree
               :left-tree-data="leftTreeData"
               ref="treetotree"
@@ -453,7 +457,8 @@
                     v-for="(item,key) in roleList"
                     :label="item.id"
                     :key="key"
-                  >{{item.roleName}}</el-radio-button>
+                  >{{ item.roleName }}
+                  </el-radio-button>
                 </el-radio-group>
               </div>
               <div>
@@ -504,16 +509,19 @@
                       class="mg-r-20"
                       type="primary"
                       @click="copyAccPas(scope.row)"
-                    >复制</el-link>
+                    >复制
+                    </el-link>
                     <el-link
                       class="mg-r-20"
                       type="primary"
                       @click="resetPassword(scope.row)"
-                    >重置密码</el-link>
+                    >重置密码
+                    </el-link>
                     <el-link
                       type="danger"
                       @click="handleDelete(scope.$index, scope.row)"
-                    >删除</el-link>
+                    >删除
+                    </el-link>
                   </template>
                 </el-table-column>
               </el-table>
@@ -555,15 +563,18 @@
                 class="marleft10"
                 type="success"
                 @click="addUserToProject"
-              >添加</el-button>
+              >添加
+              </el-button>
               <el-button
                 type="primary"
                 @click="rputerPush()"
-              >创建新用户</el-button>
+              >创建新用户
+              </el-button>
               <el-button
                 type="danger"
                 @click="handleDeletes"
-              >全部删除</el-button>
+              >全部删除
+              </el-button>
             </div>
             <el-divider></el-divider>
           </div>
@@ -575,47 +586,60 @@
           size="medium"
           :loading="btnLoad"
           @click="saveQuit"
-        >保存并退出</el-button>
+        >保存并退出
+        </el-button>
         <el-button
           type="info"
           size="medium"
           :loading="btnLoad"
           v-if="activeType != 1"
           @click="saveNext('p')"
-        >保存并返回上一步</el-button>
+        >保存并返回上一步
+        </el-button>
         <el-button
           type="info"
           size="medium"
           :loading="btnLoad"
           v-if="activeType != 3"
           @click="saveNext('n')"
-        >保存并进入下一步</el-button>
+        >保存并进入下一步
+        </el-button>
       </div>
     </div>
   </basic-container>
 </template>
 
 <script>
-import { getProjectDeatil, findProjectTree, treeAllConstruction,getContractRelation } from "@/api/manager/projectinfo";
+import {getProjectDeatil, findProjectTree, treeAllConstruction, getContractRelation} from "@/api/manager/projectinfo";
 import {
-  submitContractInfo, getContractInfo, getContractInfo2, delFileFromUrl, searchRole, findAllUserByCondition, findUserList,
-  saveUserInfoByProjectTow, removeUsersByIds, resetPasswordByUserId,
-  submitWbsTreeInContract, getContractInfoTree
+  submitContractInfo,
+  getContractInfo,
+  getContractInfo2,
+  delFileFromUrl,
+  searchRole,
+  findAllUserByCondition,
+  findUserList,
+  saveUserInfoByProjectTow,
+  removeUsersByIds,
+  resetPasswordByUserId,
+  submitWbsTreeInContract,
+  getContractInfoTree
 } from "@/api/manager/contractinfo";
-import { getDictionary } from "@/api/system/dict";
-import { getDictionary as getDictbiz } from "@/api/system/dictbiz";
-import { remove as removeFile } from "@/api/resource/attach";
+import {getDictionary} from "@/api/system/dict";
+import {getDictionary as getDictbiz} from "@/api/system/dictbiz";
+import {remove as removeFile} from "@/api/resource/attach";
 import website from '@/config/website';
-import { Base64 } from 'js-base64';
-import { getToken } from '@/util/auth';
-import { mapGetters } from "vuex";
+import {Base64} from 'js-base64';
+import {getToken} from '@/util/auth';
+import {mapGetters} from "vuex";
 
 import treeTree from "@/components/tree-tree/main"
+
 export default {
   components: {
     treeTree
   },
-  data () {
+  data() {
     var checkPlace = (rule, value, callback) => {
       if (this.flageData && this.flageData.length > 2 && this.flageData[2]) {
         callback();
@@ -682,52 +706,52 @@ export default {
       },
       contractRules: {
         contractName: [
-          { required: true, message: '请输入合同段名称', trigger: 'blur' },
+          {required: true, message: '请输入合同段名称', trigger: 'blur'},
         ],
         contractType: [
-          { required: true, message: '请选择合同段类型', trigger: 'change' }
+          {required: true, message: '请选择合同段类型', trigger: 'change'}
         ],
         contractNumber: [
-          { required: true, message: '请输入合同段编号', trigger: 'blur' },
+          {required: true, message: '请输入合同段编号', trigger: 'blur'},
         ],
         isElectronicSignature: [
-          { required: true, message: '请设置电签状态', trigger: 'change' },
+          {required: true, message: '请设置电签状态', trigger: 'change'},
         ],
         isTestModule: [
-          { required: true, message: '请设置试验模块状态', trigger: 'change' },
+          {required: true, message: '请设置试验模块状态', trigger: 'change'},
         ],
         isReferenceNumber: [
-          { required: true, message: '请设置是否引用编号', trigger: 'change' },
+          {required: true, message: '请设置是否引用编号', trigger: 'change'},
         ],
         isCopyData: [
-          { required: true, message: '请设置是否复制数据', trigger: 'change' },
+          {required: true, message: '请设置是否复制数据', trigger: 'change'},
         ],
         contractorUnitName: [
-          { required: true, message: '请输入业主单位名称', trigger: 'blur' },
+          {required: true, message: '请输入业主单位名称', trigger: 'blur'},
         ],
         constructionUnitName: [
-          { required: true, message: '请输入施工单位名称', trigger: 'blur' },
+          {required: true, message: '请输入施工单位名称', trigger: 'blur'},
         ],
         supervisionUnitName: [
-          { required: true, message: '请输入监理单位名称', trigger: 'blur' },
+          {required: true, message: '请输入监理单位名称', trigger: 'blur'},
         ],
         startStation: [
-          { required: true, message: '请输入起始桩号', trigger: 'blur' },
+          {required: true, message: '请输入起始桩号', trigger: 'blur'},
         ],
         endStation: [
-          { required: true, message: '请输入结束桩号', trigger: 'blur' },
+          {required: true, message: '请输入结束桩号', trigger: 'blur'},
         ],
         projectPlace: [
-          { required: true, validator: checkPlace, trigger: 'blur' },
+          {required: true, validator: checkPlace, trigger: 'blur'},
         ],
         planEndTime: [
-          { validator: checkDate, trigger: 'blur' },
+          {validator: checkDate, trigger: 'blur'},
         ],
         actualEndTime: [
-          { validator: checkDate2, trigger: 'blur' },
+          {validator: checkDate2, trigger: 'blur'},
         ],
         contractAmount: [
-          { validator: checkIsNumber, trigger: 'blur' }
+          {validator: checkIsNumber, trigger: 'blur'}
         ]
       },
 
@@ -797,17 +821,17 @@ export default {
         this.contractUserList = [];
       }
     },
-    'contractForm.contractType' (newValue) {
+    'contractForm.contractType'(newValue) {
       if (newValue != 1) {
         this.treeAllConstruction()
       }
     }
   },
-  created () {
+  created() {
     this.init();
     //console.log(this.userInfo)
   },
-  mounted () {
+  mounted() {
     this.$nextTick(() => {
       this.typeChang = {
         1: false,
@@ -818,31 +842,31 @@ export default {
   },
   methods: {
     //#region //后加分页
-    handleSizeChange (val) {
+    handleSizeChange(val) {
       this.pagesize = val
       this.findAllUserByCondition()
     },
-    handleCurrentChange (val) {
+    handleCurrentChange(val) {
       this.pageindx = val
       this.findAllUserByCondition()
     },
-    rputerPush () {
+    rputerPush() {
       this.$router.push({
         path: '/system/user',
-        query: { tankai: true }
+        query: {tankai: true}
       })
     },
     //#endregion
 
     //#region 甘云杰
-    async searchRole () {
-      const { data: res } = await searchRole()
+    async searchRole() {
+      const {data: res} = await searchRole()
       console.log(res);
       if (res.code === 200) {
         this.roleList = res.data
       }
     },
-    async init () {
+    async init() {
       this.pid = this.$route.query.pid;
       this.cid = this.$route.query.cid;
       if (!this.cid) {
@@ -852,6 +876,7 @@ export default {
           await this.getContractInfo();//获取合同段基本信息
         } else if (this.$route.query.contractType == 2 || this.$route.query.contractType == 3) {
           await this.getContractInfo2()
+          await this.getContractRelation(); //监理、业主关联施工
         }
       }
       await this.getProjectDeatil();//获取项目详情
@@ -862,10 +887,9 @@ export default {
       this.getContractTypeList();//获取合同类型
       this.getStoragePeriodList();//获取业务字典
       this.getSecurityLevelList();//获取安全等级
-      this.getContractRelation();//监理、业主关联施工
       this.setHeaders();
     },
-    beforeLeave (activeName, oldActiveName) {
+    beforeLeave(activeName, oldActiveName) {
       return new Promise((resolve, reject) => {
         if (oldActiveName == '1' && !this.contractForm.id) {
           this.$message({
@@ -911,7 +935,7 @@ export default {
         }
       })
     },
-    getProjectDeatil () {
+    getProjectDeatil() {
       return new Promise((resolve) => {
         getProjectDeatil(this.pid).then((res) => {
           this.projectInfo = res.data.data;
@@ -922,11 +946,11 @@ export default {
         })
       })
     },
-    getContractRelation () {
+    getContractRelation() {
       return new Promise((resolve) => {
         getContractRelation(this.cid).then((res) => {
-          console.log("ids",res)
-          this.idList =  res.data.data && res.data.data.map(item=>{
+          console.log("ids", res)
+          this.idList = res.data.data && res.data.data.map(item => {
             return item.id
           })
           resolve();
@@ -935,7 +959,7 @@ export default {
         })
       })
     },
-    getContractInfo () {
+    getContractInfo() {
       return new Promise((resolve) => {
         getContractInfo(this.cid).then((res) => {
           this.contractForm = res.data.data;
@@ -962,9 +986,9 @@ export default {
         })
       })
     },
-    getContractInfo2 () {
+    getContractInfo2() {
       return new Promise((resolve) => {
-        getContractInfo2({ id: this.cid, contractType: this.contractType }).then((res) => {
+        getContractInfo2({id: this.cid, contractType: this.contractType}).then((res) => {
           this.contractForm = res.data.data.contractInfo
           if (res.data.data.wbsTreeContractList.length > 0) {
             this.idList = []
@@ -998,7 +1022,7 @@ export default {
         })
       })
     },
-    async saveQuit () {
+    async saveQuit() {
       this.btnLoad = true;
       try {
         if (this.activeType == '1') {
@@ -1018,7 +1042,7 @@ export default {
       this.btnLoad = false;
       this.$router.go(-1);
     },
-    async saveNext (type) {
+    async saveNext(type) {
       this.btnLoad = true;
       try {
         if (this.activeType == '1') {
@@ -1053,11 +1077,11 @@ export default {
       this.activeType = num.toString();
       this.btnLoad = false;
     },
-    getIds(){
+    getIds() {
 
     },
 
-    savecontract () {
+    savecontract() {
       return new Promise((resolve, reject) => {
         this.$refs['contractForm'].validate((valid) => {
           if (valid) {
@@ -1072,7 +1096,7 @@ export default {
                 delete das.projectPlace
                 das.idList = []
                 this.idList.forEach(val => {
-                  das.idList.push({ contractId: val })
+                  das.idList.push({contractId: val})
                 })
                 resolve(submitContractInfo(das))
                 this.btnLoad = false
@@ -1095,27 +1119,27 @@ export default {
       })
     },
 
-    handleRemove (file) {
+    handleRemove(file) {
       //console.log(file, fileList);
       removeFile(file.response.data.attachId).then(() => {
         this.contractForm.startFileUrl = '';
       })
     },
-    handleExceed () {
+    handleExceed() {
       this.$message.warning(`当前限制选择 1 个文件,请先移除后,再次上传`);
     },
-    handleSuccess (res) {
+    handleSuccess(res) {
       this.contractForm.startFileUrl = res.data.link;
     },
-    setHeaders () {
+    setHeaders() {
       this.headers['Authorization'] = `Basic ${Base64.encode(`${website.clientId}:${website.clientSecret}`)}`;
       this.headers[website.tokenHeader] = 'bearer ' + getToken()
     },
 
-    downloadFile () {
+    downloadFile() {
       window.open(this.contractForm.startFileUrl);
     },
-    delFile () {
+    delFile() {
       this.$confirm('是否删除该文件?', '删除开工令', {
         distinguishCancelAndClose: true,
         confirmButtonText: '删除',
@@ -1128,7 +1152,7 @@ export default {
       })
     },
 
-    addUserToProject () {
+    addUserToProject() {
       if (!this.userId) {
         this.$message({
           type: "warning",
@@ -1162,7 +1186,7 @@ export default {
       })
     },
 
-    findAllUserByCondition (val) {
+    findAllUserByCondition(val) {
       let rId
       if (this.postId) {
         rId = this.postId
@@ -1170,11 +1194,11 @@ export default {
         rId = val
       }
       findAllUserByCondition({
-        cId: this.contractForm.id,
-        pId: this.pid,
-        // "postId": this.postId,
-        rId: rId,
-      },
+          cId: this.contractForm.id,
+          pId: this.pid,
+          // "postId": this.postId,
+          rId: rId,
+        },
         this.pagesize,
         this.pageindx,
       ).then((res) => {
@@ -1183,7 +1207,7 @@ export default {
       })
     },
 
-    handleDelete (index, row) {
+    handleDelete(index, row) {
       this.$confirm('是否将该用户移除出合同段', '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
@@ -1198,7 +1222,7 @@ export default {
         })
       })
     },
-    handleDeletes () {
+    handleDeletes() {
       this.$confirm('是否将所有用户移除出合同段', '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
@@ -1218,7 +1242,7 @@ export default {
       })
     },
 
-    copyAccPas (row) {
+    copyAccPas(row) {
       this.copyText = `姓名:${row.name}
 账号:${row.account}
 密码:${row.password}`;
@@ -1233,7 +1257,7 @@ export default {
 
     },
 
-    resetPassword (row) {
+    resetPassword(row) {
       this.$confirm('是否将用户【' + row.name + '】密码重置为123456', '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
@@ -1249,7 +1273,7 @@ export default {
       })
     },
 
-    getContractTypeList () {
+    getContractTypeList() {
       if (this.contractTypeList.length > 1) {
         return;
       }
@@ -1264,13 +1288,13 @@ export default {
     },
 
 
-    getUserByName () {
+    getUserByName() {
       findUserList('').then((res) => {
         this.userList = res.data.data;
       })
     },
 
-    getLeftTree () {
+    getLeftTree() {
       return new Promise((resolve) => {
         if (!this.leftTreeData.length) {
           findProjectTree(this.projectInfo.id, this.wbsId).then((res) => {
@@ -1287,7 +1311,7 @@ export default {
         resolve();
       })
     },
-    getRightTree () {
+    getRightTree() {
       console.log(this.wbsId, this.projectInfo.id, this.contractForm.id);
       getContractInfoTree(this.wbsId, this.projectInfo.id, this.contractForm.id).then((res) => {
         if (Array.isArray(res.data.data)) {
@@ -1295,7 +1319,7 @@ export default {
         }
       })
     },
-    saveWbsTree () {
+    saveWbsTree() {
       let obj = {};
       let ids = this.$refs.treetotree.getTreeAllId('rightTree');
       obj = {
@@ -1307,15 +1331,15 @@ export default {
       return submitWbsTreeInContract(obj);
     },
 
-    treeChang () {
+    treeChang() {
       this.typeChang[2] = true;
     },
 
-    mapChange () {
+    mapChange() {
       this.$refs['contractForm'].validateField('projectPlace');
     },
 
-    getStoragePeriodList () {
+    getStoragePeriodList() {
       if (this.storagePeriodList.length > 1) {
         return;
       }
@@ -1328,7 +1352,7 @@ export default {
         this.storagePeriodList = res.data.data;
       })
     },
-    getSecurityLevelList () {
+    getSecurityLevelList() {
       if (this.securityLevelList.length > 1) {
         return;
       }
@@ -1344,8 +1368,8 @@ export default {
     //#endregion
 
     //#region 合同段信息
-    async treeAllConstruction () {
-      const { data: res } = await treeAllConstruction({ projectId: this.$route.query.pid })
+    async treeAllConstruction() {
+      const {data: res} = await treeAllConstruction({projectId: this.$route.query.pid})
       console.log(res);
       if (res.code == 200) {
         this.checkList = res.data
@@ -1361,6 +1385,7 @@ export default {
   width: 100%;
   height: 300px;
 }
+
 .head-font {
   font-size: 20px;
   font-weight: bold;