Bladeren bron

Merge remote-tracking branch 'origin/mergeBranch' into mergeBranch

# Conflicts:
#	src/HDrpManagement/projectChange/modules/modules/baseInfo/baseInfo.vue
#	src/HManagement/clueManage/m_activity/modules/details.vue
qymljy 2 jaren geleden
bovenliggende
commit
a447099d76

+ 0 - 331
src/Form/projectTask/add copy.vue

@@ -1,331 +0,0 @@
-<template>
-  <div>
-    <el-button size="small" type="primary" @click="(drawer = true)">新 建</el-button>
-    <el-drawer
-      title="我是标题"
-      :visible.sync="drawer"
-      direction="rtl"
-      append-to-body
-      size="80%">
-      <div class="drawer__panel">
-        <el-row :gutter="20">
-          <el-form :model="form" class="demo-form-inline" size="small" label-position="rigth" label-width="90px">
-            <el-col :span="20">
-              <el-form-item  style="width:100%" label="工作任务">
-                <el-input style="width:100%" v-model="form.taskname" placeholder="输入工作任务"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="4">
-              <el-form-item label="排序">
-                <el-input v-model="form.sequence"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item label="关键任务">
-                <el-radio-group class="inline-16" v-model="form.important">
-                  <el-radio :label="1">是</el-radio>
-                  <el-radio :label="0">否</el-radio>
-                </el-radio-group>
-
-                <div class="inline-16">
-                  <el-checkbox v-model="form.onparties" :true-label="1" :false-label="0" @change="onPartiesChange">关联客户对象</el-checkbox>
-                  <AssociateCustomerObject ref="onparties" :data="form" class="inline-16" style="margin-left: 10px" @selectObject="selectObject"></AssociateCustomerObject>
-                </div>
-                <div class="inline-16">
-                  <el-checkbox v-model="form.onstage" :true-label="1" :false-label="0" style="font-size: 14px" @change="onOnstageChange">关联项目阶段</el-checkbox>
-                  <AssociatedProjectPhases ref="onstage" :data="form" class="inline-16" style="margin-left: 10px" @selectStage="selectStage"></AssociatedProjectPhases>
-                </div>
-              </el-form-item>
-            </el-col>
-            
-          </el-form>
-        </el-row>
-        <div class="normal-margin">
-          <div class="normal-margin flex-align-center flex-between">
-            <p class="normal-title">评估项</p>
-            <el-button type="primary" size="small" @click="addOptions">添加任务</el-button>
-          </div>
-          <el-table
-              :data="form.projtaskmag_options"
-              style="width: 100%"
-              @row-click="rowClick"
-              :row-class-name="tableRowClassName"
-              highlight-current-row
-              border>
-            <el-table-column
-              type="index"
-              width="50">
-            </el-table-column>
-            <el-table-column
-                prop="optionname"
-                label="任务内容"
-                width="360">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.optionname" placeholder=""></el-input>
-              </template>
-            </el-table-column>
-            <el-table-column
-                prop="remarks"
-                label="描述"
-                width="0">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.remarks" placeholder=""></el-input>
-              </template>
-            </el-table-column>
-            <el-table-column
-                prop="score"
-                width="160"
-                label="独立项分值">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.score" placeholder=""></el-input>
-              </template>
-            </el-table-column>
-            <el-table-column
-                prop="operation"
-                width="100"
-                label="操作">
-              <template slot-scope="scope">
-                <el-button type="text" size="mini" :disabled="form.projtaskmag_options.length === 1" @click="deleteOption(scope.$index)">删除</el-button>
-              </template>
-            </el-table-column>
-          </el-table>
-        </div>
-        <div>
-          <p class="normal-title normal-margin">关联设置({{activeOptions}})</p>
-          <el-table
-            :data="optionscore"
-            border
-            style="width: 100%">
-            <el-table-column
-                v-if="form.onparties"
-                prop="partiestype"
-                label="客户对象"
-                >
-            </el-table-column>
-            <el-table-column
-                v-if="form.onstage"
-                prop="stagename"
-                label="项目阶段"
-                >
-            </el-table-column>
-            <el-table-column
-                prop="score"
-                label="分值">
-                <template slot-scope="scope">
-                  <el-input v-model="scope.row.score" placeholder="" @change="onScoreChange"></el-input>
-                  <!-- <input type="text" v-model="scope.row.score" @input="onScoreChange"> -->
-                </template>
-            </el-table-column>
-          </el-table>
-        </div>
-      </div>
-      <div class="fixed__btn__panel">
-        <el-button size="small" @click="drawer = false" class="normal-btn-width">取 消</el-button>
-        <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
-      </div>
-    </el-drawer>
-  </div>
-</template>
-<script>
-  import AssociateCustomerObject from '@/HDrpManagement/projectTask/modules/AssociateCustomerObject.vue'
-  import AssociatedProjectPhases from '@/HDrpManagement/projectTask/modules/AssociatedProjectStage.vue'
-  export default {
-    components:{
-      AssociateCustomerObject,
-      AssociatedProjectPhases
-    },
-    data () {
-      return {
-        drawer:false,
-        show:true,
-        form:{
-          "sa_projtaskmagid": 0,
-          "taskname": "",
-          "sequence": 0,
-          "important": 0,
-          "onparties": 0,
-          "onstage": 0,
-          "projtaskmag_options": []
-        },
-        oldData:[],
-        oldStage:[],
-        optionscore:[],
-        optionscoreStr:'',
-        n_index:null,
-        activeOptions:null
-      }
-    },
-    methods:{
-      selectObject (val) {
-        this.oldData = val
-        if (val.length === 0) {
-          this.form.onparties = 0
-        } else {
-          if (this.oldStage.length > 0) {
-            let arr = []
-            this.oldData.forEach(e=>{
-              this.oldStage.forEach(vl=>{
-                arr.push({
-                  sa_projtaskmag_optionscoreid:0,
-                  partiestype:e.partiestype,
-                  stagename:vl.stagename,
-                  sa_projstagemagid:vl.sa_projstagemagid,
-                  score:0
-                })
-              })
-            })
-            this.optionscore = arr.sort()
-          } else {
-            this.optionscore = val
-          }
-        }
-      },
-      selectStage (val) {
-        this.oldStage = val
-        if (val.length === 0) {
-          this.form.onstage = 0
-        } else {
-           if (this.oldData.length > 0) {
-              let arr = []
-              this.oldData.forEach(e=>{
-                this.oldStage.forEach(vl=>{
-                  arr.push({
-                    sa_projtaskmag_optionscoreid:0,
-                    partiestype:e.partiestype,
-                    stagename:vl.stagename,
-                    sa_projstagemagid:vl.sa_projstagemagid,
-                    score:0
-                  })
-                })
-              })
-              this.optionscore = arr.sort()
-            } else {
-              this.optionscore = val
-            }
-        }
-      },
-      rowClick (row, column, event) {
-        this.n_index = row.index
-        this.activeOptions = this.form.projtaskmag_options[this.n_index].optionname
-        // this.optionscore.forEach(e=>{
-        //   e.score = 0
-        // })
-        this.optionscore = this.form.projtaskmag_options[row.index].projtaskmag_optionscore
-        
-      },
-      onScoreChange (row) {
-        if (!this.activeOptions) return this.$message({
-          message:'请先点击要设置的任务行',
-          type:'error'
-        })
-        this.form.projtaskmag_options[this.n_index].projtaskmag_optionscore = this.optionscore
-      },
-      arraySpanMethod({ row, column, rowIndex, columnIndex }) {
-      // 合并行列产品名字相同合并(计算组长度以内的列,需要进行合并操作的列)
-      let mergeLength = 1;//需要进行横纵合并的列
-      if (columnIndex < mergeLength) {
-        let finArray = [1,1];
-        // 处理行数据
-        let cgname = Object.keys(row)[columnIndex]
-        console.log(cgname,'---')
-        // let cgname = 'value'
-        if(rowIndex === 0 || row[cgname] !== this.optionscore[rowIndex-1][cgname]){
-          let rowspan = 1;
-          //计算需要进行合并操作的行
-          for(let i=0; i<this.optionscore.length-1; i++){
-            // 只合并连续的
-            if(this.optionscore[i][cgname] === row[cgname] && this.optionscore[i+1][cgname] === row[cgname]){
-              rowspan ++;
-            }
-          }
-          finArray[0] = rowspan;
-        }else {
-          finArray[0] = 0;
-        }
-
-        // 处理列数据
-        let colkeys = Object.keys(row);
-        let cgvalue = Object.values(row)[columnIndex]
-        if(columnIndex ===0 || row[colkeys[columnIndex-1]] !== row[colkeys[columnIndex]]){
-          let colspan = 1;
-          //计算需要进行合并操作的列
-          for(let i=columnIndex; i<mergeLength; i++) {
-            // 只合并连续的
-            if (row[colkeys[i]]===cgvalue && row[colkeys[i+1]]===cgvalue && i+1<mergeLength) {
-              colspan ++;
-            }
-          }
-          finArray[1] = colspan;
-        } else {
-          finArray[1] = 0;
-        }
-        return finArray
-      }
-      },
-      refreshTable() {
-        this.show = false
-        setTimeout(() => {
-          this.show = true
-        }, 1000);
-      },
-      onPartiesChange (val) {
-        if (val === 1) {
-          let arr = []
-
-          this.$refs.onparties.drawer = true
-          this.optionscore = arr.sort()
-        } else {
-          this.oldData = []
-          const res = new Map();
-          this.optionscore = this.optionscore.filter((item) => !res.has(item['stagename']) && res.set(item['stagename'], 1));
-          this.form.projtaskmag_options.forEach(e=>{
-            e.projtaskmag_optionscore = this.optionscore
-          })
-        }
-      },
-      onOnstageChange (val) {
-        if (val === 1) {
-          this.$refs.onstage.drawer = true
-        } else {
-          this.oldStage = []
-          const res = new Map();
-          this.optionscore = this.optionscore.filter((item) => !res.has(item['partiestype']) && res.set(item['partiestype'], 1));
-          this.form.projtaskmag_options.forEach(e=>{
-            e.projtaskmag_optionscore = this.optionscore
-          })
-        }
-      },
-      tableRowClassName({row,rowIndex}) {
-        row.index = rowIndex
-      },
-      addOptions(){
-        this.form.projtaskmag_options.push({
-          "sa_projtaskmag_optionsid": 0,
-          "optionname": "",
-          "remarks": "",
-          "score": 0,
-          "projtaskmag_optionscore": null
-        })
-      },
-      async onSubmit () {
-        this.form.projtaskmag_options.forEach(e=>{
-          e.projtaskmag_optionscore = e.projtaskmag_optionscore
-        })
-        const res = await this.$api.requested({
-          "id": "20221128144204",
-          "content":this.form
-        })
-        this.tool.showMessage(res,()=>{
-          this.$emit('onSuccess')
-          this.drawer = false
-        })
-      },
-      deleteOption (index) {
-        this.form.projtaskmag_options = this.form.projtaskmag_options.filter((e,idx)=>{
-          if (index !== idx) return e
-        })
-        this.activeOptions = ''
-      }
-    }
-  }
-</script>

