Browse Source

2022-11-15 11:30

codeMan 2 years ago
parent
commit
225f0f58ee

+ 4 - 4
src/HDrpManagement/projectChange/modules/modules/baseInfo/baseInfo.vue

@@ -1,13 +1,13 @@
 <template>
   <div>
-    <div class="container" style="margin-top: 2%">
-      <el-descriptions title="基本信息">
+    <div class="normal-margin">
+      <el-descriptions :column="2" title="基本信息" labelClassName="my-label" contentClassName="my-content" border>
         <el-descriptions-item v-for="(item,index) in detailInfo.baseInfo" :key="index" :label="item.label">{{ item.value ? item.value : '--' }}</el-descriptions-item>
       </el-descriptions>
     </div>
 
-    <div class="container normal-panel" style="margin-top: 2%">
-      <el-descriptions title="系统信息">
+    <div class="normal-margin">
+      <el-descriptions :column="2" title="系统信息" labelClassName="my-label" contentClassName="my-content" border>
         <el-descriptions-item v-for="(item,index) in detailInfo.systemInfo" :key="index" :label="item.label">{{ item.value ? item.value : '--' }}</el-descriptions-item>
       </el-descriptions>
     </div>

+ 21 - 5
src/HManagement/addressList/mycontact/index.vue

@@ -1,8 +1,16 @@
 <template>
   <div>
-    <add :group="group" @onAddSuccess="onAddSuccess"></add>
     <div class="flex-align-stretch">
-      <group ref="grouplist" @setGroupData="setGroupData" @clickGroup="clickGroup"></group>
+      <group ref="grouplist" @setGroupData="setGroupData" @clickGroup="clickGroup">
+        <add-contact v-if="tool.checkAuth($route.name,'addContact')" slot="addContact" :group="group" @onAddSuccess="onAddSuccess"></add-contact>
+        <add-group v-if="tool.checkAuth($route.name,'addGroup')" slot="addGroup" @onSuccess="onAddSuccess"></add-group>
+        <template v-slot:edit="scope">
+          <editGroup v-if="tool.checkAuth($route.name,'editGroup')" :data="scope.data" @onSuccess="onAddSuccess"></editGroup>
+        </template>
+        <template v-slot:del="scope">
+          <delGroup v-if="tool.checkAuth($route.name,'deleteGroup')" :data="scope.data" @onSuccess="onAddSuccess"></delGroup>
+        </template>
+      </group>  
       <contacts style="flex:1 0 auto" :data="activeGroupData" @clickContacts="clickContacts" @filtetContacts="filtetContacts"></contacts>
       <detail :activeContactsData="activeContactsData">
         <template v-slot:edit="data">
@@ -17,22 +25,29 @@
 </template>
 
 <script>
-import add from './modules/add.vue'
+import addContact from './modules/addContact.vue'
+import addGroup from './modules/addGroup.vue'
 import group from './modules/group.vue'
 import contacts from './modules/contacts.vue'
 import detail from './modules/detail.vue'
 import edit from './modules/edit.vue'
 
