yuwandanmian 1 rok pred
rodič
commit
6da330c9a7

+ 28 - 0
src/api/dict.js

@@ -0,0 +1,28 @@
+import request from '@/utils/request'
+
+// 2.0 转 3.0
+export function getSsczysList(data) {
+  return request({
+    url: '/ssczys/ssczysList',
+    method: 'post',
+    data: data
+  })
+}
+
+// 2.0 转 3.0 新增
+export function ssczysAdd(data) {
+  return request({
+    url: '/ssczys/ssczysAdd',
+    method: 'post',
+    data: data
+  })
+}
+
+// 2.0 转 3.0 编辑
+export function ssczysSave(data) {
+  return request({
+    url: '//ssczys/ssczysSave',
+    method: 'post',
+    data: data
+  })
+}

+ 9 - 0
src/api/excel.js

@@ -67,3 +67,12 @@ export function surgeryImport(data) {
     data: data
   })
 }
+
+// 2.0转3.0导出
+export function ssczysExport(data) {
+  return request_blob({
+    url: `/ssczys/ssczysExport`,
+    method: 'post',
+    data: data
+  })
+}

+ 57 - 73
src/views/dict/map/components/CreateDialog.vue

@@ -5,36 +5,29 @@
     width="30%"
   >
     <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
-      <el-form-item label="质控项目" prop="title">
-        <el-input v-model="ruleForm.title" placeholder="请输入" />
+      <el-form-item label="手术2.0代码" prop="ssbm">
+        <el-input v-model="ruleForm.ssbm" placeholder="请输入" />
       </el-form-item>
-      <el-form-item label="错误描述" prop="notice">
-        <el-input v-model="ruleForm.notice" placeholder="请输入" />
+      <el-form-item label="手术2.0名称" prop="ssmc">
+        <el-input v-model="ruleForm.ssmc" placeholder="请输入" />
       </el-form-item>
-      <el-form-item label="质控分类" prop="category">
-        <el-select v-model="ruleForm.category" clearable placeholder="请选择" style="width: 100%;">
-          <el-option v-for="item of categorys" :key="item" :label="item" :value="item" />
-        </el-select>
-      </el-form-item>
-      <el-form-item label="扣分" prop="score">
-        <el-input v-model="ruleForm.score" placeholder="请输入" />
+      <el-form-item label="手术3.0代码" prop="ssysbm">
+        <el-input v-model="ruleForm.ssysbm" placeholder="请输入" />
       </el-form-item>
-      <el-form-item label="质控类型" prop="type">
-        <el-select v-model="ruleForm.type" clearable placeholder="请选择" style="width: 100%;">
-          <el-option v-for="item of types" :key="item" :label="item" :value="item" />
-        </el-select>
+      <el-form-item label="手术3.0名称" prop="ssysmc">
+        <el-input v-model="ruleForm.ssysmc" placeholder="请输入" />
       </el-form-item>
-      <el-form-item label="科室" prop="department">
-        <el-input v-model="ruleForm.department" placeholder="请输入" />
+      <el-form-item label="手术内码" prop="ssnm">
+        <el-input v-model="ruleForm.ssnm" placeholder="请输入" />
       </el-form-item>
-      <el-form-item label="单项否决" prop="one_no">
-        <el-select v-model="ruleForm.one_no" clearable placeholder="请选择" style="width: 100%;">
-          <el-option v-for="item of oneNos" :key="item.name" :label="item.name" :value="item.value" />
+      <el-form-item label="操作类型" prop="sslb">
+        <el-select v-model="ruleForm.sslb" filterable clearable placeholder="请选择">
+          <el-option label="介入治疗" value="介入治疗" />
+          <el-option label="手术" value="手术" />
+          <el-option label="治疗性操作" value="治疗性操作" />
+          <el-option label="诊断性操作" value="诊断性操作" />
         </el-select>
       </el-form-item>
-      <el-form-item label="质控节点" prop="node">
-        <el-input v-model="ruleForm.node" placeholder="请输入" />
-      </el-form-item>
     </el-form>
     <span slot="footer" class="dialog-footer">
       <el-button @click="data.bSwitch = false">取 消</el-button>
@@ -44,7 +37,7 @@
 </template>
 
 <script>
