Преглед изворни кода

Merge branch 'purchaseDev' of http://172.16.100.139/new-business/drp-web into purchaseDev

002390 пре 1 година
родитељ
комит
4f42a1fba9

+ 4 - 0
src/components/popover-tree-select/index.vue

@@ -157,6 +157,10 @@ export default {
         source[key] = prop[0][dataMapping[key]];
       }
       this.innerValue = prop[0][valueKey];
+      console.log(valueKey,'valueKey');
+      console.log(prop[0][valueKey],'prop[0][valueKey]');
+      console.log(this.innerValue,'innerValue');
+      console.log(source,'source');
       this.$emit("update:source", source);
       this.$emit("change", prop, this.$props);
     },

+ 0 - 27
src/views/business/spd/goal_management/experiment/DemoChildren.vue

@@ -1,27 +0,0 @@
-<template>
-<div>
-  <span>{{user}}</span>
-  <span><el-button type="info" @change="sendMessageToFather">change</el-button></span>
-</div>
-</template>
-
-<script>
-export default {
-  name: "DemoChildren",
-  props: ['user'],
-  data () {
-    return {
-
-    }
-  },
-  methods: {
-    sendMessageToFather() {
-      this.$emit('sendMessageToFather', 'uyasjhfasb')
-    }
-  }
-}
-</script>
-
-<style scoped>
-
-</style>

+ 0 - 48
src/views/business/spd/goal_management/experiment/DemoFather.vue

@@ -1,48 +0,0 @@
-<template>
-  <div>
-    <div>
-      <el-table :data="myUser">
-        <el-table-column label="name" prop="name"></el-table-column>
-        <el-table-column label="age" prop="age"></el-table-column>
-        <el-table-column>
-          <template scope="scope">
-            <el-button type="primary">主要按钮</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-    </div>
-    <DemoChildren :user="myUser" @sendMessageToFather="handlerTitle"></DemoChildren>
-  </div>
-</template>
-
-<script>
-import DemoChildren from "./DemoChildren"
-export default {
-  name: "DemoFather",
-  components: {
-    DemoChildren
-  },
-  data () {
-    return {
-      myUser: [
-        {id: null, name: 'lz', age: 12},
-        {id: 1, name: 'lz', age: 12},
-        {id: 2, name: 'lz', age: 12},
-        {id: 3, name: 'lz', age: 12},
-        {id: null, name: 'lz', age: 12}
-      ]
-    }
-  },
-  methods: {
-    handlerTitle(title) {
-      for (const element of this.myUser) {
-        element.name = title
-      }
-    }
-  }
-}
-</script>
-
-<style scoped>
-
-</style>

+ 12 - 31
src/views/business/spd/goal_management/AnnualSaleGoal.vue → src/views/business/spd/target/AnnualSaleGoal.vue

@@ -128,36 +128,6 @@
         </el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-        >删除
-        </el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-grape"
-          size="mini"
-          :disabled="multiple"
-        >提交
-        </el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="info"
-          plain
-          icon="el-icon-upload2"
-          size="mini"
-          @click="handleImport"
-        >导入</el-button>
-      </el-col>
-      <el-col :span="1.5">
         <el-dropdown @command="handleCommand">
           <el-button type="warning" plain icon="el-icon-download" size="mini">
             导出<i class="el-icon-arrow-down el-icon--right"></i>
@@ -171,7 +141,6 @@
     </el-row>
 
     <el-table v-loading="loading" :data="annualSaleGoalList" @selection-change="handleSelectionChange" v-horizontal-scroll>
-      <el-table-column type="selection" width="55" align="center" fixed/>
       <el-table-column label="编码" align="center" prop="code" width="180"/>
       <el-table-column label="目标名称" align="center" prop="goalName" width="180"/>
       <el-table-column label="单据日期" align="center" prop="documentDate" width="180">
@@ -210,6 +179,18 @@
             @click="handleDelete(scope.row)"
           >删除
           </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleSubmit(scope.row)"
+          >提交</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleReback(scope.row)"
+          >收回</el-button>
         </template>
       </el-table-column>
     </el-table>

+ 12 - 31
src/views/business/spd/goal_management/AnnualSaleGoalMerge.vue → src/views/business/spd/target/AnnualSaleGoalMerge.vue