+import  editGroup from './modules/editGroup.vue'
+import  delGroup from './modules/delGroup.vue'
+
 import ondel from './modules/del.vue'
 
 export default {
   components:{
-    add,
+    addContact,
+    addGroup,
     group,
     contacts,
     detail,
     ondel,
-    edit
+    edit,
+    editGroup,
+    delGroup
   },
   data () {
     return {
@@ -51,6 +66,7 @@ export default {
       })
     },
     onEditSuccess (form) {
+      this.$refs['grouplist'].listData()
       this.activeContactsData = Object.assign({},this.activeContactsData,form)
       this.activeGroupData.phonebook = this.activeGroupData.phonebook.map(e=>{
         if (e.rowindex === form.rowindex) {

+ 6 - 3
src/HManagement/addressList/mycontact/modules/add.vue → src/HManagement/addressList/mycontact/modules/addContact.vue

@@ -1,6 +1,6 @@
 <template>
-  <div class="container normal-panel">
-    <el-button type="primary" size="small" icon="el-icon-plus" @click="onShow(dialogFormVisible = true)">新建联系人</el-button>
+  <div>
+    <el-button type="primary" size="mini" icon="el-icon-plus" @click="onShow(dialogFormVisible = true)">新建联系人</el-button>
     <el-dialog title="新建联系人" append-to-body :visible.sync="dialogFormVisible" width="50%">
       <el-row :gutter="20">
         <el-form :model="form" ref="form" label-position="right" label-width="80px" size="small">
@@ -176,5 +176,8 @@ export default {
 }
 
 </script>
-<style>
+<style scoped>
+/deep/.el-dialog__body {
+  padding-bottom: 0;
+}
 </style>

+ 57 - 0
src/HManagement/addressList/mycontact/modules/addGroup.vue

@@ -0,0 +1,57 @@
+<template>
+  <div class="container normal-panel">
+    <el-button type="primary" size="mini" icon="el-icon-plus" @click="dialogFormVisible = true">新建群组</el-button>
+    <el-dialog title="新建群组" append-to-body :visible.sync="dialogFormVisible" width="600px">
+      <el-form :model="form" ref="form" label-position="right" label-width="80px" size="small">
+        <el-form-item label="群组名称" prop="groupname" :rules="[
+          { required: true, message: '群组名称不能为空'},
+        ]">
+          <el-input v-model="form.groupname" autocomplete="on" placeholder="输入群组名称"></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button size="small" style="width:120px" @click="dialogFormVisible = false">取 消</el-button>
+        <el-button size="small" style="width:120px" type="primary" @click="addGroup()">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  data () {
+    return {
+      dialogFormVisible:false,
+      form:{}
+    }
+  },
+  methods:{
+    async addGroup () {
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid)  return false;
+        const res = await this.$api.requested({
+          "id": "20220831164203",
+          "version":1,
+          "content": {
+            "sys_phonebookgroupid":0,     //sys_phonebookgroupid<=0时 为新增
+            "groupname":this.form.groupname
+          }
+        })
+        this.tool.showMessage(res,()=>{
+          setTimeout(() => {
+            this.$emit('onSuccess')
+          }, 500);
+          this.$refs.form.resetFields()
+          this.dialogFormVisible = false
+        })
+      });
+    }
+  }
+}
+
+</script>
+<style scoped>
+/deep/.el-dialog__body {
+  padding-bottom: 0;
+}
+</style>

+ 33 - 0
src/HManagement/addressList/mycontact/modules/delGroup.vue

@@ -0,0 +1,33 @@
+<template>
+  <div>
+    <el-popconfirm
+      title="确定删除当前分组吗?"
+      @confirm="deleteRow()">
+      <el-button slot="reference" type="text" icon="el-icon-delete" size="small" style="color:#333">删 除</el-button>
+    </el-popconfirm>
+    
+  </div>
+</template>
+
+<script>
+export default {
+  props:['data'],
+  methods:{
+    async deleteRow () {
+      const res = await this.$api.requested({
+        "id": "20220831164403",
+        "version":1,
+        "content": {
+          "sys_phonebookgroupid":this.data.sys_phonebookgroupid
+        }
+      })
+      this.tool.showMessage(res,()=>{
+        this.$emit('onSuccess')
+      })
+    }
+  }
+}
+
+</script>
+<style>
+</style>

+ 57 - 0
src/HManagement/addressList/mycontact/modules/editGroup.vue

@@ -0,0 +1,57 @@
+<template>
+  <div>
+    <el-button type="text" icon="el-icon-edit" size="small" class="inline-16" style="color:#333" @click="onShow()">编 辑</el-button>
+    <el-dialog title="编辑群组" append-to-body :visible.sync="dialogFormVisible" width="600px">
+      <el-form :model="form" ref="form" label-position="right" label-width="80px" size="small">
+        <el-form-item label="群组名称" prop="groupname" :rules="[
+          { required: true, message: '群组名称不能为空'},
+        ]">
+          <el-input v-model="form.groupname" autocomplete="on" placeholder="输入群组名称"></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button size="small" style="width:120px" @click="dialogFormVisible = false">取 消</el-button>
+        <el-button size="small" style="width:120px" type="primary" @click="addGroup()">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { log } from '@antv/g2plot/lib/utils'
+export default {
+  props:['data'],
+  data () {
+    return {
+      dialogFormVisible:false,
+      form:{}
+    }
+  },
+  methods:{
+    onShow () {
+      this.dialogFormVisible = true
+      this.form = Object.assign({},this.form,this.data)
+    },
+    addGroup () {
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid)  return false;
+        const res = this.$api.requested({
+          "id": "20220831164203",
+          "version":1,
+          "content": this.form
+        })
+        this.tool.showMessage(res,()=>{
+          setTimeout(() => {
+            this.$emit('onSuccess')
+          }, 500);
+          this.$refs.form.resetFields()
+          this.dialogFormVisible = false
+        })
+      });
+    }
+  }
+}
+
+</script>
+<style>
+</style>

