YangJian0701 1 rok temu
rodzic
commit
d4c746dd7e

+ 2 - 0
src/api/index.ts

@@ -7,6 +7,8 @@ export * from './module/sellManage'
 export * from './module/storageOrderGoods'
 export * from './module/essentialinfo'
 export * from './module/transmitReceive'
+export * from './module/storagePut'
+
 
 
 

+ 2 - 3
src/api/module/storageInquire.ts

@@ -2,11 +2,10 @@
 import $http from '@/utils/index'
 
 // 库存查询-列表
-export const stockStatList = (params: any) => $http.post('/stock/stat/list', params)
-
+export const stockStatList = (params: any) => $http.post('/stock/inquiry/list', params)
 
 // 库存查询-导出
-export const stockStatexcel = (params: any) => $http.post('/stock/stat/excel', params)
+export const stockStatexcel = (params: any) => $http.post('/stock/inquiry/excel', params)
 
 
 

+ 21 - 0
src/api/module/storagePut.ts

@@ -0,0 +1,21 @@
+
+import $http from '@/utils/index'
+
+/**
+ * 入库列表
+ * @param params 
+ * @returns 
+ */
+export const stockInList = (params: any) => $http.post('/stock-template/in/list', params)
+
+//表头
+export const medicineColumns = (params: any) => $http.post('/medicine-template/columns', params)
+
+
+
+
+export const medicListStock = (params: any) => $http.post('/medicine-template/list-for-stock', params)
+
+export const operatorList = (params: any) => $http.post('/stock/operator/list', params)
+
+

+ 17 - 0
src/plugins/rulesData.ts

@@ -0,0 +1,17 @@
+export const syrulesData = {
+    quantity: [{
+        required: true,
+        message: '必填项',
+        trigger: 'blur',
+    }],
+    date: [{
+        required: true,
+        message: '必填项',
+        trigger: 'change',
+    }],
+    operator: [{
+        required: true,
+        message: '必填项',
+        trigger: 'change',
+    }]
+}

+ 0 - 27
src/utils/download.js

@@ -1,27 +0,0 @@
-/**
- * @author yxm 
- * @description  导出文件流
- * @param { String } content 文件流
- * @param { String } paraName 文件名+后缀名
-*/
-export function getContentExport(content, paraName) {
-    if (!content) {
-      return;
-    }
-    const blob = new Blob([content]);
-    if ("download" in document.createElement("a")) {
-      // 非IE下载
-      const elink = document.createElement("a");
-      elink.download = paraName;
-      elink.style.display = "none";
-      elink.href = URL.createObjectURL(blob);
-      document.body.appendChild(elink);
-      elink.click();
-      URL.revokeObjectURL(elink.href); // 释放URL 对象
-      document.body.removeChild(elink);
-    } else {
-      // IE10+下载
-      navigator.msSaveBlob(blob, file);
-    }
-    console.log('操作成功')
-}

+ 30 - 0
src/utils/download.ts

@@ -0,0 +1,30 @@
+
+/**
+ * @author yxm 
+ * @description  导出文件流
+ * @param { String } content 文件流
+ * @param { String } paraName 文件名+后缀名
+*/
+
+
+import $http from '@/utils/index'
+
+// 公司列表树
+export const getContentExportApi = (params: any) => $http.post('/stock/inquiry/excel', params, { responseType: "blob", })
+
+
+/**
+ * 
+ * @param res 文件流
+ * @param name 下载的文件名
+ * @param format 下载的文件格式  xlsx
+ */
+export function downloadExcelFun(res:any,name:string,format:string) {
+  let blob = new Blob([res]);
+  let url = window.URL.createObjectURL(blob); // 创建 url 并指向 blob
+  let a = document.createElement("a");
+  a.href = url;
+  a.download = `${name}.${format}`;
+  a.click();
+  window.URL.revokeObjectURL(url); // 释放该 url
+}

+ 9 - 30
src/views/stockcontrol/storageInquire/index.vue

@@ -48,7 +48,6 @@
 
 <script setup lang="ts">
 import searchAdd from "@/components/searchAdd.vue";