@@ -139,36 +139,6 @@
         </el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-        >删除
-        </el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-grape"
-          size="mini"
-          :disabled="multiple"
-        >提交
-        </el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="info"
-          plain
-          icon="el-icon-upload2"
-          size="mini"
-          @click="handleImport"
-        >导入</el-button>
-      </el-col>
-      <el-col :span="1.5">
         <el-dropdown @command="handleCommand">
           <el-button type="warning" plain icon="el-icon-download" size="mini">
             导出<i class="el-icon-arrow-down el-icon--right"></i>
@@ -184,7 +154,6 @@
     </el-row>
 
     <el-table v-loading="loading" :data="annualSaleGoalMergeList" @selection-change="handleSelectionChange" v-horizontal-scroll>
-      <el-table-column type="selection" width="55" align="center"/>
       <el-table-column label="编码" align="center" prop="code" width="180"/>
       <el-table-column label="目标名称" align="center" prop="goalName" width="180"/>
       <el-table-column label="单据日期" align="center" prop="documentDate" width="180">
@@ -224,6 +193,18 @@
             @click="handleDelete(scope.row)"
           >删除
           </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleSubmit(scope.row)"
+          >提交</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleReback(scope.row)"
+          >收回</el-button>
         </template>
       </el-table-column>
     </el-table>

+ 12 - 31
src/views/business/spd/goal_management/MonthGoalMerge.vue → src/views/business/spd/target/MonthGoalMerge.vue

@@ -154,36 +154,6 @@
         </el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-        >删除
-        </el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-grape"
-          size="mini"
-          :disabled="multiple"
-        >提交
-        </el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="info"
-          plain
-          icon="el-icon-upload2"
-          size="mini"
-          @click="handleImport"
-        >导入</el-button>
-      </el-col>
-      <el-col :span="1.5">
         <el-dropdown @command="handleCommand">
           <el-button type="warning" plain icon="el-icon-download" size="mini">
             导出<i class="el-icon-arrow-down el-icon--right"></i>
@@ -197,7 +167,6 @@
     </el-row>
 
     <el-table v-loading="loading" :data="monthGoalMergeList" @selection-change="handleSelectionChange" v-horizontal-scroll>
-      <el-table-column type="selection" width="55" align="center"/>
       <el-table-column label="编码" align="center" prop="code"/>
       <el-table-column label="目标名称" align="center" prop="goalName"/>
       <el-table-column label="单据日期" align="center" prop="documentDate" width="180">
@@ -236,6 +205,18 @@
             @click="handleDelete(scope.row)"
           >删除
           </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleSubmit(scope.row)"
+          >提交</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleReback(scope.row)"
+          >收回</el-button>
         </template>
       </el-table-column>
     </el-table>

+ 12 - 31
src/views/business/spd/goal_management/MonthReturnGoal.vue → src/views/business/spd/target/MonthReturnGoal.vue

@@ -126,36 +126,6 @@
         </el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-        >删除
-        </el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-grape"
-          size="mini"
-          :disabled="multiple"
-        >提交
-        </el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="info"
-          plain
-          icon="el-icon-upload2"
-          size="mini"
-          @click="handleImport"
-        >导入</el-button>
-      </el-col>
-      <el-col :span="1.5">
         <el-dropdown @command="handleCommand">
           <el-button type="warning" plain icon="el-icon-download" size="mini">
             导出<i class="el-icon-arrow-down el-icon--right"></i>
@@ -168,7 +138,6 @@
       </el-col>
     </el-row>
     <el-table v-loading="loading" :data="monthReturnGoalList" @selection-change="handleSelectionChange" v-horizontal-scroll>
-      <el-table-column type="selection" width="55" align="center"/>
       <el-table-column label="编码" align="center" prop="code"/>
       <el-table-column label="目标名称" align="center" prop="goalName"/>
       <el-table-column label="单据日期" align="center" prop="documentDate" width="180">
@@ -207,6 +176,18 @@
             @click="handleDelete(scope.row)"
           >删除
           </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleSubmit(scope.row)"
+          >提交</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleReback(scope.row)"
+          >收回</el-button>
         </template>
       </el-table-column>
     </el-table>

