Răsfoiți Sursa

1.物料基础档案查询条件
2.采购订单维护去掉代理人

002390 1 an în urmă
părinte
comite
a4464a8a51

+ 137 - 0
src/components/date-wrapper/index.vue

@@ -0,0 +1,137 @@
+<template>
+  <div class="date-wrapper">
+    <el-date-picker 
+      :type="type" 
+      :placeholder="startPlaceholder" 
+      :clearable="clearable"  
+      :value-format="valueFormat" 
+      v-model="startTime"
+      :picker-options="pickerOptions" 
+      ></el-date-picker>
+      <span style="padding: 0 3px">{{rangeSeparator}}</span>
+    <el-date-picker 
+      :type="type" 
+      :placeholder="endPlaceholder" 
+      :clearable="clearable" 
+      :value-format="valueFormat" 
+      v-model="endTime" 
+      :picker-options="pickerOptions1" 
+      ></el-date-picker>
+  </div>
+</template>
+<script>
+
+  export default {
+    name: "dateWrapper",
+    props:{
+      value:{
+        type:Array,
+        require:true,
+      },
+      rangeSeparator:{
+        type:String,
+        default:'-'
+      },
+      type:{
+        type:String,
+        default:'date',
+      },
+      valueFormat:{
+        type:String,
+        default:'yyyy-MM-dd',
+      },
+      startPlaceholder:{
+        type:String,
+        default:'选择开始日期'
+      },
+      endPlaceholder:{
+        type:String,
+        default:'选择结束日期'
+      },
+      clearable:{
+        type:Boolean,
+        require:false,
+      }
+    },
+    computed:{
+      startTime:{
+        get(){
+          console.log(this.value,'this.value');
+          return (this.value && this.value[0]) || '';
+        },
+        set(value){
+          console.log(value,'startTime');
+          this.$emit('input',[value,this.endTime])
+        }
+      },
+      
+      endTime: {
+        get(){
+          return (this.value &&this.value[1]) || '';
+        },
+        set(value){
+          console.log(value,'endTime');
+          this.$emit('input',[this.startTime,value])
+        }
+      },
+
+      pickerOptions: {
+        get(){
+          const that = this
+          return {
+            disabledDate(time) {
+              if(that.endTime && that.endTime !== ''){
+                return time.getTime() > new Date(that.endTime).getTime()
+              }
+            }
+          }
+        },
+        set(value){
+          this.$emit("input", value);
+        }
+      },
+      pickerOptions1:{
+        get(){
+          const that = this
+          return {
+            disabledDate(time) {
+              if(that.startTime && that.startTime !== ''){
+                return (time.getTime()+ 3600 * 1000 * 24) < new Date(that.startTime).getTime()
+              }
+            }
+          }
+        },
+        set(value){
+          this.$emit("input", value);
+        }
+      }
+    },
+    data() {
+      return {
+        // form:{
+        //   startTime: '',
+        //   endTime: '',
+        // }
+      }
+    }
+  }
+</script>
+<style lang="scss">
+  .date-wrapper{
+    display: flex;
+    justify-content: flex-start;
+    vertical-align: center;
+    .el-date-editor{
+      // width: 102px !important;
+      .el-input__inner{
+        padding: 0px 0px 0 10px !important;
+      }
+      .el-input__prefix{
+        display: none;
+      }
+      .el-input__suffix{
+        text-align: right;
+      }
+    }
+  }
+</style>

+ 11 - 0
src/components/super-search/index.vue

