Kaynağa Gözat

任务展示布局

Lljy-ai 4 yıl önce
ebeveyn
işleme
4ebda38d1a

+ 1 - 1
fhKeeper/formulahousekeeper/timesheet/config/index.js

@@ -1,6 +1,6 @@
 var path = require('path')
 
-var ip = '192.168.2.2'
+var ip = '192.168.2.21'
 
 // var os = require('os'), ip = '', ifaces = os.networkInterfaces() // 获取本机ip
 // for (var i in ifaces) {

+ 102 - 12
fhKeeper/formulahousekeeper/timesheet/src/views/project/list.vue

@@ -116,16 +116,14 @@
                     <el-select v-model="addForm.level"  placeholder="请选择级别" style="width:32%;" >
                         <el-option v-for="item in importanceList" :key="item.id" :label="item.label" :value="item.id"></el-option>
                     </el-select>
-                    <span style="margin-left:50px;margin-right:10px;" v-if="user.company.packageProject==1">项目预算</span>
+                    <!-- <span style="margin-left:50px;margin-right:10px;" v-if="user.company.packageProject==1">项目预算</span>
                     <el-input v-model="addForm.budget"    style="width:32%;"
-                    placeholder="整数" clearable @keyup.native="number"></el-input><span style="margin-left:10px;">元</span>
+                    placeholder="整数" clearable @keyup.native="number"></el-input><span style="margin-left:10px;">元</span> -->
 
                 <!-- 增加合同金额字段 -->
-                    <div style="margin-top: 10px; text-align: right;margin-right: 11px;">
                         <span style="margin-left:50px;margin-right:10px;" v-if="user.company.packageProject==1">合同金额</span>
-                        <el-input v-model="addForm.aggadm"    style="width:33%;"
+                        <el-input v-model="addForm.contractAmount" style="width:33%;"
                         placeholder="整数" clearable @keyup.native="number"></el-input><span style="margin-left:10px;">元</span>
-                    </div>
                 <!-- 增加合同金额字段 -->   
 
                 </el-form-item>
@@ -145,9 +143,53 @@
                      :clearable="false" type="date" 
                      placeholder="选择日期"></el-date-picker>
                 </el-form-item>
-               
+            <!-- 项目基线 -->
+                <!-- <div style="width: 100%;border: 1px solid #ddd"></div> -->
+                <el-divider ></el-divider>
+                <div style="margin: 20px 0 30px 0">
+                    <span class="el-dialog__title">成本基线</span>
+                </div>
+            <!-- 人工成本 -->
+            <span class="rg_span">
+                <span style="margin-left:50px;margin-right:10px;" v-if="user.company.packageProject==1">人工成本</span>
+                <el-input @input="addUpfun(addForm.baseMan)" v-model="addForm.baseMan" style="width:22%; margin-bottom: 20px"
+                placeholder="整数" clearable @keyup.native="number"></el-input><span style="margin-left:10px;">元</span>
+            </span>
+            <!-- 费用 -->
+            <span class="rg_span">
+                <span style="margin-left:50px;margin-right:10px;" v-if="user.company.packageProject==1">费用</span>
+                <el-input @input="addUpfun(addForm.baseFee)" v-model="addForm.baseFee" style="width:22%;"
+                placeholder="整数" clearable @keyup.native="number"></el-input><span style="margin-left:10px;">元</span>
+            </span>
+            <!-- 外包费用 -->
+            <div class="rg_span">
+                <span style="margin-left:50px;margin-right:10px;" v-if="user.company.packageProject==1">外包费用</span>
+                <el-input @input="addUpfun(addForm.baseOutsourcing)" v-model="addForm.baseOutsourcing" style="width:22%;"
+                placeholder="整数" clearable @keyup.native="number"></el-input><span style="margin-left:10px;">元</span>
+            </div>
+            <!-- 预留风险金额1 -->
+            <div style="margin-bottom: 20px">
+                <span style="margin-left:50px;margin-right:10px;" v-if="user.company.packageProject==1">预留风险金额1</span>
+                <el-input @input="addUpfun(addForm.baseRisk1)" v-model="addForm.baseRisk1" style="width:22%;"
+                placeholder="整数" clearable @keyup.native="number"></el-input><span style="margin-left:10px;">元</span>
+            </div>
+            <!-- 预留风险金额2 -->
+            <div style="margin-bottom: 20px">
+                <span style="margin-left:50px;margin-right:10px;" v-if="user.company.packageProject==1">预留风险金额2</span>
+                <el-input @input="addUpfun(addForm.baseRisk2)" v-model="addForm.baseRisk2" style="width:22%;"
+                placeholder="整数" clearable @keyup.native="number"></el-input><span style="margin-left:10px;">元</span>
+            </div>
+            <!-- 合计 -->
+            <div style="margin-bottom: 20px">
+                <span style="margin-left:50px;margin-right:10px;" v-if="user.company.packageProject==1">合计</span>
+                 <span v-if="addForm.budget <= 0 || addForm.budget == undefined">0</span>
+                 <span>{{addForm.budget}}</span>
+                <span style="margin-left:10px;">元</span>
+            </div>
+
+
             </el-form>
