浏览代码

bug修复优化

qymljy 2 年之前
父节点
当前提交
9725d21f33

+ 16 - 8
src/HDrpManagement/contractManage/components/addContract.vue

@@ -77,19 +77,19 @@
                   trigger="manual"
                   v-model="agentVisible"
                   width="500">
-                  <selectAgent ref="member" :param="agentListPrams" :radio="true" @onSelect="agentChange" @onCancel="agentVisible = false"></selectAgent>
+                  <selectAgent ref="member" :param="agentListPrams"  :radio="true" @onSelect="agentChange" @onCancel="agentVisible = false"></selectAgent>
                   <el-input readonly type="text" slot="reference" size="small" @focus="showChange('agentVisible')" v-model="form.enterprisename"></el-input>
                 </el-popover>
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="项目名称:" prop="projectname">
+              <el-form-item label="项目:" prop="projectname">
                 <el-popover
                   placement="bottom"
                   trigger="manual"
                   v-model="projectVisible"
                   width="600">
-                  <seleteProject ref="project" type="2" @onSelect="projectChange" @onCanel="projectVisible=false"></seleteProject>
+                  <seleteProject ref="project" type="1" :sys_enterpriseid='form.sys_enterpriseid' @onSelect="projectChange" @onCanel="projectVisible=false"></seleteProject>
                   <el-input readonly type="text" slot="reference" size="small" v-model="form.projectname" @focus="showChange('projectVisible')"></el-input>
                 </el-popover>
               </el-form-item>
@@ -141,7 +141,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="客户" prop="enterprisename">
+              <el-form-item label="客户" prop="sys_enterpriseid">
                 <el-popover
                   placement="bottom"
                   trigger="manual"
@@ -153,7 +153,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="项目名称:" prop="projectname">
+              <el-form-item label="项目:" prop="projectname">
                 <el-popover
                   placement="bottom"
                   trigger="manual"
@@ -293,7 +293,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="项目名称:" prop="projectname">
+              <el-form-item label="项目:" prop="projectname">
                 <el-input disabled type="text" size="small" v-model="form.projectname"></el-input>
               </el-form-item>
             </el-col>