@@ -25,6 +25,7 @@ export default {
       import("@/components/popover-tree-select/index.vue"),
     ElPopoverMultipleTreeSelect: () =>
       import("@/components/popover-tree-select/multiple.vue"),
+    ElDateWrapper: () => import("@/components/date-wrapper/index.vue"),
   },
   data() {
     const { columns } = this.$props;
@@ -172,6 +173,16 @@ export default {
               style="width: 100%"
             >
             </component>
+
+            <component
+              v-if="attr.is === 'el-date-wrapper'"
+              v-bind="attr"
+              v-model="innerValue[item.key]"
+              :source.sync="innerValue"
+              @change="$emit('submit')"
+              style="width: 100%"
+            >
+            </component>
           </el-form-item>
         </el-col>
       </el-row>

+ 224 - 54
src/views/material/basicFile/columns.js

@@ -1,29 +1,56 @@
 export const SearchColumns = [
   {
+    item:{
+      key: "codes",
+      title: "物料编码",  
+    },
+    attr:{
+      clearable:true,
+      is: "el-popover-multiple-select-v2",
+      valueKey: "code",
+      referName: "MATERIAL_PARAM",
+    },
+  },
+  {
+    item:{
+      key: "name",
+      title: "物料名称",  
+    },
+    attr:{
+      clearable:true,
+      is: "el-popover-select-v2",
+      valueKey: "name",
+      referName: "MATERIAL_PARAM",
+    },
+  },
+  {
     item: {
-      key: "classifyIdName",
+      key: "classifys",
       title: "物料分类",
     },
     attr: {
-      is: "el-popover-tree-select",
+      is: "el-popover-multiple-tree-select",
       referName: "MATERIALCLASSIFY_PARAM",
-      valueKey: "name",
+      valueKey: "id",
       clearable:true,
-      dataMapping: {
-        classifyId: "id",
-      },
+      // dataMapping: {
+      //   classifys: "id",
+      // },
     },
   },
   {
     item:{
-      key: "codes",
-      title: "物料编码",  
+      key: "puPersonnelIdName",
+      title: "采购员",
     },
-    attr:{
+    attr: {
       clearable:true,
-      is: "el-popover-multiple-select-v2",
-      valueKey: "code",
-      referName: "MATERIAL_PARAM",
+      is: "el-popover-select-v2",
+      referName: "CONTACTS_PARAM",
+      valueKey: "name",
+      dataMapping: {
+        puPersonnelId: "code",
+      },
     },
   },
   {
@@ -43,8 +70,19 @@ export const SearchColumns = [
   },
   {
     item:{
+      key: "isEnable",
+      title: "启用状态",  
+    },
+    attr:{
+      clearable:true,
+      is: "el-select",
+      dictName: "material_enable",
+    },
+  },
+  {
+    item:{
       key: "isMedicine",
-      title: "医药物料",  
+      title: "是否医药物料",  
     },
     attr:{
       clearable:true,
@@ -52,40 +90,93 @@ export const SearchColumns = [
       dictName: "sys_number_yes_no",
     },
   },
-
-
-
-
-
-
   {
     item:{
-      key: "name",
-      title: "物料名称",  
+      key: "medicalInstruments",
+      title: "医疗器械",  
     },
     attr:{
       clearable:true,
-      is: "el-popover-select-v2",
-      valueKey: "name",
-      referName: "MATERIAL_PARAM",
+      is: "el-select",
+      dictName: "medical_instruments",
     },
   },
-  
   {
     item:{
-      key: "isEnable",
-      title: "启用状态",  
+      key: "specification",
+      title: "规格",
+    },
+    attr: {
+      clearable:true,
+      is: "el-input",
+    },
+  },
+  {
+    item:{
+      key: "model",
+      title: "型号",
+    },
+    attr: {
+      clearable:true,
+      is: "el-input",
+    },
+  },
+  // {
+  //   item:{
+  //     key: "model",
+  //     title: "品牌",
+  //   },
+  //   attr: {
+  //     clearable:true,
+  //     is: "el-input",
+  //   },
+  // },
+  {
+    item:{
+      key: "version",
+      title: "版本号",
+    },
+    attr: {
+      clearable:true,
+      is: "el-input",
+    },
+  },
+  {
+    item:{
+      key: "registrant",
+      title: "注册人",
+    },
+    attr: {
+      clearable:true,
+      is: "el-input",
+    },
+  },
+  {
+    item:{
+      key: "registrationNo",
+      title: "注册证号",
+    },
+    attr: {
+      clearable:true,
+      is: "el-input",
+    },
+  },
+  {
+    item:{
+      key: "serialNoManager",
+      title: "是否序列号管理",  
     },
     attr:{
       clearable:true,
       is: "el-select",
-      dictName: "material_enable",
+      dictName: "sys_number_yes_no",
     },
   },
+
   {
     item:{
-      key: "puPersonnelIdName",
-      title: "采购员",
+      key: "createByName",
+      title: "创建人",
     },
     attr: {
       clearable:true,
@@ -93,12 +184,114 @@ export const SearchColumns = [
       referName: "CONTACTS_PARAM",
       valueKey: "name",
       dataMapping: {
-        puPersonnelId: "code",
+        createBy: "code",
+      },
+    },
+  },
+  
+  {
+    item:{
+      key: "updateByName",
+      title: "最后修改人",
+    },
+    attr: {
+      clearable:true,
+      is: "el-popover-select-v2",
+      referName: "CONTACTS_PARAM",
+      valueKey: "name",
+      dataMapping: {
+        updateBy: "code",
       },
     },
   },
   {
     item:{
+      key: "createTimeQueue",
+      title: "创建时间",
+      span:12,
+    },
+    attr: {
+      clearable:true,
+      is: "el-date-wrapper",
+    },
+  },
+  // {
+  //   item:{
+  //     key: "createTimeEnd",
+  //     title: "创建时间结束",
+  //   },
+  //   attr: {
+  //     clearable:true,
+  //     is: "el-input",
+  //   },
+  // },
+  {
+    item:{
+      key: "updateTimeQueue",
+      title: "修改时间",
+      span:12,
+    },
+    attr: {
+      clearable:true,
+      is: "el-date-wrapper",
+    },
+  },
+  // {
+  //   item:{
+  //     key: "updateTimeBegin",
+  //     title: "最后修改时间开始",
+  //   },
+  //   attr: {
+  //     clearable:true,
+  //     is: "el-input",
+  //   },
+  // },
+  // {
+  //   item:{
+  //     key: "updateTimeEnd",
+  //     title: "最后修改时间结束",
+  //   },
+  //   attr: {
+  //     clearable:true,
+  //     is: "el-input",
+  //   },
+  // },
+
+  
+
+
+
+
+  
+  
+  
+];
+
+export const OtherDictColumns = [
+  {
+    item:{
+      key:"expiryUnitId",
+      title:'效期单位',
+    },
+    attr:{
+      is: "el-select",
+      dictName: "period_unit",
+    }
+  },
+  {
+    item:{
+      key:'usefulLifeUnitId',
+      title:'有效期至单位',
+    },
+    attr:{
+      is: "el-select",
+      dictName: "expiry_date",
+    }
+  },
+ 
+ 
+  {
+    item:{
       key: "registrant",
       title: "注册人/上市许可持有人",
     },
@@ -153,28 +346,5 @@ export const SearchColumns = [
       dictName: "abc_type",
     }
   },
-];
-
-export const OtherDictColumns = [
-  {
-    item:{
-      key:"expiryUnitId",
-      title:'效期单位',
-    },
-    attr:{
-      is: "el-select",
-      dictName: "period_unit",
-    }
-  },
-  {
-    item:{
-      key:'usefulLifeUnitId',
-      title:'有效期至单位',
-    },
-    attr:{
-      is: "el-select",
-      dictName: "expiry_date",
-    }
-  },
   
 ]

+ 44 - 34
src/views/material/basicFile/index.vue

@@ -99,7 +99,7 @@
         <el-col :span="1.5">
           <el-button-group>
             <el-button size="small" @click="handleImport" v-hasPermi="['system:material:import']">批量导入</el-button>
-            <el-button size="small" @click="handleQueryExport" v-hasPermi="['system:material:export']">批量导出</el-button>
+            <el-button size="small" @click="handleExport" v-hasPermi="['system:material:export']">批量导出</el-button>
           </el-button-group>
         </el-col>
 
@@ -206,6 +206,7 @@
     components: {
       ElSuperSearch: () => import("@/components/super-search/index.vue"),
       ElDictTag: () => import("@/components/DictTag/index.vue"),
+      
     },
     data() {
       const params = this.$init.params(SearchColumns);
@@ -459,13 +460,8 @@
         this.importData.list = fileList;
       },
 
-      // 查询条件导出
-      handleQueryExport(){
-        console.log(this.params,'this.params');
-        this.download('/system/material/export', this.params, `物料基本信息${new Date().getTime()}.xlsx`);
-      },
-      // 多选批量导出
-      handleSelectExport() {
+      // 批量导出
+      handleExport() {
 
         let ids = this.checkedList.length ? this.checkedList.map(i => i.id) : [];
 
@@ -477,11 +473,7 @@
           }
           this.download('/system/material/export', params, `物料基本信息${new Date().getTime()}.xlsx`);
         } else {
-          this.$notify({
-                title:'警告',
-                message: '请选择需要导出的数据!',
-                type: 'warning'
-              });
+          this.download('/system/material/export', this.params, `物料基本信息${new Date().getTime()}.xlsx`);
         }
 
       },
@@ -542,31 +534,49 @@
         this.checkedList = selection;
       },
       // 获取物料列表信息
-      getMaterialList(templateCode, query) {
-        // (params, page)
-        let _this = this;
-        this.loading = true;
-        let page = {
-          pageNum: this.queryParams.pageNum,
-          pageSize: this.queryParams.pageSize,
-        }
+      async getMaterialList(templateCode, query) {
 
-        let param = {
-          templateCode,
-          ...this.params
-          // ...this.queryForm
-        }
-        // console.log(param, 'param');
-        materialApi.materialList(param, page).then((res) => {
-          _this.loading = false;
-          console.log(res, '获取物料列表信息以及表头字段');
-          let {code, data} = res;
+        try {
+          this.loading = true;
+          let page = {
+            pageNum: this.queryParams.pageNum,
+            pageSize: this.queryParams.pageSize,
+          }
+
+          let param = {
+            templateCode,
+            ...this.params,
+            createTimeBegin: (this.params.createTimeQueue && this.params.createTimeQueue[0]) || '',
+            createTimeEnd:(this.params.createTimeQueue && this.params.createTimeQueue[1]) || '',
+            updateTimeBegin:(this.params.updateTimeQueue && this.params.updateTimeQueue[0]) || '',
+            updateTimeEnd:(this.params.updateTimeQueue && this.params.updateTimeQueue[1]) || ''
+          }
+
+          console.log(param,'param--------------');
+
+          let {code,data} = await  materialApi.materialList(param, page);
+          
           if (code == 200) {
-            _this.taskList = data.tableBody.rows;
-            _this.total = data.tableBody.total;
+            this.taskList = data.tableBody.rows;
+            this.total = data.tableBody.total;
 
           }
-        })
+        } catch (error) {
+          
+        }finally{
+          this.loading = false;
+        }
+       
+        // materialApi.materialList(param, page).then((res) => {
+        //   _this.loading = false;
+        //   console.log(res, '获取物料列表信息以及表头字段');
+        //   let {code, data} = res;
+        //   if (code == 200) {
+        //     _this.taskList = data.tableBody.rows;
+        //     _this.total = data.tableBody.total;
+
+        //   }
+        // })
       },
       // 获取物料列表表头
       getTagList(templateCode) {

+ 14 - 14
src/views/purchase/purchase-order/add/column.js

@@ -336,20 +336,20 @@ export const Columns = [
     disabled:true,
    },
   // { key: "agent", title: "代理人", inputType: "Input", }, // 建议删除
-  {
-    key: "agentName",
-    title: "代理人",
-    inputType: "PopoverSelect",
-    valueKey: "code",
-    referName: "CONTACTS_PARAM",
-    dataMapping: {
-      agent: 'code',
-      agentName: 'name'
-    },
-     isShow:true,
-    queryParams: () => ({}),
-    width: 200,
-  },
+  // {
+  //   key: "agentName",
+  //   title: "代理人",
+  //   inputType: "PopoverSelect",
+  //   valueKey: "code",
+  //   referName: "CONTACTS_PARAM",
+  //   dataMapping: {
+  //     agent: 'code',
+  //     agentName: 'name'
+  //   },
+  //    isShow:true,
+  //   queryParams: () => ({}),
+  //   width: 200,
+  // },
 
   { 
     key: "isClose", 

+ 6 - 6
src/views/purchase/purchase-order/column.js

@@ -248,12 +248,12 @@ export const TableColumns = [
     },
 
   },
-  { 
-    item:{ key: "agentName", title: "代理人" ,},
-    attr:{
-      isHidden:true,
-    },
-  },
+  // { 
+  //   item:{ key: "agentName", title: "代理人" ,},
+  //   attr:{
+  //     isHidden:true,
+  //   },
+  // },
   {
     item:{ 
       key: "isClose",