Bladeren bron

Merge branch 'xiaoqin' into mergeBranch

codeMan 2 jaren geleden
bovenliggende
commit
47a02dd4fe

+ 10 - 0
src/HDrpManagement/recvoucher/details/index.vue

@@ -32,6 +32,16 @@
           v-if="mainData.status == '审核' && tool.checkAuth($route.name,'writeoff') && mainData.unwriteoffamount > 0"
         />
         <examine class="inline-16" v-if="tool.checkAuth($route.name,'check')" :data="mainData"  @examineSuccess="onSuccess"></examine>
+        <customBtn 
+          btnName="对冲"
+          message="确认对冲当前收入凭证吗?"
+          idName="20230306102904"
+          keyName="sa_cashbillid"
+          :id="$route.query.id"
+          @onSuccess="queryMainData($route.query.id)"
+          class="inline-16"
+          v-if="mainData.status == '审核' && tool.checkAuth($route.name,'duichong')"
+        />
         <!-- 此区域提供了自定义操作按钮 -->
 <!--        <div class="inline-16" v-if="tool.checkAuth($route.name,'receive') && mainData.freeget === 1 && length === 0 ">
           <receive  :id="mainData.sa_customersid" @onshow="show"></receive>

+ 7 - 1
src/HManagement/clueManage/m_activity/modules/add.vue

@@ -25,7 +25,9 @@
             </el-select>
           </el-form-item>
           <el-form-item label="活动负责人" prop="director">
-            <selectLeader></selectLeader>
+            <selectLeader ref="leader" @selectLeader="selectLeader">
+              <el-input @focus="$refs.leader.dialogTableVisible=true" slot="input" type="text" size="small" v-model="form.director" placeholder="请选择活动负责人"></el-input>
+            </selectLeader>
           </el-form-item>
           <el-form-item label="地址" prop="address">
             <el-input v-model="form.address" placeholder="请输入地址"></el-input>