-import { createCaseRuleList } from '@/api/admin'
+import { ssczysAdd, ssczysSave } from '@/api/dict'
 export default {
   props: {
     data: {
@@ -55,59 +48,38 @@ export default {
           row: {}
         }
       }
-    },
-    categorys: {
-      type: Array,
-      default() {
-        return []
-      }
-    },
-    types: {
-      type: Array,
-      default() {
-        return []
-      }
     }
   },
   data() {
     return {
       ruleForm: {
-        title: '',
-        notice: '',
-        category: '',
-        score: '',
-        type: '',
-        department: '',
-        one_no: '',
-        node: ''
+        ssbm: '',
+        ssmc: '',
+        ssysbm: '',
+        ssysmc: '',
+        sslb: '',
+        ssnm: ''
       },
       rules: {
-        title: [
+        ssbm: [
           { required: true, message: '请输入', trigger: 'blur' }
         ],
-        notice: [
+        ssmc: [
           { required: true, message: '请输入', trigger: 'blur' }
         ],
-        category: [
+        ssysbm: [
           { required: true, message: '请输入', trigger: 'blur' }
         ],
-        score: [
+        ssysmc: [
           { required: true, message: '请输入', trigger: 'blur' }
         ],
-        type: [
+        sslb: [
           { required: true, message: '请输入', trigger: 'blur' }
         ],
-        department: [
-          { required: true, message: '请输入', trigger: 'blur' }
-        ],
-        one_no: [
-          { required: true, message: '请输入', trigger: 'blur' }
-        ],
-        node: [
-          { required: true, message: '请输入', trigger: 'blur' }
+        ssnm: [
+          { required: true, message: '请选择', trigger: 'blur' }
         ]
-      },
-      oneNos: [{ name: '否', value: 0 }, { name: '是', value: 1 }]
+      }
     }
   },
   computed: {
@@ -117,27 +89,39 @@ export default {
   },
   created() {
     if (this.data.row.id) {
-      const { title, notice, category, id, score, type, department, one_no, node } = this.data.row
-      this.ruleForm.title = title
-      this.ruleForm.notice = notice
-      this.ruleForm.category = category
+      const { ssbm,
+        ssmc,
+        ssysbm,
+        ssysmc,
+        sslb,
+        ssnm,
+        id } = this.data.row
+      this.ruleForm.ssbm = ssbm
+      this.ruleForm.ssmc = ssmc
+      this.ruleForm.ssysbm = ssysbm
       this.ruleForm.id = id
-      this.ruleForm.score = score
-      this.ruleForm.type = type
-      this.ruleForm.department = department
-      this.ruleForm.node = node
-      this.ruleForm.one_no = one_no
+      this.ruleForm.ssysmc = ssysmc
+      this.ruleForm.sslb = sslb
+      this.ruleForm.ssnm = ssnm
     }
   },
   methods: {
     submitForm(formName) {
       this.$refs[formName].validate(async(valid) => {
         if (valid) {
-          createCaseRuleList(this.ruleForm).then(res => {
-            this.data.bSwitch = false
-            this.$emit('refresh')
-            this.$message.success(res.m || '操作成功')
-          })
+          if (this.ruleForm.id) {
+            ssczysSave(this.ruleForm).then(res => {
+              this.data.bSwitch = false
+              this.$emit('refresh')
+              this.$message.success(res.m || '操作成功')
+            })
+          } else {
+            ssczysAdd(this.ruleForm).then(res => {
+              this.data.bSwitch = false
+              this.$emit('refresh')
+              this.$message.success(res.m || '操作成功')
+            })
+          }
         } else {
           return false
         }

+ 3 - 0
src/views/dict/map/components/TableBox.vue

@@ -170,6 +170,9 @@ export default {
     },
     handleRefresh() {
       this.$emit('refresh')
+    },
+    onExport() {
+      this.$emit('export')
     }
   }
 }

+ 26 - 4
src/views/dict/map/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="app-container">
-    <SearchBoxVue :data="searchData" :types="types" :categorys="categorys" @search="handleSearch" />
-    <TableBoxVue :loading="loading" :types="types" :categorys="categorys" :data="tableData" style="margin-top: -40px;" @refresh="handleRefresh" />
+    <SearchBoxVue :data="searchData" @search="handleSearch" @export="handleExport" />
+    <TableBoxVue :loading="loading" :data="tableData" style="margin-top: -40px;" @refresh="handleRefresh" />
     <pagination
       :auto-scroll="false"
       :total="paginationData.total"
@@ -15,7 +15,8 @@
 <script>
 import SearchBoxVue from './components/SearchBox.vue'
 import TableBoxVue from './components/TableBox.vue'
-import { caseRuleList } from '@/api/admin'
+import { getSsczysList } from '@/api/dict'
+import { ssczysExport } from '@/api/excel'
 
 export default {
   components: {
@@ -62,7 +63,7 @@ export default {
         page_size: limit
       }
       this.loading = true
-      caseRuleList(params).then(res => {
+      getSsczysList(params).then(res => {
         const { p } = res
         this.paginationData.total = p.count
         this.tableData = p.list
@@ -80,6 +81,27 @@ export default {
     handleSearch() {
       this.paginationData.page = 1
       this.getList()
+    },
+    handleExport() {
+      ssczysExport(this.this.searchData).then((res) => {
+        const content = res.data // 后台返回二进制数据
+        const blob = new Blob([content])
+        const fileName = `2.0转3.0.csv`
+        if ('download' in document.createElement('a')) {
+          // 非IE下载
+          const elink = document.createElement('a')
+          elink.download = fileName
+          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, fileName)
+        }
+      })
     }
   }
 }