+ 11 - 4
src/HManagement/addressList/mycontact/modules/group.vue

@@ -1,7 +1,10 @@
 <template>
-  <div class="normal-panel scroll-panel">
+  <div class="normal-panel scroll-panel" style="width:300px">
     <div style="margin-bottom:30px">
-      <p class="container normal-title" style="margin:5px 0">系统群组</p>
+      <div style="display:flex;align-items:center"> 
+        <p class="container normal-title" style="margin:5px 0">系统群组</p>
+        <slot name="addContact"></slot>
+      </div>
       <ul>
         <li @click="clickGroup(item)" v-for="item in sysGroup" :key="item.index" :class="active === item.rowindex?'act':''" class="pd-t-b flex-align-center flex-between">
           <div class="flex-align-stretch">
@@ -15,7 +18,10 @@
       </ul>
     </div>
     <div>
-      <p class="container normal-title">自定义群组</p>
+      <div style="display:flex;align-items:center"> 
+        <p class="normal-title" style="padding-left:16px;width:200px">自定义群组</p>
+        <slot name="addGroup"></slot>
+      </div>
       <ul>
         <li @click="clickGroup(item)" v-for="item in myGroup" :key="item.index" :class="active === item.rowindex?'act':''" class="pd-t-b flex-align-center flex-between">
           <div class="flex-align-stretch">
@@ -25,7 +31,7 @@
               <small class="color-grey">已有{{item.count}} 人</small>
             </div>
           </div>
-          <div>
+          <div style="display:flex">
             <slot name="edit" :data="item"></slot>
             <slot name="del" :data="item"></slot>
           </div>