+ 8 - 36
src/Form/projectTask/add.vue

@@ -6,6 +6,7 @@
       :visible.sync="drawer"
       direction="rtl"
       append-to-body
+      :show-close="false"
       size="80%">
       <div class="drawer__panel">
         <el-row :gutter="20">
@@ -88,7 +89,7 @@
             </el-table-column>
           </el-table>
         </div>
-        <div v-if="act_projtask">
+        <div>
           <p class="normal-title normal-margin">关联设置({{act_projtask?act_projtask.optionname:""}})</p>
           <el-table
             :data="optionscore"
@@ -142,7 +143,9 @@
           "important": 0,
           "onparties": 0,
           "onstage": 0,
-          "projtaskmag_options": []
+          "projtaskmag_options": [
+            
+          ]
         },
         optionscore:[],
 
@@ -171,22 +174,11 @@
       },
       selectFormStage(val) {
         this.projectStage = val
-
         this.selectStage(val);
       },
       // 选择客户对象
       selectObject (val) {
-        // val.length === 0?this.form.onparties = 0:""
-
 
-        // // 表格插入数据
-        // this.optionscore = val.map(e=>{
-        //   return {
-        //     partiestype:e.partiestype,
-        //     stagename:''
-        //   }
-        // // })
-        // (e == 0 && val.length === 0) ? this.form.onparties = 0 : ""
         this.objects = new Map()
         val.forEach(v => this.objects.set(v.partiestype, v))
         console.log('try calculate')
@@ -262,34 +254,14 @@
       },
       // 勾选对象状态
       onPartiesChange(val) {
-        this.selectObject(val ? this.partiesType : [])
+        val?this.$refs['onparties'].drawer = true:''
 
-        // 取消勾选
-        // if (!val) {
-        //   // 更新节点所有数据
-        //   console.log(this.projectStage)
-        //   this.optionscore = this.projectStage.map(e=>{
-        //     return {
-        //       partiestype:'',
-        //       stagename:e.stagename,
-        //       sa_projstagemagid: e.sa_projstagemagid,
-        //     }
-        //   })
-        // }
+        this.selectObject(val ? this.partiesType : [])
       },
       // 勾选阶段状态
       onOnstageChange(val) {
+        val?this.$refs['onstage'].drawer = true:''
         this.selectStage(val ? this.projectStage : [])
-        // 取消勾选
-        // if (!val) {
-        //   // 若有客户对象数据则改变结构
-        //   this.optionscore = this.partiesType.map(e=>{
-        //     return {
-        //       partiestype:e.partiestype,
-        //       stagename:'',
-        //     }
-        //   })
-        // }
       },
 
       // 新建任务