-import { getContentExport } from '@/utils/download.js'
 import {
     stockStatList,
     stockStatexcel,
@@ -62,36 +61,16 @@ import { reactive, ref, onMounted } from "vue";
 const TableRef = ref()
 const loading = ref(false)
 import axios from "axios";
+import { getContentExportApi,downloadExcelFun } from "@/utils/download";
 //函数
-const downloadExcel = async () => {
-    axios.post('http://192.168.11.77:8110/api/stock/stat/excel', initParam, { responseType: 'blob' }).then(response => {
-        const url = window.URL.createObjectURL(new Blob([response.data]));
-        const link = document.createElement('a');
-        link.style.display = 'none'
-        link.href = url;
-         const filename = 'filename.xlsx';
-         link.setAttribute("download", decodeURI(filename));// 指定下载后的文件名,防跳转
-        document.body.appendChild(link);
-        link.click();
-        document.body.removeChild(link);
-      }).catch(error => {
-        // 处理错误
-        console.error(error);
-      });
-    return
-
-
-    // const fileStream = result.data; // 从响应中获取文件流数据
-    // // 创建 Blob 对象
-    // const blob = new Blob([fileStream], { type: 'application/octet-stream' });
-    // // 创建链接元素
-    // const linkElement = document.createElement('a');
-    // linkElement.href = window.URL.createObjectURL(blob);
-    // linkElement.download = 'filename.xlsx'; // 指定下载时显示的文件名及格式(根据实际情况修改)
-
-    // // 触发点击事件开始下载
-    // linkElement.click();
-}
+const downloadExcel = () => {
+    getContentExportApi(initParam).then((res) => {
+        const result: any = res
+        downloadExcelFun(result,'库存查询','xlsx')
+    }).catch((error) => {
+        console.log('err', error.toString())
+    });
+};
 // 渲染表格
 const columns: any = [
     { type: 'index', label: '编号', width: 80, },

+ 132 - 43
src/views/stockcontrol/storagePut/index.vue

@@ -1,25 +1,35 @@
 <!--  -->
 <template>
     <div class="storagePut">
-        <searchAdd isButtom="查询">
+        <searchAdd isButtom="查询" @event="eventFun">
             <template #searchConter>
-                <el-form-item label="疫苗批号">
-                    <el-input v-model="formInline.user" placeholder="疫苗批号" clearable  style="width: 150px;"/>
-                </el-form-item>
                 <el-form-item label="疫苗名称">
-                    <el-select v-model="formInline.region" placeholder="生产企业" clearable style="width: 150px;">
-                        <el-option label="Zone one" value="shanghai" />
-                        <el-option label="Zone two" value="beijing" />
+                    <el-select v-model.number="initParam.productId" filterable remote reserve-keyword placeholder="疫苗名称"
+                        :remote-method="remoteMethod1" :loading="loading" clearable style="width: 200px;"
+                        @clear="initParam.productId = null" @click="click1">
+                        <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value" />
                     </el-select>
                 </el-form-item>
                 <el-form-item label="生产企业">
-                    <el-select v-model="formInline.region" placeholder="生产企业" clearable style="width: 150px;">
-                        <el-option label="Zone one" value="shanghai" />
-                        <el-option label="Zone two" value="beijing" />
+                    <el-select v-model.number="initParam.enterpriseId" filterable remote reserve-keyword placeholder="购货单位"
+                        :remote-method="remoteMethod2" :loading="loading" clearable @clear="initParam.enterpriseId = null"
+                        @click="click2" style="width: 200px;">
+                        <el-option v-for="item in options2" :key="item.value" :label="item.label" :value="item.value" />
                     </el-select>
                 </el-form-item>
+                <el-form-item label="疫苗批号">
+                    <el-input v-model="initParam.batchNumber" placeholder="疫苗批号" clearable style="width: 200px;" />
+                </el-form-item>
                 <el-form-item label="疫苗效期">
-                    <el-date-picker v-model="formInline.date" type="date" placeholder="出/入库日期" clearable style="width: 150px;" />
+                    <el-date-picker v-model="data.datepick" type="daterange" placeholder="出/入库日期" clearable
+                        start-placeholder="开始" end-placeholder="结束" value-format="YYYY-MM-DD" style="width: 200px;"
+                        @change="changFun" />
+                </el-form-item>
+                <el-form-item label="收发单位">
+                    <el-select v-model="initParam.forwardingUnit" filterable remote reserve-keyword placeholder="收发单位"
+                        :remote-method="remoteMethod3" :loading="loading" clearable @click="click3" style="width: 200px;">
+                        <el-option v-for="item in options3" :key="item.value" :label="item.label" :value="item.value" />
+                    </el-select>
                 </el-form-item>
             </template>
         </searchAdd>
@@ -29,7 +39,7 @@
                 <!-- <Labour></Labour> -->
             </template>
             <template #bg>
-                <tables ref="TableRef" :requestApi="userList" :columns="columns" :initParam="data.initParam">
+                <tables ref="TableRef" :requestApi="stockInList" :columns="columns" :initParam="initParam">
                 </tables>
             </template>
         </bg>
@@ -37,47 +47,126 @@
 </template>
 
 <script setup lang="ts">
-import { userList } from "@/api";
-import { reactive, ref } from "vue";
+import { 
+    stockInList,
+    productList,//疫苗名称
+    enterpriseList,//生产企业
+    stockunit,//收发货单位
+    medicineColumns,//表头
+} from "@/api";
+import { reactive, ref,onMounted } from "vue";
 import tables from "@/components/table.vue";
 import searchAdd from "@/components/searchAdd.vue";
 import bg from '@/components/bg.vue'
 import scanCode from './scanCode.vue'
-import Labour from './Labour.vue'
-
+const TableRef = ref()
 
-
-const formInline = reactive({
-    user: '',
-    region: '',
-    date: '',
+const columns:any = []
+//提交参数
+const initParam = reactive({
+    "batchNumber": "",
+    "enterpriseId": null,
+    "endDate": "",
+    "startDate": "",
+    "productId": null,
+    "forwardingUnit": ""
 })
-const datas = reactive({
-    input: ''
+const data = reactive({
+    datepick: ''
 })
+/**
+ * 
+ * @param val 子传值
+ */
+ const eventFun = (val: any) => {
+    TableRef.value?.getTableList()
+}
+const loading = ref(false)
+const list1 = ref<ListItem[]>([])//疫苗名称
+const list2 = ref<ListItem[]>([])//生产企业
+const list3 = ref<ListItem[]>([])//收发货单位
+//函数
+const click1 = async () => { options1.value = list1.value }
+const click2 = async () => { options2.value = list2.value }
+const click3 = async ()=>{options3.value = list3.value}
+
 // 渲染表格
-const columns: any = [
-    { prop: 'nickName', label: '疫苗名称'},
-    { prop: 'username', label: '生产企业'},
-    { prop: 'nickName', label: '批准文号'},
-    { prop: 'username', label: '批签发合格编号'},
-    { prop: 'nickName', label: '规格(剂/支或粒)'},
-    { prop: 'username', label: '生产日期',  },
-    // { prop: 'nickName', label: '疫苗批号', width: 100 },
-    // { prop: 'username', label: '疫苗效期', width: 100 },
-    // { prop: 'username', label: '数量', width: 100 },
-    // { prop: 'username', label: '单位', width: 80 },
-    // { prop: 'username', label: '剂型', width: 100 },
-    // { prop: 'username', label: '领苗人', width: 100 },
-    // { prop: 'username', label: '发货单位', width: 200 },
-    // { prop: 'username', label: '入库日期', width: 100 },
-]
-const activeName = ref('first')
+onMounted(async () => {
+     const r:any = await medicineColumns({})
+     TableRef.value.tableColumns = r.data.list
+    const result1: any = await productList({ age: 1, pageSize: 999 })//疫苗名称
+    const result2: any = await enterpriseList({ age: 1, pageSize: 999 })//生产企业
+    const result3: any = await stockunit({ type: 3 })//收发货单位
+
+
+    list1.value = findMap(result1.data.list, 'obj')
+    list2.value = findMap(result2.data.list, 'obj')
+    list3.value = findMap(result3.data.list,'map')
 
-const data = reactive({
-    initParam: { username: '' },//请求参数
-    str: ''
 })
+//函数
+const changFun = async (e: any) => {
+    if (e) { initParam.startDate = e[0]; initParam.endDate = e[1] }
+    else { initParam.startDate = ""; initParam.endDate = "" }
+}
+interface ListItem {
+    value: string
+    label: string
+}
+const options1 = ref<ListItem[]>([])
+const options2 = ref<ListItem[]>([])
+const options3 = ref<ListItem[]>([])
+
+const remoteMethod1 = async (query: string) => {
+    if (query) {
+        loading.value = true
+        setTimeout(() => {
+            loading.value = false
+            options1.value = list1.value.filter((item: any) => {
+                return item.label.toLowerCase().includes(query.toLowerCase())
+            })
+        }, 200)
+    } else {
+        options1.value = []
+    }
+}
+
+const remoteMethod2 = async (query: string) => {
+    if (query) {
+        loading.value = true
+        setTimeout(() => {
+            loading.value = false
+            options2.value = list2.value.filter((item: any) => {
+                console.log('第一个', query, item)
+                return item.label.toLowerCase().includes(query.toLowerCase())
+            })
+        }, 200)
+    } else {
+        options2.value = []
+    }
+}
+const remoteMethod3 = async (query: string) => {
+    if (query) {
+        loading.value = true
+        setTimeout(() => {
+            loading.value = false
+            options3.value = list3.value.filter((item: any) => {
+                return item.label.toLowerCase().includes(query.toLowerCase())
+            })
+        }, 200)
+    } else {
+        options3.value = []
+    }
+}
+//函数
+const findMap = (arr: any, obj: any) => {
+    return arr.map((item: any) => {
+        return { value: obj == 'obj' ? item.id : item, label: obj == 'obj' ? item.name : item }
+    })
+}
+
+
+
 
 
 </script>

+ 91 - 77
src/views/stockcontrol/storagePut/scanCode.vue

@@ -1,88 +1,45 @@
 <!-- 扫码 -->
 <template>
     <div class="">
-        <el-button el-button type="primary" icon="Camera" @click="dialogFormVisible = true">入库</el-button>
-        <el-dialog v-model="dialogFormVisible" title="入库" :append-to-body="true" :before-close="closeFun" draggable
-            :close-on-click-modal="false" :close-on-press-escape="false" width="60%">
-            <el-divider content-position="center">药品信息</el-divider>
-            <el-form :model="form" :inline="true">
-                <el-form-item label="疫苗名称" :label-width="formLabelWidth">
-                    <el-select v-model="form.region" placeholder="Please select a zone" class="inputWidth">
-                        <el-option label="Zone No.1" value="shanghai" />
-                        <el-option label="Zone No.2" value="beijing" />
+        <el-button el-button type="primary" icon="Camera" @click="showDia">入库</el-button>
+        <el-dialog v-model="dialogFormVisible" title="入库" :append-to-body="true" :before-close="closeFun" draggable :close-on-click-modal="false" :close-on-press-escape="false" width="60%">
+            <el-form ref="ruleFormRef" :rules="rules" :model="initParam" :inline="true">
+                <el-divider content-position="center">药品信息</el-divider>
+                <el-form-item :label="item.name" :label-width="formLabelWidth" v-for="(item,index) in data.showDiaData" :key="index" :prop="'medicineInfo.'+item.field_name">
+                    <el-select v-model="initParam.medicineInfo[item.field_name]" :placeholder="'请选择'+item.name" class="inputWidth" v-if="[1,2,3,4,5].includes(item.type)">
+                        <el-option :label="itemIt.name" :value="itemIt.id" v-for="itemIt,i in item.list" :key="i"/>
                     </el-select>
+                    <el-input v-model="initParam.medicineInfo[item.field_name]" autocomplete="off" :placeholder="'请输入'+item.name" class="inputWidth" v-if="item.type==6"/>
+                    <el-input v-model="initParam.medicineInfo[item.field_name]" autocomplete="off" :placeholder="'请输入'+item.name" class="inputWidth" v-if="item.type==7"/>
+                    <el-input v-model="initParam.medicineInfo[item.field_name]" autocomplete="off" :placeholder="'请输入'+item.name" class="inputWidth" v-if="item.type==8"/>
+                    <el-date-picker v-model="initParam.medicineInfo[item.field_name]" type="date" value-format="YYYY-MM-DD" :placeholder="'请输入'+item.name" clearable style="width: 200px;" v-if="item.type==9"/>
+                    <el-date-picker v-model="initParam.medicineInfo[item.field_name]" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" :placeholder="'请输入'+item.name" clearable style="width: 200px;" v-if="item.type==10"/>
                 </el-form-item>
-                <el-form-item label="生产企业" :label-width="formLabelWidth">
-                    <el-select v-model="form.region" placeholder="Please select a zone" class="inputWidth">
-                        <el-option label="Zone No.1" value="shanghai" />
-                        <el-option label="Zone No.2" value="beijing" />
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="规格" :label-width="formLabelWidth">
-                    <el-select v-model="form.region" placeholder="Please select a zone" class="inputWidth">
-                        <el-option label="Zone No.1" value="shanghai" />
-                        <el-option label="Zone No.2" value="beijing" />
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="剂型" :label-width="formLabelWidth">
-                    <el-select v-model="form.region" placeholder="Please select a zone" class="inputWidth">
-                        <el-option label="Zone No.1" value="shanghai" />
-                        <el-option label="Zone No.2" value="beijing" />
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="单位" :label-width="formLabelWidth">
-                    <el-select v-model="form.region" placeholder="Please select a zone" class="inputWidth">
-                        <el-option label="Zone No.1" value="shanghai" />
-                        <el-option label="Zone No.2" value="beijing" />
-                    </el-select>
-                </el-form-item>
-
-
-                <el-form-item class="el-form-item-main" label="批准文号" :label-width="formLabelWidth">
-                    <el-input v-model="form.name" autocomplete="off" class="inputWidth" />
-                </el-form-item>
-                <el-form-item class="el-form-item-main" label="批签发合格编号" :label-width="formLabelWidth">
-                    <el-input v-model="form.name" autocomplete="off" class="inputWidth" />
-                </el-form-item>
-                <el-form-item class="el-form-item-main" label="疫苗批号" :label-width="formLabelWidth">
-                    <el-input v-model="form.name" autocomplete="off" class="inputWidth" />
-                </el-form-item>
-                <el-form-item label="疫苗效期" :label-width="formLabelWidth">
-                    <el-date-picker v-model="form.region" type="date" placeholder="疫苗效期" clearable style="width: 200px;" />
-                </el-form-item>
-
-                <el-form-item label="生产日期" :label-width="formLabelWidth">
-                    <el-date-picker v-model="form.region" type="date" placeholder="生产日期" clearable style="width: 200px;" />
-                </el-form-item>
-            </el-form>
-            <el-divider content-position="center">入库信息</el-divider>
-            <el-form :model="form" :inline="true">
-                <el-form-item class="el-form-item-main" label="数量" :label-width="formLabelWidth">
-                    <el-input v-model="form.name" autocomplete="off" class="inputWidth" />
+                <el-divider content-position="center">入库信息</el-divider>
+                <el-form-item class="el-form-item-main" label="数量" :label-width="formLabelWidth" prop="quantity">
+                    <el-input v-model="initParam.quantity" autocomplete="off" class="inputWidth" />
                 </el-form-item>
                 <el-form-item class="el-form-item-main" label="购进单价" :label-width="formLabelWidth">
-                    <el-input v-model="form.name" autocomplete="off" class="inputWidth" />
+                    <el-input v-model="initParam.unitPrice" autocomplete="off" class="inputWidth" />
                 </el-form-item>
-                <el-form-item class="el-form-item-main" label="入库日期" :label-width="formLabelWidth">
-                    <el-date-picker v-model="form.region" type="date" placeholder="疫苗效期" clearable style="width: 200px;" />
+                <el-form-item class="el-form-item-main" label="入库日期" :label-width="formLabelWidth" prop="date">
+                    <el-date-picker v-model="initParam.date" type="date" placeholder="疫苗效期" value-format="YYYY-MM-DD" clearable style="width: 200px;" />
                 </el-form-item>
                 <el-form-item class="el-form-item-main" label="发货单位" :label-width="formLabelWidth">
-                    <el-select v-model="form.region" placeholder="Please select a zone" class="inputWidth">
-                        <el-option label="Zone No.1" value="shanghai" />
-                        <el-option label="Zone No.2" value="beijing" />
+                    <el-select v-model="initParam.forwardingUnit" placeholder="请选择发货单位" class="inputWidth">
+                        <el-option :value="it" v-for="it,j in data.itemPir" :key="j" />
                     </el-select>
                 </el-form-item>
-                <el-form-item label="经办人" :label-width="formLabelWidth">
-                    <el-select v-model="form.region" placeholder="Please select a zone" class="inputWidth">
-                        <el-option label="Zone No.1" value="shanghai" />
-                        <el-option label="Zone No.2" value="beijing" />
+                <el-form-item label="经办人" :label-width="formLabelWidth" prop="operator">
+                    <el-select v-model="initParam.operator" placeholder="请选择经办人" class="inputWidth">
+                        <el-option :label="it" :value="it" v-for="(it,j) in data.itemOpen" :key="j+Math.random()" />
                     </el-select>
                 </el-form-item>
             </el-form>
             <template #footer>
                 <span class="dialog-footer">
-                    <el-button>加入缓存</el-button>
-                    <el-button type="primary" @click="innerVisible = true">查看缓存</el-button>
+                    <el-button @click="submitForm(ruleFormRef)">加入暂存</el-button>
+                    <el-button type="primary" @click="showinnerVisible">查看暂存</el-button>
                 </span>
             </template>
             <el-dialog v-model="innerVisible" title="入库数据" width="95%" append-to-body draggable :close-on-click-modal="false" :close-on-press-escape="false">
@@ -121,21 +78,45 @@
 
 <script setup lang="ts">
 import { reactive, ref } from 'vue'
+import type { FormInstance, FormRules } from 'element-plus'
+import { syrulesData } from "@/plugins/rulesData";
 const dialogFormVisible = ref(false)
+const ruleFormRef = ref<FormInstance>()
+
+let rules:any = reactive({})
+
+import { 
+    medicListStock,
+    stockunit,//发货单位
+    operatorList,//经办人
+} from "@/api";
 const innerVisible = ref(false)
 import { ElMessage, ElMessageBox } from 'element-plus'
 import {Delete,Edit,} from '@element-plus/icons-vue'
 const formLabelWidth = '110px'
-const form = reactive({
-    name: '',
-    region: '',
-    date1: '',
-    date2: '',
-    delivery: false,
-    type: [],
-    resource: '',
-    desc: '',
+const initParam:any = reactive({
+    "date": "",
+    "forwardingUnit": "",
+    "medicineInfo": {},
+    "operator":'',
+    "quantity": null,
+    "unitPrice":null
 })
+const submitForm = async (formEl: FormInstance | undefined) => {
+  if (!formEl) return
+  await formEl.validate((valid, fields) => {
+    if (valid) {
+      console.log('submit!',initParam)
+    } else {
+      console.log('error submit!', initParam)
+    }
+  })
+}
+let data:any = reactive({
+    showDiaData:[],
+    itemPir:[],
+    itemOpen:[]
+}) 
 //函数
 const closeFun = async () => {
     ElMessageBox.confirm('请检查录入数据是否已经提交,该操作将放弃录入信息,是否放弃?', '提示', {
@@ -151,7 +132,40 @@ const closeFun = async () => {
         ElMessage.success('放弃')
     })
 }
+//收发货单位
+const itemPirFun = async()=>{
+    const reslut:any = await stockunit({ type: 3 })
+    data.itemPir = reslut.data.list
+}
+//经办人Api
+const operatorListApi = async()=>{
+    const reslut:any = await operatorList({})
+    data.itemOpen = reslut.data.list
+}
+
 
+//函数
+const showinnerVisible = async ()=>{
+    innerVisible.value = true
+}
+const showDia = async ()=>{
+    dialogFormVisible.value = true
+    itemPirFun()//发货单位
+    operatorListApi()//经办人
+    const reslut:any = await medicListStock({})
+    console.log('返回',reslut)
+    if(reslut.code==200 && reslut.msg=='查询成功'){
+        data.showDiaData = reslut.data.list
+        let rules1:any = {}
+        reslut.data.list.forEach((value:any) => { //value设置成key
+            initParam.medicineInfo[value.field_name] = ''; // 这里可以根据需要设置其他值作为键的内容
+            if(['product_id','enterprise_id','spec_id','batch_number','expiry_date','approval_number'].includes(value.field_name)){
+                rules1['medicineInfo.'+value.field_name] = [{required: true,message: '必填项',trigger: 'change',}]
+            }
+        });
+        Object.assign(rules,{...rules1,...syrulesData})
+    }
+}
 
 const handleClick = (data:any) => {
   console.log('click',data)

+ 1 - 1
tsconfig.json

@@ -34,7 +34,7 @@
     "src/**/*.vue",
     "tests/**/*.ts",
     "tests/**/*.tsx"
-, "env.d.ts", "src/plugins/eventBus.js", "src/utils/download.js"  ],
+, "env.d.ts", "src/plugins/eventBus.js", "src/utils/download.ts"  ],
   "exclude": [
     "node_modules"
   ]