@@ -430,7 +430,7 @@ export default {
           { required: true, message: '请填写标题', trigger: 'blur' },
         ],
         sys_enterpriseid: [
-          { required: true, message: '请选择经销商', trigger: 'blur' },
+          { required: true, message: '请选择客户', trigger: 'change' },
         ],
         ascription_title: [
           { required: true, message: '请选择项目合同', trigger: 'change' },
@@ -445,7 +445,7 @@ export default {
           { required: true, message: '请选择业务员', trigger: 'change' },
         ],
         enterprisename: [
-          { required: true, message: '请选择', trigger: 'change' },
+          { required: true, message: '请选择经销商', trigger: 'change' },
         ],
         signdate: [
           { required: true, message: '请填写签约时间', trigger: 'change' },
@@ -647,7 +647,15 @@ export default {
       this.accountVisible = false
       this.modelVisible = false
       this.concratVisible = false
+      console.log(key,"key的值")
       key ? this[key] = true : ''
+      if (key === 'projectVisible'){
+        this.$refs.project.params.content.sys_enterpriseid = this.form.sys_enterpriseid
+        this.$refs.project.queryEnterpriseArchives()
+        this.$refs.form.validateField("enterprisename")
+        this.$refs.form.validateField("sys_enterpriseid")
+      }
+
     },
     agentChange (data) {
       this.form.sys_enterpriseid = data[0].sys_enterpriseid

+ 6 - 4
src/HDrpManagement/contractManage/components/productDetailList/addProduct.vue

@@ -100,8 +100,9 @@ export default {
             "items": [
               {
                 "itemid": data.itemid,
-                "price": '0',
-                "qty": '0'
+                "price": data.marketprice,
+                "qty": 1,
+                'marketprice':data.marketprice
               }
             ]
         },
@@ -116,8 +117,9 @@ export default {
       let item = this.$refs.table.tableSelectData.map(item => {
         return {
           "itemid": item.itemid,
-          "price": '0',
-          "qty": '0'
+          "price": item.marketprice,
+          "qty": 1,
+          'marketprice':item.marketprice
         }
       })
       let res = await this.$api.requested({

+ 1 - 0
src/HDrpManagement/contractManage/components/seleteProject.vue

@@ -64,6 +64,7 @@ export default {
       params:{
         "id": 20221201090802,
         "content": {
+          'sys_enterpriseid':'',
           "pageNumber": 1,
           "pageSize": 20,
           "type":'',

+ 10 - 10
src/HDrpManagement/contractManage/modules/detail.vue

@@ -249,7 +249,7 @@ export default {
           },
           {
             label:'合同模板',
-            value:this.mainData.modelname
+            value:this.mainData.type == '项目' ? this.mainData.typemx == '直销' ? '直销项目协议模板' : '经销项目协议模板' : ''
           },
           {
             label:'客户',
@@ -324,7 +324,7 @@ export default {
           },
           {
             label:'合同模板',
-            value:this.mainData.modelname
+            value:this.mainData.type == '项目' ? this.mainData.typemx == '直销' ? '直销项目协议模板' : '经销项目协议模板' : ''
           },
           {
             label:'经销商',
@@ -400,7 +400,7 @@ export default {
           },
           {
             label:'合同模板',
-            value:this.mainData.modelname
+            value:'经销商合作协议模板'
           },
           {
             label:'经销商',
@@ -476,7 +476,7 @@ export default {
           },
           {
             label:'合同模板',
-            value:this.mainData.modelname
+            value:'工具借用协议模板'
           },
           {
             label:'客户',
@@ -547,7 +547,7 @@ export default {
           },
           {
             label:'合同模板',
-            value:this.mainData.modelname
+            value:'居间协议模板'
           },
           {
             label:'项目合同',
@@ -631,7 +631,7 @@ export default {
                   },
                   {
                     label:'合同模板',
-                    value:this.mainData.modelname
+                    value:this.mainData.type == '项目' ? this.mainData.typemx == '直销' ? '直销项目协议模板' : '经销项目协议模板' : ''
                   },
                   {
                     label:'客户',
@@ -712,7 +712,7 @@ export default {
                   },
                   {
                     label:'合同模板',
-                    value:this.mainData.modelname
+                    value:this.mainData.type == '项目' ? this.mainData.typemx == '直销' ? '直销项目协议模板' : '经销项目协议模板' : ''
                   },
                   {
                     label:'经销商',
@@ -794,7 +794,7 @@ export default {
                   },
                   {
                     label:'合同模板',
-                    value:this.mainData.modelname
+                    value:'经销商合作协议模板'
                   },
                   {
                     label:'经销商',
@@ -876,7 +876,7 @@ export default {
                       },
                       {
                         label:'合同模板',
-                        value:this.mainData.modelname
+                        value:'工具借用协议模板'
                       },
                       {
                         label:'客户',
@@ -953,7 +953,7 @@ export default {
                       },
                       {
                         label:'合同模板',
-                        value:this.mainData.modelname
+                        value:'居间协议模板'
                       },
                       {
                         label:'项目合同',

+ 18 - 1
src/HManagement/salesForecastTemplate/modules/modelDetail.vue

@@ -73,9 +73,26 @@ export default {
     },
     changeDataStructure() {
       let that = this
+      function test (){
+        let val = ''
+        that.mainData.taskdayschange.forEach((e,index) => {
+          if (index === that.mainData.taskdayschange.length -1){
+            val += `${e}天`
+          }else {
+            val += `${e}天,`
+          }
+
+        })
+        return val
+      }
       this.mainAreaData = [
-       {label:'提报要求',value:this.mainData.remarks},
+        {label:'提报要求',value:this.mainData.remarks},
         {label:'提报类型',value:this.mainData.isrepeat == 1 ?'月度提报':'单次提报'},
+        {label:'提报开始时间',value:this.mainData.begdate},
+        {label:'提报周期',value:this.mainData.isrepeat === 0?this.mainData.taskdayschange[0]+'天':test()},
+        /*{label:'有效期',value:this.mainData.remarks},
+        {label:'发布范围',value:''},*/
+
         {label:'预测金额',value:this.mainData.outamountsum},
         {label:'负责人',value:this.mainData.createby},
         {

+ 1 - 1
src/SManagement/orderclue/components/edit.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="edit">
-    <el-button size="mini" :type="disabled ? 'defalt':'primary'" :disabled="disabled" @click="editBtn">编 辑</el-button>
+    <el-button size="mini" :type="disabled || data.status === '已无效' ? 'defalt':'primary'" :disabled="disabled || data.status === '已无效'" @click="editBtn">编 辑</el-button>
     <el-drawer title="编辑线索" :visible.sync="drawer" size="600px" direction="rtl" append-to-body :show-close="false" @close="onClose">
       <div class="drawer__panel">
         <el-row :gutter="10">

+ 4 - 3
src/SManagement/orderclue/components/follow.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="follow" style="margin-right:10px">
-    <el-button size="mini" :type="disabled?'':'primary'" @click="followBtn" :disabled="disabled">跟进</el-button>
+    <el-button size="mini" :type="disabled || data.status === '已无效'?'':'primary'" @click="followBtn" :disabled="disabled || data.status === '已无效'">跟进</el-button>
     <el-drawer title="线索跟进" append-to-body :visible.sync="dialogVisible" size="30%" :before-close="handleClose" :show-close="false">
       <div class="drawer__panel">
         <el-form :model="param" :rules="rules" ref="ruleForm" label-width="110px" class="demo-ruleForm"
@@ -87,7 +87,7 @@ export default {
     detailInfo: {
       default () {
         return []
-      }
+      },
     },
     position: {
       type: String
@@ -98,7 +98,8 @@ export default {
     getDetail: {
       type: Function
     },
-    disabled: Boolean
+    disabled: Boolean,
+    data:{}
   },
   watch: {
     dialogVisible(val) {

+ 1 - 1
src/SManagement/orderclue_detail/components/changeCustomer.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-button size="mini" :type="disabled?'':'primary'" @click="onShow" :disabled="disabled" >转化客户</el-button>
+    <el-button size="mini" :type="disabled || data.status === '已无效'?'':'primary'" @click="onShow" :disabled="disabled || data.status === '已无效'" >转化客户</el-button>
     <el-drawer
         title="转化为客户"
         :visible.sync="drawer"

+ 2 - 2
src/SManagement/orderclue_detail/components/changeData.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-button size="mini" :type="disabled?'':'primary'" @click="dialog=true" :disabled="disabled">转化项目</el-button>
+    <el-button size="mini" :type="disabled || data.status === '已无效'?'':'primary'" @click="dialog=true" :disabled="disabled || data.status === '已无效'">转化项目</el-button>
     <el-dialog append-to-body width="30%" title="转化为项目商机" :visible.sync="dialog">
       <el-form :model="form" :rules="rules" ref="form" label-width="90px" label-position="right" size="mini">
           <el-col :span="24">
@@ -52,7 +52,7 @@ export default {
       projectType:[],
     };
   },
-  props:['idName','idKey','id','disabled'],
+  props:['idName','idKey','id','disabled','data'],
   computed:{
   },
   async created () {

+ 1 - 1
src/SManagement/orderclue_detail/components/delete.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-button size="mini" :type="disabled?'':'primary'" @click="dialog=true" :disabled="disabled">作 废</el-button>
+    <el-button size="mini" :type="disabled || data.status === '已无效'?'':'primary'" @click="dialog=true" :disabled="disabled || data.status === '已无效'">作 废</el-button>
     <el-dialog append-to-body width="30%" title="作废" :visible.sync="dialog">
       <el-input type="textarea" v-model="deletereason" size="small" :autosize="{minRows:6}" placeholder="作废原因"></el-input>
       <div class="dialog-footer">

+ 2 - 2
src/SManagement/orderclue_detail/components/noNull.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="inline-16">
-    <el-button size="mini" :type="disabled?'':'primary'" :disabled="disabled" @click="dialog=true">无 效</el-button>
+    <el-button size="mini" :type="disabled || data.status === '已无效'?'':'primary'" :disabled="disabled || data.status === '已无效'" @click="dialog=true">无 效</el-button>
     <el-dialog append-to-body width="30%" title="无效" :visible.sync="dialog">
       <el-input type="textarea" v-model="deletereason" size="small" placeholder="无效原因"></el-input>
       <div class="dialog-footer">
@@ -18,7 +18,7 @@ nameId:接口id
 nameKey:接口字段
  */
 export default {
-  props: ['id','disabled'],
+  props: ['id','disabled','data'],
   data () {
     return {
       deletereason:'',

+ 4 - 4
src/SManagement/orderclue_detail/index.vue

@@ -17,16 +17,16 @@
         <edit class="inline-16" v-if="Object.keys(mainData).length > 0 && tool.checkAuth($route.name,'update')" :disabled="!isHandle" :data="mainData" @onSuccess="queryMainData"/>
         <follow :detailInfo="mainData" 
           v-if="tool.checkAuth($route.name,'follow')"
-          @updataList="queryMainData();$refs.followDetail.getFollowDetail()" @onSuccess="onFollow" :disabled="!isHandle"></follow>
+          @updataList="queryMainData();$refs.followDetail.getFollowDetail()" @onSuccess="onFollow" :disabled="!isHandle" :data="mainData"></follow>
         <!-- <move :data="mainData" 
           @updataList="queryMainData" 
           :teamList="teamList()"  
           v-if="userInfo.isAuth == 1 ? mainData.status == '待跟进' || mainData.status == '跟进中' : ''"></move> -->
         <changeProject v-if="mainData.isproject == 0 && tool.checkAuth($route.name,'changeProject')" :data="mainData" :disabled="!isHandle" class="inline-16"/>
         <changeCustomer v-if="mainData.iscustomer == 0 && tool.checkAuth($route.name,'changeCutomer')" :data="mainData" :disabled="!isHandle" class="inline-16" @onChangeCustomer="onChangeCustomer"></changeCustomer>
-        <el-button :type="!isHandle?'':'primary'" v-if="tool.checkAuth($route.name,'goBack') && mainData.status != '已转化' && mainData.isprivate !== 1" :disabled="!isHandle" class="inline-16" size="mini" @click="goBack">退 回</el-button>
-        <noNull v-if="tool.checkAuth($route.name,'change') && mainData.status != '已转化'" class="inline-16" :disabled="!isHandle" @onSuccess="$store.dispatch('changeDetailDrawer',false);$router.replace('/orderclue')" :id="mainData.sat_orderclueid"/>
-        <Del v-if="tool.checkAuth($route.name,'delete') && mainData.status != '已转化'" class="inline-16" :disabled="!isHandle" :idName="20221123193702" @onSuccess="$store.dispatch('changeDetailDrawer',false);$router.replace('/orderclue')" :id="mainData.sat_orderclueid" idKey="sat_orderclueids"/>
+        <el-button :type="!isHandle || mainData.status === '已无效'?'':'primary'" v-if="tool.checkAuth($route.name,'goBack') && mainData.status != '已转化' && mainData.isprivate !== 1" :disabled="!isHandle || mainData.status === '已无效'" class="inline-16" size="mini" @click="goBack">退 回</el-button>
+        <noNull v-if="tool.checkAuth($route.name,'noNull') && mainData.status != '已转化' " class="inline-16" :data="mainData" :disabled="!isHandle" @onSuccess="$store.dispatch('changeDetailDrawer',false);$router.replace('/orderclue')" :id="mainData.sat_orderclueid"/>
+        <Del v-if="tool.checkAuth($route.name,'delete') && mainData.status != '已转化'" class="inline-16" :data="mainData" :disabled="!isHandle" :idName="20221123193702" @onSuccess="$store.dispatch('changeDetailDrawer',false);$router.replace('/orderclue')" :id="mainData.sat_orderclueid" idKey="sat_orderclueids"/>
       </div>
       <div slot="slot1" class="container normal-panel">
         <BaseInfo :detailInfo="detailInfo"/>

+ 1 - 1
src/SManagement/sales_forecast/modules/modelDetail.vue

@@ -6,7 +6,7 @@
         :titleText="`提报单号:${mainData.billnum}`"
         :editData="mainData"
         :mainAreaData="mainAreaData"
-        turnPageId="20220906154403"
+        turnPageId="20220908134403"
         idname="sa_salesforecastbillid"
         :tabs="['项目产品清单']"
         @pageChange="pageChange"

+ 1 - 0
src/SManagement/sales_forecast/modules/product.vue

@@ -144,6 +144,7 @@ export default {
       this.param.content.where.sa_projectid = sa_projectid
       const res = await this.$api.requested(this.param)
       this.list = res.data
+      console.log(this.list,"产品列表信息")
       this.total = res.total
       this.currentPage = res.pageNumber
     },

+ 3 - 2
src/SManagement/sales_forecast/modules/project.vue

@@ -113,6 +113,7 @@ export default {
     },
     rowClick (row) {
       this.act_row = row
+      this.listData()
       this.$emit('queryProduct',row.sa_projectid)
     },
     /*是否过期*/
@@ -128,7 +129,7 @@ export default {
       }
     }
   },
-  /*watch:{
+  watch:{
     mainData (val) {
       let date = new Date(this.mainData.periodend)
       let now = Date.now()
@@ -140,7 +141,7 @@ export default {
         this.checkDateOut = true
       }
     }
-  },*/
+  },
   mounted () {
     this.listData()
     this.isOverdue()

+ 102 - 14
src/components/normal-basic-layout/details/modules/task/addTask.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-button size="small" type="text" @click="dialogTableVisible = true">
+    <el-button size="small" type="text" @click="onShow">
         创建任务
     </el-button>
     <el-dialog title="创建任务" append-to-body :visible.sync="dialogTableVisible" width="700px" :before-close="onCancel">
@@ -32,7 +32,7 @@
 				</el-date-picker>
 			</div>
 			<div class="normal-margin flex-align-center">
-				<p class="task__label"><i class="el-icon-bell"></i>&emsp;提醒时间&emsp;</p>
+				<p class="task__label"><i class="el-icon-bell"></i>&emsp;提醒时间:结束前&emsp;</p>
 				<el-input :disabled="!form.endtime" v-model="form.remindday" size="small" style="width:90px"></el-input>
 				<p>&emsp;天</p>
 			</div>
@@ -56,19 +56,28 @@
 				</el-input>
 			</div> -->
 			<div>
-				<p class="mt-10 task__label">执行人员</p>
+<!--				<p class="mt-10 task__label">执行人员</p>-->
 				<div class="flex-align-center flex-between">
 					<el-popover
 						placement="right"
 						trigger="manual"
 						width="400"
-						v-model="visible">
+						v-model="leaderShow">
 						<member ref="member" :param="param" :radio="true" @onSelect="setLeader" @onCancel="onCancel" source="task"></member>
 						<el-input placeholder="请输入内容" readonly v-model="leader.name" class="input-with-select" size="small" slot="reference" @focus="showMenber">
-							<p slot="prepend">主 办</p>
+							<p slot="prepend">执行人</p>
 						</el-input>
 					</el-popover>
-					
+          <el-popover
+              placement="right"
+              trigger="manual"
+              width="400"
+              v-model="assistShow">
+            <member ref="memberAssist" :param="param" :implement="form.leaderuserid" :radio="false" @onSelect="setAssist" @onCancel="assistShow = false"></member>
+            <el-input placeholder="请输入内容" readonly v-model="assistPerson" class="input-with-select" size="small" slot="reference" @focus="showMenberAssist">
+              <p slot="prepend">协助人</p>
+            </el-input>
+          </el-popover>
 					<!-- &emsp;
 					<el-input placeholder="请输入内容" v-model="input3" class="input-with-select" size="small">
 						<p slot="prepend">协 办</p>
@@ -83,7 +92,8 @@
   </div>
 </template>
 <script>
-import member from './groupMenber.vue'
+// import member from './groupMenber.vue'
+import member from '@/template/menber/index'
 
 import upload from '@/components/upload/preview_upload.vue';
 export default {
@@ -94,7 +104,8 @@ export default {
 	},
 	data () {
 		return {
-			visible:false,
+      leaderShow:false,
+      assistShow:false,
 			dialogTableVisible:false,
 			folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
 			form:{
@@ -108,8 +119,8 @@ export default {
         "endtime":"",
 				"leaderuserid":""
 			},
-			// 查询可选择人员参数
-			param:{
+			// 查询团队人员参数
+			params:{
         "id": 20220930103501,
         "content": {
           "ownertable":this.ownertable,
@@ -118,13 +129,54 @@ export default {
 						condition:''
 					}
         }
+      },
+      // 查询可选择人员参数
+      param:{
+        id:'20221018122201',
+        content: {
+          "ownertable":'sys_task',
+          "ownerid":0,
+          "pageSize":20,
+          "where":{
+            "condition":"",
+            "withoutselect":0,
+
+          }
+        }
       },
 			errormsg:'',
 			bindData:{},
-			leader:{}
+			leader:{},
+      assist:[],
+      assistPerson:'',
+      implement:''
 		}
 	},
 	methods:{
+    onShow(){
+      this.dialogTableVisible = true
+      this.queryTeam()
+    },
+    /*获取团队信息*/
+    async queryTeam(){
+      const res = await this.$api.requested(this.params)
+      console.log(res,"团队信息")
+      if (res.data.length !== 0){
+        this.leader = res.data[0].teamleader[0]
+        this.implement = res.data[0].teamleader[0].userid
+        this.form.leaderuserid = res.data[0].teamleader[0].userid
+        this.assistPerson = ''
+        this.assist = []
+        res.data[0].team.forEach((item,index)=>{
+          if (index === 1){
+            this.assistPerson = item.name
+          }else {
+            this.assistPerson = this.assistPerson + ',' + item.name
+          }
+          this.assist[index] = item.userid
+        })
+      }
+    },
 		validateInput () {
 			if (!this.form.title) {
 				this.errormsg = '请输入标题'
@@ -139,8 +191,24 @@ export default {
 		setLeader (val) {
 			this.leader = val[0]
 			this.form.leaderuserid = val[0].userid
-			this.visible = false
+      this.implement = this.form.leaderuserid
+			this.leaderShow = false
 		},
+    setAssist (val) {
+      console.log(val)
+      this.assistPerson = ''
+      this.assist = []
+      val.forEach((item,index)=>{
+        if (index === 0){
+          this.assistPerson = item.name
+        }else {
+          this.assistPerson = this.assistPerson + ',' + item.name
+        }
+        this.assist[index] = item.userid
+      })
+      console.log(this.assistPerson)
+      this.assistShow = false
+    },
 		async submit () {
 			this.form.ownertable = this.ownertable
 			const res = await this.$api.requested({
@@ -159,6 +227,7 @@ export default {
 				this.dialogTableVisible = false
 				this.refresh()
 				this.errormsg = ''
+        this.insertAssist(res.data.sys_taskid)
       })
 		},
 		refresh () {
@@ -174,11 +243,30 @@ export default {
 			}
 		},
 		showMenber () {
-			this.visible = true
+			this.leaderShow = true
+      this.assistShow = false
 			// this.validateInput()
 		},
+    showMenberAssist () {
+      this.assistShow = true
+      this.leaderShow = false
+      this.$refs.memberAssist.listData()
+      // this.validateInput()
+    },
+    async insertAssist(id){
+      const res = await this.$api.requested({
+        "id": 20220930103601,
+        "content": {
+          "ownertable":"sys_task",
+          "ownerid":id,
+          "userids":this.assist,
+          "justuserids":true
+        }
+      })
+    },
 		onCancel (done) {
-			this.visible = false
+      this.assistShow = false
+      this.leaderShow = false
 			done?done():""
 		}
 	}

+ 192 - 0
src/components/normal-basic-layout/details/modules/task/addTaskCopy.vue

@@ -0,0 +1,192 @@
+<template>
+  <div>
+    <el-button size="small" type="text" @click="dialogTableVisible = true">
+        创建任务
+    </el-button>
+    <el-dialog title="创建任务" append-to-body :visible.sync="dialogTableVisible" width="700px" :before-close="onCancel">
+			<el-alert
+				v-if="errormsg"
+				class="normal-margin"
+				:title="errormsg"
+				type="error">
+			</el-alert>
+			<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="输入任务内容" :autosize="{minRows:6}" 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="选择日期"
+					value-format="yyyy-MM-dd"
+					size="small">
+				</el-date-picker>
+				&emsp;- &emsp;
+				<p class="task__label">结束:</p>
+				<el-date-picker
+					v-model="form.endtime"
+					type="date"
+					placeholder="选择日期"
+					value-format="yyyy-MM-dd"
+					size="small">
+				</el-date-picker>
+			</div>
+			<div class="normal-margin flex-align-center">
+				<p class="task__label"><i class="el-icon-bell"></i>&emsp;提醒时间&emsp;</p>
+				<el-input :disabled="!form.endtime" v-model="form.remindday" size="small" style="width:90px"></el-input>
+				<p>&emsp;天</p>
+			</div>
+			<div class="normal-margin">
+				<p class="task__label"><i class="el-icon-upload2"></i>&emsp;上传附件</p>
+				<upload
+					ref="upload"
+					:folderid="folderid"
+					:bindData="bindData"
+					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-popover
+						placement="right"
+						trigger="manual"
+						width="400"
+						v-model="visible">
+						<member ref="member" :param="param" :radio="true" @onSelect="setLeader" @onCancel="onCancel" source="task"></member>
+						<el-input placeholder="请输入内容" readonly v-model="leader.name" class="input-with-select" size="small" slot="reference" @focus="showMenber">
+							<p slot="prepend">主 办</p>
+						</el-input>
+					</el-popover>
+					
+					<!-- &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="validateInput">创 建</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import member from './groupMenber.vue'
+
+import upload from '@/components/upload/preview_upload.vue';
+export default {
+	props:['ownertable'],
+	components:{
+		upload,
+		member
+	},
+	data () {
+		return {
+			visible:false,
+			dialogTableVisible:false,
+			folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
+			form:{
+				"sys_taskid":0,
+        "title":"",
+        "remarks":"",
+        "starttime":"",
+        "remindday":0,
+        "ownertable":"",
+        "ownerid":this.$route.query.id,
+        "endtime":"",
+				"leaderuserid":""
+			},
+			// 查询可选择人员参数
+			param:{
+        "id": 20220930103501,
+        "content": {
+          "ownertable":this.ownertable,
+          "ownerid":this.$route.query.id,
+					"where":{
+						condition:''
+					}
+        }
+      },
+			errormsg:'',
+			bindData:{},
+			leader:{}
+		}
+	},
+	methods:{
+		validateInput () {
+			if (!this.form.title) {
+				this.errormsg = '请输入标题'
+				return false
+			} else if (!this.form.starttime) {
+				this.errormsg = '请选择开始日期'
+				return false
+			} else {
+				this.submit()
+			}
+		},
+		setLeader (val) {
+			this.leader = val[0]
+			this.form.leaderuserid = val[0].userid
+			this.visible = false
+		},
+		async submit () {
+			this.form.ownertable = this.ownertable
+			const res = await this.$api.requested({
+        "id": 20221211112101,
+        "content":this.form
+      })
+      this.tool.showMessage(res,()=>{
+				this.param.content.ownerid = res.data.sys_taskid
+        this.bindData = {
+          "ownertable": 'sys_task',
+          "ownerid": res.data.sys_taskid,
+          "usetype": 'default',
+        }
+        this.$refs['upload'].toUpload()
+        this.$emit('onSuccess')
+				this.dialogTableVisible = false
+				this.refresh()
+				this.errormsg = ''
+      })
+		},
+		refresh () {
+			this.form = {
+				"sys_taskid":0,
+        "title":"任务标题",
+        "remarks":"任务说明",
+        "starttime":"",
+        "remindday":0,
+        "ownertable":"",
+        "ownerid":this.$route.query.id,
+        "endtime":""
+			}
+		},
+		showMenber () {
+			this.visible = true
+			// this.validateInput()
+		},
+		onCancel (done) {
+			this.visible = false
+			done?done():""
+		}
+	}
+}
+
+</script>
+<style scoped>
+.task__label{
+	color:rgb(173, 172, 172);
+}
+</style>

+ 2 - 1
src/components/normal-basic-layout/details/modules/task/groupMenber.vue

@@ -55,7 +55,8 @@ export default {
     async listData () {
 			this.param.content.where.condition = this.search
       const res = await this.$api.requested(this.param)
-      this.tableData = res.data[0].team
+      /*this.tableData = res.data[0].team*/
+      this.tableData = res.data
     },
 		clickMenber (item) {
 			if (this.radio) {