+ 0 - 347
src/Form/projectTask/edit copy.vue

@@ -1,347 +0,0 @@
-<template>
-  <div>
-    <el-button size="mini" type="primary" @click="onShow(drawer = true)">编 辑</el-button>
-    <el-drawer
-      title="我是标题"
-      :visible.sync="drawer"
-      direction="rtl"
-      append-to-body
-      size="80%">
-      <div class="drawer__panel">
-        <el-row :gutter="20">
-          <el-form :model="form" class="demo-form-inline" size="small" label-position="rigth" label-width="90px">
-            <el-col :span="20">
-              <el-form-item  style="width:100%" label="工作任务">
-                <el-input style="width:100%" v-model="form.taskname" placeholder="输入工作任务"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="4">
-              <el-form-item label="排序">
-                <el-input v-model="form.sequence"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item label="关键任务">
-                <el-radio-group class="inline-16" v-model="form.important">
-                  <el-radio :label="1">是</el-radio>
-                  <el-radio :label="0">否</el-radio>
-                </el-radio-group>
-
-                <div class="inline-16">
-                  <el-checkbox disabled v-model="form.onparties" :true-label="1" :false-label="0" @change="onPartiesChange">关联客户对象</el-checkbox>
-                  <!-- <AssociateCustomerObject ref="onparties" :data="form" class="inline-16" style="margin-left: 10px" @selectObject="selectObject"></AssociateCustomerObject> -->
-                </div>
-                <div class="inline-16">
-                  <el-checkbox disabled v-model="form.onstage" :true-label="1" :false-label="0" style="font-size: 14px" @change="onOnstageChange">关联项目阶段</el-checkbox>
-                  <!-- <AssociatedProjectPhases ref="onstage" :data="form" class="inline-16" style="margin-left: 10px" @selectStage="selectStage"></AssociatedProjectPhases> -->
-                </div>
-              </el-form-item>
-            </el-col>
-            
-          </el-form>
-        </el-row>
-        <div class="normal-margin">
-          <div class="normal-margin flex-align-center flex-between">
-            <p class="normal-title">评估项</p>
-            <!-- <el-button type="primary" size="small" @click="addOptions">添加任务</el-button> -->
-          </div>
-          <el-table
-              :data="form.projtaskmag_options"
-              style="width: 100%"
-              @row-click="rowClick"
-              :row-class-name="tableRowClassName"
-              highlight-current-row
-              border>
-            <el-table-column
-              type="index"
-              width="50">
-            </el-table-column>
-            <el-table-column
-                prop="optionname"
-                label="任务内容"
-                width="360">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.optionname" placeholder=""></el-input>
-              </template>
-            </el-table-column>
-            <el-table-column
-                prop="remarks"
-                label="描述"
-                width="0">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.remarks" placeholder=""></el-input>
-              </template>
-            </el-table-column>
-            <el-table-column
-                prop="score"
-                width="160"
-                label="独立项分值">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.score" placeholder=""></el-input>
-              </template>
-            </el-table-column>
-            <el-table-column
-                prop="operation"
-                width="100"
-                label="操作">
-              <template slot-scope="scope">
-                <el-button type="text" size="mini" :disabled="form.projtaskmag_options.length === 1" @click="deleteOption(scope.$index)">删除</el-button>
-              </template>
-            </el-table-column>
-          </el-table>
-        </div>
-        <div>
-          <p class="normal-title normal-margin">关联设置({{activeOptions}})</p>
-          <el-table
-            :data="optionscore"
-            border
-            style="width: 100%">
-            <el-table-column
-                v-if="form.onparties"
-                prop="partiestype"
-                label="客户对象"
-                >
-            </el-table-column>
-            <el-table-column
-                v-if="form.onstage"
-                prop="stagename"
-                label="项目阶段"
-                >
-            </el-table-column>
-            <el-table-column
-                prop="score"
-                label="分值">
-                <template slot-scope="scope">
-                  <el-input v-model="scope.row.score" placeholder="" @change="onScoreChange"></el-input>
-                  <!-- <input type="text" v-model="scope.row.score" @input="onScoreChange"> -->
-                </template>
-            </el-table-column>
-          </el-table>
-        </div>
-      </div>
-      <div class="fixed__btn__panel">
-        <el-button size="small" @click="drawer = false" class="normal-btn-width">取 消</el-button>
-        <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
-      </div>
-    </el-drawer>
-  </div>
-</template>
-<script>
-  import AssociateCustomerObject from '@/HDrpManagement/projectTask/modules/AssociateCustomerObject.vue'
-  import AssociatedProjectPhases from '@/HDrpManagement/projectTask/modules/AssociatedProjectStage.vue'
-  export default {
-    components:{
-      AssociateCustomerObject,
-      AssociatedProjectPhases
-    },
-    data () {
-      return {
-        drawer:false,
-        show:true,
-        form:{
-          "sa_projtaskmagid": 0,
-          "taskname": "",
-          "sequence": 0,
-          "important": 0,
-          "onparties": 0,
-          "onstage": 0,
-          "projtaskmag_options": []
-        },
-        oldData:[],
-        oldStage:[],
-        optionscore:[],
-        optionscoreStr:'',
-        n_index:null,
-        activeOptions:null
-      }
-    },
-    methods:{
-      onShow () {
-        this.queryData()
-      },
-      async queryData () {
-        const res = await this.$api.requested({
-          "id": 20221128144104,
-          "content": {
-            "sa_projtaskmagid":this.$route.query.id
-          }
-        })
-        this.form = res.data
-      },
-      selectObject (val) {
-        this.oldData = val
-        if (val.length === 0) {
-          this.form.onparties = 0
-        } else {
-          if (this.oldStage.length > 0) {
-            let arr = []
-            this.oldData.forEach(e=>{
-              this.oldStage.forEach(vl=>{
-                arr.push({
-                  sa_projtaskmag_optionscoreid:0,
-                  partiestype:e.partiestype,
-                  stagename:vl.stagename,
-                  sa_projstagemagid:vl.sa_projstagemagid,
-                  score:0
-                })
-              })
-            })
-            this.optionscore = arr.sort()
-          } else {
-            this.optionscore = val
-          }
-        }
-      },
-      selectStage (val) {
-        this.oldStage = val
-        if (val.length === 0) {
-          this.form.onstage = 0
-        } else {
-           if (this.oldData.length > 0) {
-              let arr = []
-              this.oldData.forEach(e=>{
-                this.oldStage.forEach(vl=>{
-                  arr.push({
-                    sa_projtaskmag_optionscoreid:0,
-                    partiestype:e.partiestype,
-                    stagename:vl.stagename,
-                    sa_projstagemagid:vl.sa_projstagemagid,
-                    score:0
-                  })
-                })
-              })
-              this.optionscore = arr.sort()
-            } else {
-              this.optionscore = val
-            }
-        }
-      },
-      rowClick (row, column, event) {
-        try {
-          this.n_index = row.index
-          this.activeOptions = this.form.projtaskmag_options[this.n_index].optionname
-          this.optionscore = this.form.projtaskmag_options[row.index].projtaskmag_optionscore
-        } catch (error) {
-          
-        }
-        
-      },
-      onScoreChange (row) {
-        if (!this.activeOptions) return this.$message({
-          message:'请先点击要设置的任务行',
-          type:'error'
-        })
-        this.form.projtaskmag_options[this.n_index].projtaskmag_optionscore = this.optionscore
-      },
-      arraySpanMethod({ row, column, rowIndex, columnIndex }) {
-      // 合并行列产品名字相同合并(计算组长度以内的列,需要进行合并操作的列)
-      let mergeLength = 1;//需要进行横纵合并的列
-      if (columnIndex < mergeLength) {
-        let finArray = [1,1];
-        // 处理行数据
-        let cgname = Object.keys(row)[columnIndex]
-        console.log(cgname,'---')
-        // let cgname = 'value'
-        if(rowIndex === 0 || row[cgname] !== this.optionscore[rowIndex-1][cgname]){
-          let rowspan = 1;
-          //计算需要进行合并操作的行
-          for(let i=0; i<this.optionscore.length-1; i++){
-            // 只合并连续的
-            if(this.optionscore[i][cgname] === row[cgname] && this.optionscore[i+1][cgname] === row[cgname]){
-              rowspan ++;
-            }
-          }
-          finArray[0] = rowspan;
-        }else {
-          finArray[0] = 0;
-        }
-
-        // 处理列数据
-        let colkeys = Object.keys(row);
-        let cgvalue = Object.values(row)[columnIndex]
-        if(columnIndex ===0 || row[colkeys[columnIndex-1]] !== row[colkeys[columnIndex]]){
-          let colspan = 1;
-          //计算需要进行合并操作的列
-          for(let i=columnIndex; i<mergeLength; i++) {
-            // 只合并连续的
-            if (row[colkeys[i]]===cgvalue && row[colkeys[i+1]]===cgvalue && i+1<mergeLength) {
-              colspan ++;
-            }
-          }
-          finArray[1] = colspan;
-        } else {
-          finArray[1] = 0;
-        }
-        return finArray
-      }
-      },
-      refreshTable() {
-        this.show = false
-        setTimeout(() => {
-          this.show = true
-        }, 1000);
-      },
-      onPartiesChange (val) {
-        if (val === 1) {
-          let arr = []
-
-          this.$refs.onparties.drawer = true
-          this.optionscore = arr.sort()
-        } else {
-          this.oldData = []
-          const res = new Map();
-          this.optionscore = this.optionscore.filter((item) => !res.has(item['stagename']) && res.set(item['stagename'], 1));
-          this.form.projtaskmag_options.forEach(e=>{
-            e.projtaskmag_optionscore = this.optionscore
-          })
-        }
-      },
-      onOnstageChange (val) {
-        if (val === 1) {
-          this.$refs.onstage.drawer = true
-        } else {
-          this.oldStage = []
-          const res = new Map();
-          this.optionscore = this.optionscore.filter((item) => !res.has(item['partiestype']) && res.set(item['partiestype'], 1));
-          this.form.projtaskmag_options.forEach(e=>{
-            e.projtaskmag_optionscore = this.optionscore
-          })
-        }
-      },
-      tableRowClassName({row,rowIndex}) {
-        row.index = rowIndex
-      },
-      addOptions(){
-        this.form.projtaskmag_options.push({
-          "sa_projtaskmag_optionsid": 0,
-          "optionname": "",
-          "remarks": "",
-          "score": 0,
-          "projtaskmag_optionscore": {
-            "sa_projtaskmag_optionscoreid":0,
-            "partiestype": "",
-            "sa_projstagemagid": "",
-            "score": 0
-          }
-        })
-      },
-      async onSubmit () {
-        const res = await this.$api.requested({
-          "id": "20221128144204",
-          "content":this.form
-        })
-        this.tool.showMessage(res,()=>{
-          this.$emit('onSuccess')
-          this.drawer = false
-        })
-      },
-      deleteOption (index) {
-        this.form.projtaskmag_options = this.form.projtaskmag_options.filter((e,idx)=>{
-          if (index !== idx) return e
-        })
-        this.activeOptions = ''
-        console.log(this.form.projtaskmag_options)
-      }
-    }
-  }
-</script>