-            <div slot="footer" class="dialog-footer">
+            <div slot="footer" class="dialog-footer;">
                 <el-button @click.native="addFormVisible = false">取消</el-button>
                 <el-button type="primary" @click="submitInsert" :loading="addLoading">提交</el-button>
             </div>
@@ -244,6 +286,7 @@
                 addSubProject: false,
                 addFormVisible: false,
                 addLoading: false,
+                addUp: 0, // 合计
                 title: "",
                 addForm: {
                     name: '',
@@ -257,8 +300,8 @@
         },
         methods: {
             number(){  
-             this.addForm.budget = this.addForm.budget.replace(/[^\.\d]/g,'');
-                this.addForm.budget = this.addForm.budget.replace('.','');
+        //      this.addForm.budget = this.addForm.budget.replace(/[^\.\d]/g,'');
+        //         this.addForm.budget = this.addForm.budget.replace('.','');
           },
             deleteSubPro(subProject) {
                 this.$confirm("确定要删除子项目" + subProject.name + "吗?","删除子项目", {
@@ -302,6 +345,7 @@
                 this.getList();
             },
             addNewSubProject(subProject) {
+                console.log(123);
                 if (subProject == null) {
                     this.addForm = {projectId: this.currentProject.id, level:1}
                 } else {
@@ -360,6 +404,7 @@
             changeParticipator() {
                 //检查是否在参与人中,如果没有需要加入到参与人中
                 console.log(this.addForm.userId);
+                console.log(this.addForm)
                 var find = false;
                 this.participator = [];
                 this.addForm.userId.forEach(u=>{
@@ -474,6 +519,12 @@
                         planStartDate: item.planStartDate,
                         planEndDate: item.planEndDate,
                         budget: item.budget,
+                        baseMan: item.baseMan,
+                        contractAmount: item.contractAmount,
+                        baseFee: item.baseFee,
+                        baseRisk1: item.baseRisk1,
+                        baseRisk2: item.baseRisk2,
+                        baseOutsourcing: item.baseOutsourcing
                     }
                     this.changeParticipator();
                 }
@@ -511,6 +562,19 @@
                         }
                 });
             },
+            // 项目基线合计
+            addUpfun(je) {
+                var q = '0'
+                var w = '0'
+                var e = '0'
+                var r = '0'
+                this.addForm.baseMan === undefined || this.addForm.baseMan === NaN ? this.addForm.baseMa = '0' : this.addForm.baseMan
+                if (this.addForm.baseFee !== undefined) q = this.addForm.baseFee
+                if (this.addForm.baseOutsourcing !== undefined) w = this.addForm.baseOutsourcing
+                if (this.addForm.baseRisk1 !== undefined) e = this.addForm.baseRisk1
+                if (this.addForm.baseRisk2 !== undefined) r = this.addForm.baseRisk2
+                this.addForm.budget = +this.addForm.baseMan + +q + +w + +e + +r
+            },
             submitInsert() {
                 this.$refs.form1.validate(valid => {
                     if (valid) {
@@ -540,10 +604,33 @@
                         if(this.addForm.level != null) {
                             formData.append("level", this.addForm.level);
                         }
-                        if(this.addForm.budget != null) {
-                            formData.append("budget", this.addForm.budget);
+                        if(this.addForm.contractAmount != null) {
+                            formData.append("contractAmount", this.addForm.contractAmount)
+                        }
+                        if(this.addForm.baseMan != null) { // 人工成本
+                            formData.append("baseMan", this.addForm.baseMan)
+                        }
+                        if(this.addForm.baseFee != null) { // 费用
+                            formData.append("baseFee", this.addForm.baseFee)
+                        }
+                        if(this.addForm.baseOutsourcing != null) { // 外包费用
+                            formData.append("baseOutsourcing", this.addForm.baseOutsourcing)
                         }
-                        
+                        if(this.addForm.baseRisk1 != null) { // 预留风险金额1
+                            formData.append("baseRisk1", this.addForm.baseRisk1)
+                        }
+                        if(this.addForm.baseRisk2 != null) { //预留风险金额1
+                            formData.append("baseRisk2", this.addForm.baseRisk2)
+                        }
+                         if(this.addForm.budget != null) { //预留风险金额1
+                            formData.append("budget", this.addForm.budget)
+                        }
+                        // 合计
+                        // if(this.addUp != null) {
+                        //     this.addForm.budget = this.addUp
+                        //     formData.append("budget", this.addForm.budget);
+                        // }
+                        console.log(this.addForm.budget, 123, this.addUp);
                         this.http.uploadFile(this.port.project.add,formData,
                         res => {
                             this.addLoading = false;
@@ -631,4 +718,7 @@
 </script>
 
 <style lang="scss" scoped>
+.rg_span{
+    margin-bottom: 20px;
+}
 </style>

+ 72 - 1
fhKeeper/formulahousekeeper/timesheet/src/views/project/projectInside.vue

@@ -269,6 +269,43 @@
                 <!-- 富文本 -->
                 <div v-if="addForm.id != null">
                     <el-divider ></el-divider>
+                    <!-- 任务进展 -->
+                    <p ><i class="iconfont firerock-icontree" style="color:#20A0ff;margin-left:10px;">任务进展</i>
+                        <span ref="addPro" style="display: block; float:right;"><el-link @click="addprogress">添加任务进展</el-link></span>
+                    </p>
+                    <!-- 任务进展展示 -->
+                    <div style="display: none;" ref="proBox" class="progress">
+                        <el-radio-group v-model="radio">
+                            <el-radio label="状态正常" value="0"> </el-radio>
+                            <el-radio label="风险提示" value="1"> </el-radio>
+                            <el-radio label="高度危险" value="2"> </el-radio>
+                        </el-radio-group>
+
+                        <el-input
+                        type="textarea"
+                        border="0"
+                        :autosize="{ minRows: 2, maxRows: 6}"
+                        placeholder="请输入详细进展描述"
+                        v-model="text2"
+                        style="margin:10px 0 0 0">
+                        </el-input>
+
+                        <h4 style="font-weight: normal;">提醒谁查看:0</h4>
+
+                        <i class="el-icon-circle-plus pron_i" style="font-size: 28px;color: #409EFF;"></i>
+
+                        <div class="remind">
+                            <el-checkbox-group v-model="checkedCities">
+                               <el-checkbox v-for="city in cityOptions" :label="city" :key="city"><p>{{city}}</p></el-checkbox>
+                            </el-checkbox-group>
+                        </div>
+
+                        <div class="pro_btn">
+                            <el-button size="mini" @click="shutPro">取消</el-button>
+                            <el-button size="mini" type="primary">发布</el-button>
+                        </div>
+                    </div>
+                    <!-- 子任务 -->
                     <p ><i class="iconfont firerock-icontree" style="color:#20A0ff;margin-left:10px;">子任务</i>
                         <el-link style="float:right;" @click="addSubTask">添加子任务</el-link>
                     </p>
@@ -583,6 +620,7 @@ toolbar: 'bold italic underline strikethrough | fontsizeselect | forecolor backc
                 textarea2: '',
                 taskId: null,
                 commentList: [],
+                radio: 0,
                 critic: [], // 评论头像的数组
                 editorOption: { // 富文本框里面的默认值
                     placeholder: '请输入文本...',
@@ -613,10 +651,21 @@ toolbar: 'bold italic underline strikethrough | fontsizeselect | forecolor backc
                 },
                 textContent: true, // 控制提交 
                 times: null,
+                text2: '',
+                cityOptions : ['渣渣灰', '渣渣灰', '渣渣灰', '渣渣灰','渣渣灰', '渣渣灰', '渣渣灰', '渣渣灰'],
+                checkedCities: []
             };
         },
         methods: {
-             load () {
+            addprogress(){ // 添加子任务进展事件
+                this.$refs.proBox.style.display="block"
+                this.$refs.addPro.style.display="none"
+            },
+            shutPro() { // 关闭任务进展
+                this.$refs.addPro.style.display="block"
+                this.$refs.proBox.style.display="none"
+            },
+            load () {
                  if(this.count >= 0) return
                 this.count += 2
             },
@@ -1914,6 +1963,11 @@ toolbar: 'bold italic underline strikethrough | fontsizeselect | forecolor backc
     border-radius: 5px;
 }
 
+.pro_btn{
+    display: inline-block;
+    float: right;
+}
+
 </style>
 <style lang="scss" scoped>
 .counli {
@@ -2070,4 +2124,21 @@ toolbar: 'bold italic underline strikethrough | fontsizeselect | forecolor backc
     position: relative;
     top: -6px;
 }
+
+/* 任务进展 */
+.progress {
+    border: 1px solid #ddd;
+    border-radius: 5px;
+    width: 100%;
+    box-sizing: border-box;
+    padding: 15px;
+    position: relative;
+}
+.remind {
+    width: 30%;
+    height: 100%;
+    position: absolute;
+    left: 0;
+    top: 0;
+}
 </style>