@@ -50,6 +56,7 @@ export default {
         "id": "20220831164603",
         "version":1,
         "content": {
+          "nocache":true,
             "where":{
               "condition":""
           }

+ 8 - 10
src/HManagement/clueManage/clue_import/detailPage/index.vue

@@ -19,18 +19,14 @@
       <div slot="tags">
       </div>
       <div slot="customOperation">
-        <div v-if="tool.checkAuth($route.name,'update') && mainData.status === '待审核'" class="container normal-panel sticky inline-16">
+        <!-- <div v-if="tool.checkAuth($route.name,'update') && mainData.status === '待审核'" class="container normal-panel sticky inline-16">
           <save  @onSave="updateOrderclueuploadbill"></save>
-          <!-- <switchData></switchData> -->
-        </div>
-        <el-popover placement="bottom" style="20px">
-          <onDel v-if="tool.checkAuth($route.name,'delete') && mainData.status === '待审核'"></onDel>
-          <onCheck v-if="tool.checkAuth($route.name,'check')" :status="mainData.status" @onSuccess="queryMainData"></onCheck>
-          <el-button size="mini" slot="reference" icon="el-icon-more"></el-button>
-        </el-popover>
+        </div> -->
+        <!-- <onDel v-if="tool.checkAuth($route.name,'delete') && mainData.status === '待审核'"></onDel> -->
+        <onCheck v-if="tool.checkAuth($route.name,'check')" :status="mainData.status" @onSuccess="queryMainData"></onCheck>
       </div>
       <div slot="slot0" class="container normal-panel">
-        <BaseInfo :detailInfo="detailInfo"/>
+        <BaseInfo :detailInfo="detailInfo"></BaseInfo>
       </div>
       <div slot="slot1" class="container normal-panel">
         <billBody :mainData="mainData"/>
@@ -40,12 +36,14 @@
 </template>
 
 <script>
-import BaseInfo from '@/HDrpManagement/projectChange/modules/modules/baseInfo/baseInfo'
 import save from './modules/op_save.vue'
 import onDel from './modules/op_del.vue'
 import onCheck from './modules/op_check.vue'
 import switchData from './modules/switchData.vue'
 import billBody from './modules/billBody.vue'
+
+import BaseInfo from '@/HDrpManagement/projectChange/modules/modules/baseInfo/baseInfo'
+
 export default {
   name: "detail",
   data() {

+ 2 - 2
src/HManagement/clueManage/clue_import/detailPage/modules/op_check.vue

@@ -1,6 +1,6 @@
 <template>
-  <div class="inline-16" style="width:100%">
-    <el-button type="text" size="mini"  style="width:100%" @click="onDel">{{status === '已审核'?'反审核':'审 核'}}</el-button>
+  <div class="inline-16">
+    <el-button size="mini" @click="onDel">{{status === '已审核'?'反审核':'审 核'}}</el-button>
   </div>
 </template>
 

+ 2 - 2
src/HManagement/clueManage/clue_import/detailPage/modules/op_del.vue

@@ -1,6 +1,6 @@
 <template>
-  <div class="inline-16" style="width:100%">
-    <el-button type="text" style="width:100%" size="mini" @click="onDel">删 除</el-button>
+  <div class="inline-16">
+    <el-button size="mini" @click="onDel">删 除</el-button>
   </div>
 </template>
 

+ 5 - 1
src/HManagement/clueManage/clue_import/index.vue

@@ -39,7 +39,11 @@
         <importClue v-if="tool.checkAuth($route.name,'import')" @onSuccess="$refs.basicLayout.listData()"></importClue>
       </div>
       <template v-slot:tbList="scope">
-        <div>
+        <div v-if="scope.data.column.columnname == 'status'">
+          <span style="color:#000000" v-if="scope.data.column.data[[scope.data.column.columnname]] == '已审核'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
+          <span style="color: rgb(82, 196, 26)" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '待审核'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
+        </div>
+        <div v-else>
           {{scope.data.column.data[[scope.data.column.columnname]]}}
         </div>
       </template>

+ 1 - 1
src/HManagement/clueManage/clue_import/modules/importClue.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="container normal-panel">
+  <div>
     <!-- <el-button type="success" size="small">导 入</el-button> -->
     <importFile accept=".xlsx" :folderid="folderid" :bindData="{ownertable:'sat_orderclueuploadbill',ownerid:'',usetype:'default'}" @onSuccess="uploadOrderclueuploadbillByExcel">
       <a class="error-link" v-if="errorurl" :href="errorurl" slot="errorFile">下载错误数据</a>

+ 0 - 0
src/HManagement/clueManage/m_activity/modules/a


+ 7 - 2
src/HManagement/clueManage/m_activity/modules/details.vue

@@ -17,8 +17,8 @@
       <div slot="tags">
       </div>
       <div slot="customOperation">
-        <relase class="inline-16" v-if="tool.checkAuth($route.name,'relase')" :data="mainData" @onSuccess="queryMainData"></relase>
-        <finish class="inline-16" v-if="tool.checkAuth($route.name,'finish')" :data="mainData" @onSuccess="queryMainData"></finish>
+        <relase class="inline-16" v-if="tool.checkAuth($route.name,'relase') && mainData.status != '结束'" :data="mainData" @onSuccess="queryMainData"></relase>
+        <finish class="inline-16" v-if="tool.checkAuth($route.name,'finish')  && mainData.status != '结束'" :data="mainData" @onSuccess="queryMainData"></finish>
       </div>
       <div slot="slot0" class="container normal-panel">
         <BaseInfo :detailInfo="detailInfo"/>
@@ -45,6 +45,11 @@ export default {
       detailInfo:{},
     }
   },
+  provide () {
+    return {
+      status: () => this.mainData.status
+    }
+  },
   components:{
     BaseInfo,
     DetailTable,

+ 2 - 2
src/HManagement/clueManage/m_activity/modules/edit.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-button size="mini" @click="onShow()">编 辑</el-button>
+    <el-button size="mini" @click="onShow()" v-if="status() == '新建'">编 辑</el-button>
     <el-drawer
       title="编辑活动"
       :visible.sync="drawer"
@@ -60,7 +60,7 @@
 
 export default {
   props:['data'],
-  inject:['campaigntypeList'],
+  inject:['campaigntypeList','status'],
   data () {
     return {
       drawer:false,

+ 2 - 1
src/HManagement/siteManage/tagManage/index.vue

@@ -10,7 +10,8 @@
       :options="options"
       @listCreate="list"
       @listData="listData"
-      v-if="objectList">
+      v-if="objectList"
+      hidePagination=" ">
       <div slot="custom">
         <div style="disply:flex">
           <span style="font-size:14px;color:#666666">业务对象: </span>