+ 12 - 31
src/views/business/spd/goal_management/MonthReturnMerge.vue → src/views/business/spd/target/MonthReturnMerge.vue

@@ -129,36 +129,6 @@
       </el-button>
     </el-col>
     <el-col :span="1.5">
-      <el-button
-        type="danger"
-        plain
-        icon="el-icon-delete"
-        size="mini"
-        :disabled="multiple"
-        @click="handleDelete"
-      >删除
-      </el-button>
-    </el-col>
-    <el-col :span="1.5">
-      <el-button
-        type="primary"
-        plain
-        icon="el-icon-grape"
-        size="mini"
-        :disabled="multiple"
-      >提交
-      </el-button>
-    </el-col>
-    <el-col :span="1.5">
-      <el-button
-        type="info"
-        plain
-        icon="el-icon-upload2"
-        size="mini"
-        @click="handleImport"
-      >导入</el-button>
-    </el-col>
-    <el-col :span="1.5">
       <el-dropdown @command="handleCommand">
         <el-button type="warning" plain icon="el-icon-download" size="mini">
           导出<i class="el-icon-arrow-down el-icon--right"></i>
@@ -172,7 +142,6 @@
     </el-col>
   </el-row>
   <el-table v-loading="loading" :data="monthReturnMergeList" @selection-change="handleSelectionChange" v-horizontal-scroll>
-    <el-table-column type="selection" width="55" align="center"/>
     <el-table-column label="编码" align="center" prop="code" width="180"/>
     <el-table-column label="目标名称" align="center" prop="goalName" width="180"/>
     <el-table-column label="单据日期" align="center" prop="documentDate" width="180">
@@ -212,6 +181,18 @@
           @click="handleDelete(scope.row)"
         >删除
         </el-button>
+        <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleSubmit(scope.row)"
+          >提交</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleReback(scope.row)"
+          >收回</el-button>
       </template>
     </el-table-column>
   </el-table>

+ 12 - 31
src/views/business/spd/goal_management/MonthSaleGoal.vue → src/views/business/spd/target/MonthSaleGoal.vue

@@ -127,36 +127,6 @@
         </el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-        >删除
-        </el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-grape"
-          size="mini"
-          :disabled="multiple"
-        >提交
-        </el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="info"
-          plain
-          icon="el-icon-upload2"
-          size="mini"
-          @click="handleImport"
-        >导入</el-button>
-      </el-col>
-      <el-col :span="1.5">
         <el-dropdown @command="handleCommand">
           <el-button type="warning" plain icon="el-icon-download" size="mini">
             导出<i class="el-icon-arrow-down el-icon--right"></i>
@@ -170,7 +140,6 @@
     </el-row>
 
     <el-table v-loading="loading" :data="monthSaleGoalList" @selection-change="handleSelectionChange" v-horizontal-scroll>
-      <el-table-column type="selection" width="55" align="center"/>
       <el-table-column label="编码" align="center" prop="code"/>
       <el-table-column label="目标名称" align="center" prop="goalName"/>
       <el-table-column label="单据日期" align="center" prop="documentDate" width="180">
@@ -209,6 +178,18 @@
             @click="handleDelete(scope.row)"
           >删除
           </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleSubmit(scope.row)"
+          >提交</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleReback(scope.row)"
+          >收回</el-button>
         </template>
       </el-table-column>
     </el-table>

+ 6 - 15
src/views/business/spd/target/targetMk/add.vue

@@ -35,18 +35,6 @@
               />
             </el-form-item>
           </el-col>
-          <!-- <el-col :span="1.5">
-            <el-form-item label="包含下级组织" >
-              <el-select v-model="form.includeOrg" size="mini" style="width: 200px">
-                <el-option
-                  v-for="dict in dict.type.sys_yes_no"
-                  :key="dict.value"
-                  :label="dict.label"
-                  :value="dict.value"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col> -->
           <el-col :span="1.5">
             <el-form-item label="模板" prop="template">
               <dr-popover-select size="mini" v-model="form.templateName" title="模板" type="MK_TARGET_TEMPLATE_PARAM" :dataMapping="{
@@ -70,7 +58,6 @@
             </el-descriptions-item>
             <el-descriptions-item label="维度">
               <div v-for="d in template.dimensionalitys">