+ 0 - 1
src/HDrpManagement/projectTask/modules/AssociatedProjectStage.vue

@@ -57,7 +57,6 @@ export default {
           "pageSize": 20,
           "where": {
             "condition": "",
-            "allprojecttype":"0",
             "projecttype":""
           }
         }

+ 1 - 4
src/HManagement/clueManage/m_activity/modules/details.vue

@@ -29,9 +29,6 @@
           <template v-slot:editClue="scope">
             <editClue  v-if="tool.checkAuth($route.name,'update')" :data="scope.data" @onSuccess="$refs.DetailTable.getList()"/>
           </template>
-          <!-- <template v-slot:delClue="scope">
-            <delete-btn :id="scope.data.sat_orderclueid" nameId="20221101100502" nameKey="sat_orderclueids" @deleteSuccess="$refs.DetailTable.getList()"/>
-          </template> -->
         </DetailTable>
       </div>
     </basicDetails>
@@ -39,7 +36,7 @@
 </template>
 
 <script>
-import BaseInfo from '@/HDrpManagement/projectChange/modules/modules/baseInfo/baseInfo'
+import BaseInfo from '@/HDrpManagement/projectChange/modules/modules/baseInfo/baseInfo.vue'
 import DetailTable from './detailTable'
 import relase from './relase.vue'
 import finish from './finish.vue'