@@ -96,6 +98,10 @@ export default {
     onShow () {
       this.drawer = true
     },
+    selectLeader (data) {
+      console.log(data);
+      this.form.director = data.name
+    },
     validateEndDate(rule, value, callback){
       let start = (new Date(this.form.begdate)).getTime()
       let end = (new Date(this.form.enddate)).getTime()

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

@@ -24,7 +24,9 @@
           </el-select>
         </el-form-item>
         <el-form-item label="负责人">
-          <el-input v-model="form.director" placeholder="请输入负责人"></el-input>
+          <selectLeader ref="leader" @selectLeader="selectLeader">
+            <el-input @focus="$refs.leader.dialogTableVisible=true" slot="input" type="text" size="small" v-model="form.director" placeholder="请选择活动负责人"></el-input>
+          </selectLeader>
         </el-form-item>
         <el-form-item label="地址">
           <el-input v-model="form.address" placeholder="请输入地址"></el-input>
@@ -58,10 +60,11 @@
 </template>
 
 <script>
-
+import selectLeader from './selectAgent/index'
 export default {
   props:['data'],
   inject:['campaigntypeList','status'],
+  components:{selectLeader},
   data () {
     return {
       drawer:false,
@@ -96,6 +99,10 @@ export default {
       this.drawer = true
       this.form = Object.assign({},this.form,this.data)
     },
+    selectLeader (data) {
+      console.log(data);
+      this.form.director = data.name
+    },
     validateEndDate(rule, value, callback){
       let start = (new Date(this.form.begdate)).getTime()
       let end = (new Date(this.form.enddate)).getTime()

+ 6 - 5
src/HManagement/clueManage/m_activity/modules/selectAgent/agent/list.vue

@@ -2,8 +2,7 @@
   <div class="container normal-panel">
     <p class="normal-title normal-margin">人员信息</p>
     <div class="flex-align-center flex-between normal-margin">
-      <el-input style="width:270px" placeholder="请输入内容" v-model="param.content.where.condition" class="input-with-select" size="small" clearable>
-        <el-button slot="append" icon="el-icon-search"  @click="query_agent(param.content.sa_saleareaid)">查 询</el-button>
+      <el-input style="width:270px" clearable @clear="query_agent(param.content.departmentids[0],param.content.pageNumber=1)" placeholder="请输入内容" @keyup.native.enter="query_agent(param.content.departmentids[0],param.content.pageNumber=1)" v-model="param.content.where.condition" class="input-with-select" size="small" clearable>
       </el-input>
       <slot name="add"></slot>
     </div>
@@ -53,7 +52,9 @@ export default {
           "pageNumber":1,
           "departmentids":[],
           "containssub": 1,
-          "where":{}
+          "where":{
+            condition:''
+          }
         }
       }
     }
@@ -69,12 +70,12 @@ export default {
     handleSizeChange(val) {
       // console.log(`每页 ${val} 条`);
       this.param.content.pageSize = val
-      this.query_agent(this.param.content.departmentids)
+      this.query_agent(this.param.content.departmentids[0])
     },
     handleCurrentChange(val) {
       // console.log(`当前页: ${val}`);
       this.param.content.pageNumber = val
-      this.query_agent(this.param.content.sa_saleareaid)
+      this.query_agent(this.param.content.departmentids[0])
     }
   },
   mounted () {

+ 44 - 84
src/HManagement/clueManage/m_activity/modules/selectAgent/area/list.vue

@@ -1,16 +1,13 @@
 <template>
   <div class="tree-panel">
     <el-tree
-      ref="cusTreeRef"
-      :data="arealist"
-      node-key="sa_saleareaid"
+      ref="treeRef"
+      :data="deplist"
+      node-key="departmentid"
+      :current-node-key="currentKey"
       default-expand-all
       highlight-current
-      :show-checkbox="checked"
-      :check-strictly="true"
-      :check-on-click-node="true"
       :expand-on-click-node="false"
-      :default-checked-keys="area_default"
       @node-click="handleClick">
       <span class="custom-tree-node" slot-scope="{ node, data }">
         <span>{{ node.label }}</span>
@@ -24,39 +21,30 @@
 
 <script>
 
-import {mapGetters} from 'vuex'
 
 export default {
-  props:['checked','area_default'],
   components:{
   },
-  computed:{
-    ...mapGetters({
-      pageOnlyRead:"pageOnlyRead"
-    })
-  },
   data () {
     return {
-      arealist:[],
-      cusChecked: [],
-      responseData:[]
+      deplist:[],
+      departmentid:0,
+      currentKey:null
     }
   },
   methods:{
-    handleClick (row,node,VueComponent) {
-      this.$emit('onClick',node.data)
-    },
-    async query_arealist () {
+    async department (callback) {
       const res = await this.$api.requested({
-        "classname": "webmanage.sale.salearea.salearea",
-        "method": "query_area",
+        "classname": "webmanage.department.department",
+        "method": "querydepartment",
         "content": {
         }
       })
       // 数据格式转换成elementui-tree所需的格式
-      this.responseData = res.data
-      this.arealist = this.createMenu(res.data)
-      this.$emit('onClick',this.arealist[0])
+      this.deplist = this.createMenu(res.data)
+      
+      this.$store.dispatch('setDeplistData',this.deplist)
+      callback?callback():""
     },
     createMenu (array) {
       var that = this
@@ -64,20 +52,26 @@ export default {
       function convertToElementTree(node) {
         // 新节点
         var elNode = {
-          label: node["areaname"],
+          label: node["depname"],
+          parentid:node['parentid'],
+          departmentid:node["departmentid"],
+          value:node["departmentid"],
           remarks:node["remarks"],
           isused:node["isused"],
-          sa_saleareaid:node['sa_saleareaid'],
-          parentid:node['parentid'],
-          disabled:that.pageOnlyRead,
+          changedate:node['changedate'],
+          changeby:node['changeby'],
+          createdate:node['createdate'],
+          createby:node['createby'],
+          depno:node['depno'],
+          sequence:node['sequence'],
           children: []
         }
           
-        if (node.subarea && node.subarea.length > 0) {
+        if (node.subdep && node.subdep.length > 0) {
           // 如果存在子节点
-          for (var index = 0; index < node.subarea.length; index++) {
+          for (var index = 0; index < node.subdep.length; index++) {
           // 遍历子节点, 把每个子节点看做一颗独立的树, 传入递归构造子树, 并把结果放回到新node的children中
-          elNode.children.push(convertToElementTree(node.subarea[index]));
+          elNode.children.push(convertToElementTree(node.subdep[index]));
           }
         }
         return elNode;
@@ -87,59 +81,24 @@ export default {
       });
       return arr
     },
-    handleCheck (currentNode, treeStatus) {
-      /**
-       * @des 根据父元素的勾选或取消勾选,将所有子级处理为选择或非选中状态
-       * @param { node: Object }  当前节点
-       * @param { status: Boolean } (true : 处理为勾选状态 ; false: 处理非选中)
-       */
-      const setChildStatus = (node, status) => {
-          /* 这里的 id children 也可以是其它字段,根据实际的业务更改 */
-          this.$refs.cusTreeRef.setChecked(node.sa_saleareaid, status)
-          if (node.children) {
-              /* 循环递归处理子节点 */
-              for (let i = 0; i < node.children.length; i++) {
-                  setChildStatus(node.children[i], status)
-              }
-          }
-      }
-      /* 设置父节点为选中状态 */
-      const setParentStatus = (nodeObj) => {
-          /* 拿到tree组件中的node,使用该方法的原因是第一次传入的 node 没有 parent */
-          const node = this.$refs.cusTreeRef.getNode(nodeObj)
-          if (node.parent.key) {
-              this.$refs.cusTreeRef.setChecked(node.parent, true)
-              setParentStatus(node.parent)
-          }
-      }
-
-      /* 判断当前点击是选中还是取消选中操作 */
-      if (treeStatus.checkedKeys.includes(currentNode.sa_saleareaid)) {
-          setParentStatus(currentNode)
-          setChildStatus(currentNode, true)
-      } else {
-          /* 取消选中 */
-          if (currentNode.children) {
-              setChildStatus(currentNode, false)
-          }
-      }
-
-      this.cusChecked = [...this.$refs.cusTreeRef.getCheckedKeys()]
-      this.$emit('onAreaChecked',this.cusChecked)
-    }
+    handleClick (row,node,VueComponent) {
+      console.log(row)
+      this.$emit('onClick',row)
+    },
+    setCurrentKey (id) {
+      this.currentKey = id
+      this.$nextTick(() => {
+        this.$refs['treeRef'].setCurrentKey(this.currentKey)
+      })
+    },
   },
-  mounted () {
-    this.query_arealist()
+  watch: {
   },
-  watch:{
-    pageOnlyRead (val) {
-      console.log(val)
-      this.query_arealist()
-    },
-    area_default (val) {
-      // 如果存在默认组织数据就执行
-      this.$emit('onAreaChecked',this.area_default)
-    }
+  mounted () {
+    this.department(()=>{
+      this.$emit('onClick',{departmentid:this.deplist[0].departmentid})
+      this.setCurrentKey(this.deplist[0].departmentid)
+    })
   }
 }
 
@@ -165,4 +124,5 @@ export default {
   /* width:300px; */
   background: #FAFAFA;
 }
+
 </style>

+ 2 - 4
src/HManagement/clueManage/m_activity/modules/selectAgent/index.vue

@@ -1,7 +1,6 @@
 <template>
   <div>
     <slot name="input"></slot>
-    <el-input v-model="value.enterprisename" readonly :placeholder="placeholder" suffix-icon="el-icon-arrow-down" autocomplete="off" @focus="onShow(dialogTableVisible=true)"></el-input>
     <el-dialog :title="titleData" append-to-body :visible.sync="dialogTableVisible" width="1200px">
       <div class="flex">
         <!-- 营销区域列表 -->
@@ -52,9 +51,8 @@ export default {
       }
     },
     onClick (data) {
-      console.log(this.value.enyerprisename)
       this.areaInfo = data
-      this.$refs.agent.query_agent(this.areaInfo.sa_saleareaid)
+      this.$refs.agent.query_agent(this.areaInfo.departmentid)
     },
     onSuccess () {
       this.$refs.arealist.query_arealist()
@@ -62,7 +60,7 @@ export default {
     selectAgent (data) {
       console.log(data)
       this.value = data
-      this.$emit('selectAgent',data)
+      this.$emit('selectLeader',data)
       this.dialogTableVisible = false
     },
     onSalerSuccess () {