-                <!-- <el-tag size="small">{{d.dimensionality}}</el-tag> -->
                 <div v-for="dict in dict.type.mk_dimensionality" v-if="d.dimensionality == dict.value">
                   <el-tag size="small">{{dict.label}}</el-tag>
                 </div>
@@ -78,7 +65,6 @@
             </el-descriptions-item>
             <el-descriptions-item label="指标">
               <div v-for="d in template.indexs">
-                <!-- <el-tag size="small">{{d.target}}</el-tag> -->
                 <div v-for="dict in dict.type.mk_index_type" v-if="d.target == dict.value">
                   <el-tag size="small">{{dict.label}}</el-tag>
                 </div>
@@ -113,6 +99,7 @@
 import Item from './item.vue'
 import { getTargetTemplate,getHeaderData } from "@/api/business/spd/starget/targetTemplate";
 import { getTarget,addTarget,updateTarget } from "@/api/business/spd/starget/target";
+  
 export default {
   name: 'add',
   dicts: ['sys_yes_no','mk_periodic_unit','mk_dimensionality','mk_index_type','mk_expansion_mode'],
@@ -125,7 +112,9 @@ export default {
   data() {
     return {
       template:{},
-      form:{},
+      form:{
+        template: null,
+      },
       //表单校验
       rules: {
         date: [
@@ -164,6 +153,7 @@ export default {
 	  'form.template': {
       async handler(newVal) {
         this.isItem = false;
+        console.log("模板更换了",newVal);
         await this.fetchTemplate(newVal);
         await this.fetchHeaderData(newVal);
         this.isItem = true;
@@ -174,6 +164,7 @@ export default {
   methods: {
     //保存
     async useSave(){
+      console.log("this.form",this.form);
       let passrule = false;
       this.$refs["form"].validate((valid) => {
         if (valid) {

+ 3 - 3
src/views/business/spd/target/targetMk/index.vue

@@ -101,8 +101,8 @@
       
         <div class="btn_grooup">
           <el-button type="primary" size="mini" @click="useAdd">新增</el-button>
-          <TemplateDownload/>
-          <el-button type="primary" size="mini" @click="useUpload">导入</el-button>
+          <!-- <TemplateDownload/>
+          <el-button type="primary" size="mini" @click="useUpload">导入</el-button> -->
         </div>
 
         <el-table 
@@ -173,7 +173,7 @@
                 <el-button type="text" size="mini" @click="useDel(scope.row)">删除</el-button>
               </div>
               <div v-if="scope.row.status == '1'">
-                <el-button type="text" size="mini" @click="useRevocation(scope.row)">回</el-button>
+                <el-button type="text" size="mini" @click="useRevocation(scope.row)">回</el-button>
               </div>
             </template>
           </el-table-column>

+ 43 - 6
src/views/business/spd/target/targetMk/item.vue

@@ -2,6 +2,8 @@
   <div>
     <el-row>
       <div class="btn_add">
+        <!-- <el-button type="primary" size="mini" @click="useTemplateDownload" v-if="this.pageStu != 'see'">下载模板</el-button>
+        <el-button type="primary" size="mini" @click="useAdd" v-if="this.pageStu != 'see'">导入</el-button> -->
         <el-button type="primary" size="mini" @click="useAdd" v-if="this.pageStu != 'see'">增行</el-button>
       </div>
     </el-row>
@@ -26,13 +28,34 @@
                 :source.sync="scope.row[head.prop]"
                 :queryParams="additionalCondition"
               />
-              <dr-popover-select size="mini" v-else v-model="scope.row[head.prop].valueName" title="参照选择" :type="scope.row[head.prop].model" :dataMapping="{
-                value: 'id',
-                valueName: 'name',
-              }" :source.sync="scope.row[head.prop]"></dr-popover-select>
+              <el-popover-tree-select 
+                size="mini" 
+                v-else-if="scope.row[head.prop].model == 'MATERIALCLASSIFY_PARAM'"
+                v-model="scope.row[head.prop].valueName" 
+                valueKey='name'
+                title="参照选择" 
+                :referName="scope.row[head.prop].model" 
+                :dataMapping="{
+                  value: 'id',
+                  valueName: 'name',
+                }" 
+                :source.sync="scope.row[head.prop]">
+              </el-popover-tree-select>
+              <dr-popover-select 
+                size="mini" 
+                v-else 
+                v-model="scope.row[head.prop].valueName" 
+                title="参照选择" 
+                :type="scope.row[head.prop].model" 
+                :dataMapping="{
+                  value: 'id',
+                  valueName: 'name',
+                }" 
+                :source.sync="scope.row[head.prop]">
+              </dr-popover-select>
             </div>
             <div v-if="scope.row[head.prop].type == 'C' || scope.row[head.prop].type == 'I'">
-              <el-input size="mini"  v-model="scope.row[head.prop].value"></el-input>
+              <el-input size="mini"  v-model="scope.row[head.prop].value" class="input-view" oninput="value=value.replace(/[^0-9]/g,'')"></el-input>
             </div>
           </div>
           <div v-else-if="pageStu == 'see'">
@@ -47,7 +70,7 @@
         <el-table-column show-overflow-tooltip v-if="head.children" v-for="headChi in head.children" :prop="headChi.prop" :label="headChi.modelName" width="150" align="center">
           <template slot-scope="scope">
             <div v-if="pageStu == 'add' || pageStu == 'edit'">
-              <el-input size="mini" v-model="scope.row[headChi.prop].value"></el-input>
+              <el-input size="mini" v-model="scope.row[headChi.prop].value" class="input-view" oninput="value=value.replace(/[^0-9]/g,'')"></el-input>
             </div>
             <div v-else-if="pageStu == 'see'">
               {{scope.row[headChi.prop].value}}
@@ -71,6 +94,10 @@ export default {
   name: 'item',
   props: ['pageStu','template','form','columns','latestTemplate'],  
   dicts: ['sys_yes_no','mk_periodic_unit','mk_dimensionality','mk_index_type','mk_expansion_mode'],
+  components: {
+    ElPopoverTreeSelect: () =>
+      import("@/components/popover-tree-select/index.vue"),
+  },
   data() {
     return {
       items:[],
@@ -106,6 +133,15 @@ export default {
       }
       this.items.splice(index, 1);
     },
+    //下载模板
+    useTemplateDownload(){
+      try {
+        this.download('/mk/target/targetTemplate/download/' + this.template.id, {}, `营销目标_${new Date().getTime()}.xlsx`)
+      } catch (err) {
+        console.error(err);
+      } finally {
+      }
+    },
     //表头数据处理
     processHeadersData(unfold,columns){
       const array = [];
@@ -180,6 +216,7 @@ export default {
     },
     //合并已存在和删除的数据
     merge(){
+      console.log('this.items',this.items);
       this.items.push(...this.delItems);
       return this.items;
     },

+ 2 - 1
src/views/business/spd/target/targetMk/templateDownload.vue

@@ -124,7 +124,8 @@ export default {
     //双击选择
     async useDoubleClick(row){
       try {
-        await download(row.id);
+        // await download(row.id);
+        this.download('/mk/target/targetTemplate/download/' + row.id, {}, `营销目标_${new Date().getTime()}.xlsx`)
       } catch (err) {
         console.error(err);
       } finally {

+ 1 - 1
src/views/purchase/PurchaseDemandList/add.vue

@@ -30,7 +30,7 @@
         </el-col>
 
         <el-col :span="1.5">
-          <el-form-item label="需求部门">
+          <el-form-item label="需求部门" prop="demandDept" :rules="{ required: true, message: '请选择需求部门', trigger: 'blur' }">
             <el-select clearable v-model="basicForm.demandDept" size="mini" :disabled="sonDisable" @focus="chooseOrg('DEPT_PARAM', true, '需求部门')" style="width: 200px">
               <el-option
                 v-for="item in deptOptions"

+ 9 - 0
src/views/system/user/index.vue

@@ -39,6 +39,15 @@
               @keyup.enter.native="handleQuery"
             />
           </el-form-item>
+          <el-form-item label="员工名称" prop="nickName">
+            <el-input
+              v-model="queryParams.nickName"
+              placeholder="请输入员工名称"
+              clearable
+              style="width: 240px"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
           <el-form-item label="手机号码" prop="phonenumber">
             <el-input
               v-model="queryParams.phonenumber"