+ 38 - 0
src/HManagement/task/index.vue

@@ -0,0 +1,38 @@
+<template>
+  <div>
+    <normalLayout>
+      <div slot="titleRight">
+        <add-task></add-task>
+      </div>
+      <div class="container" slot="content">
+        <el-tabs v-model="activeName" @tab-click="handleClick">
+          <el-tab-pane label="我创建的" name="5"></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-tabs>
+      </div>
+    </normalLayout>
+  </div>
+</template>
+
+<script>
+import addTask from './modules/add.vue'
+export default {
+  components:{
+    addTask
+  },
+  data () {
+    return {
+      activeName:'5'
+    }
+  },
+  methods:{
+    handleClick () {}
+  }
+}
+
+</script>
+<style>
+</style>

+ 92 - 0
src/HManagement/task/modules/add.vue

@@ -0,0 +1,92 @@
+<template>
+  <div>
+    <el-button size="mini" type="primary" @click="dialogTableVisible = true">
+        创建任务
+    </el-button>
+    <el-dialog title="新增待办" append-to-body :visible.sync="dialogTableVisible" width="700px">
+			<el-input class="normal-margin" v-model="form.title" placeholder="输入任务标题" type="text" show-word-limit maxlength="40" size="small"></el-input>
+			<el-input  class="normal-margin" v-model="form.remarks" placeholder="输入任务内容" type="textarea" show-word-limit maxlength="100" size="small"></el-input>
+			<div class="flex-align-center flex-between normal-margin">
+				<p class="task__label"><i class="el-icon-time"></i>&emsp;开始:</p>
+				<el-date-picker
+					v-model="form.starttime"
+					type="date"
+					placeholder="选择日期"
+					size="mini">
+				</el-date-picker>
+				&emsp;- &emsp;
+				<p class="task__label">结束:</p>
+				<el-date-picker
+					v-model="form.endtime"
+					type="date"
+					placeholder="选择日期"
+					size="mini">
+				</el-date-picker>
+			</div>
+			<div class="normal-margin">
+				<p class="task__label"><i class="el-icon-upload2"></i>&emsp;上传附件</p>
+				<upload type="button"></upload>
+			</div>
+			<div class="normal-margin">
+				<p class="mt-10 task__label">关联项目/客户</p>
+				<el-input placeholder="请输入内容" disabled v-model="input3" class="input-with-select" size="small">
+					<el-select v-model="form.nat" slot="prepend" style="width:100px" placeholder="请选择">
+						<el-option label="不关联" value="1"></el-option>
+						<el-option label="项目" value="2"></el-option>
+						<el-option label="客户" value="3"></el-option>
+					</el-select>
+				</el-input>
+			</div>
+			<div>
+				<p class="mt-10 task__label">执行人员</p>
+				<div class="flex-align-center flex-between">
+					<el-input placeholder="请输入内容" v-model="input3" class="input-with-select" size="small">
+						<p slot="prepend">主 办</p>
+					</el-input>
+					&emsp;
+					<el-input placeholder="请输入内容" v-model="input3" class="input-with-select" size="small">
+						<p slot="prepend">协 办</p>
+					</el-input>
+				</div>
+			</div>
+			<div slot="footer" class="dialog-footer">
+        <el-button size="small" style="width:120px" @click="dialogTableVisible = false">取 消</el-button>
+        <el-button type="warning" size="small" style="width:120px" @click="submit">创 建</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import upload from '@/components/upload/preview_upload.vue';
+export default {
+	props:['ownertable'],
+	components:{
+		upload
+	},
+	data () {
+		return {
+			dialogTableVisible:false,
+			form:{
+				"sys_taskid":0,
+        "title":"任务标题",
+        "remarks":"任务说明",
+        "starttime":"",
+        "remindday":1,
+        "ownertable":"归属表",
+        "ownerid":0,
+        "endtime":"",
+				"nat":'1'
+			}
+		}
+	},
+	methods:{
+		submit () {}
+	}
+}
+
+</script>
+<style scoped>
+.task__label{
+	color:rgb(173, 172, 172)
+}
+</style>

+ 1 - 0
src/components/normal-basic-layout/details/index.vue

@@ -75,6 +75,7 @@ export default {
           "isExport":false,
           "pageNumber": 1,
           "pageSize": 1,
+          "nocache": true,
           "where": {
             "condition": ""
           }

+ 9 - 0
src/router/index.js

@@ -43,6 +43,15 @@ let routes = [
         },
         component: () => import(/* webpackChunkName: "about" */ '@/views/homePage/index.vue')
       },
+      {
+        path: '/task',
+        name: 'task',
+        meta: {
+          title: '任务',
+          ast_nav:false
+        },
+        component: () => import(/* webpackChunkName: "about" */ '@/HManagement/task/index.vue')
+      },
       {
         path: '/mediaStock',
         name: 'mediacenter',