Browse Source

修改华侨医院bug

csx 6 years ago
parent
commit
0bf8af340b

+ 283 - 248
src/xt_pages/data/components/templateTable.vue View File

1
 <template>
1
 <template>
2
   <div class="">
2
   <div class="">
3
     <div class="filter-container">
3
     <div class="filter-container">
4
-      <el-button size="small" class="filter-item" style="float:right;" @click="handleCreate" type="primary" icon="el-icon-circle-plus-outline">{{$t('table.add')}}</el-button>
4
+      <el-button size="small" class="filter-item" style="float:right;" @click="handleCreate" type="primary"
5
+                 icon="el-icon-circle-plus-outline">{{$t('table.add')}}
6
+      </el-button>
5
     </div>
7
     </div>
6
-    <el-table :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}" :key='tableKey' :data="list" v-loading="listLoading" border fit highlight-current-row style="width: 100%;min-height:500px;">
8
+    <el-table :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}" :key='tableKey' :data="list"
9
+              v-loading="listLoading" border fit highlight-current-row style="width: 100%;min-height:500px;">
7
       <!-- <el-table-column align="center" :label="$t('table.id')" width="65" @click="handleUpdate(scope.row)">
10
       <!-- <el-table-column align="center" :label="$t('table.id')" width="65" @click="handleUpdate(scope.row)">
8
         <template slot-scope="scope">
11
         <template slot-scope="scope">
9
           <span>{{scope.row.id}}</span>
12
           <span>{{scope.row.id}}</span>
10
         </template>
13
         </template>
11
       </el-table-column> -->
14
       </el-table-column> -->
12
-      <el-table-column  align="center" label="标题">
15
+      <el-table-column align="center" label="标题">
13
         <template slot-scope="scope">
16
         <template slot-scope="scope">
14
           <!-- <span @click="handleUpdate(scope.row)">{{scope.row.name}}</span> -->
17
           <!-- <span @click="handleUpdate(scope.row)">{{scope.row.name}}</span> -->
15
-          <span >{{scope.row.title}}</span>
18
+          <span>{{scope.row.title}}</span>
16
         </template>
19
         </template>
17
       </el-table-column>
20
       </el-table-column>
18
       <el-table-column align="center" label="内容">
21
       <el-table-column align="center" label="内容">
19
         <template slot-scope="scope">
22
         <template slot-scope="scope">
20
-          <span>{{scope.row.content}}</span>
23
+          <span v-html="scope.row.content">{{scope.row.content}}</span>
21
         </template>
24
         </template>
22
       </el-table-column>
25
       </el-table-column>
23
       <el-table-column align="center" :label="$t('table.actions')" width="230" class-name="small-padding fixed-width">
26
       <el-table-column align="center" :label="$t('table.actions')" width="230" class-name="small-padding fixed-width">
24
         <template slot-scope="scope">
27
         <template slot-scope="scope">
25
           <el-tooltip class="item" effect="dark" content="编辑" placement="top">
28
           <el-tooltip class="item" effect="dark" content="编辑" placement="top">
26
-           <el-button icon="el-icon-edit-outline" type="primary" size="small" @click="handleUpdate(scope.row)"></el-button>
29
+            <el-button icon="el-icon-edit-outline" type="primary" size="small"
30
+                       @click="handleUpdate(scope.row)"></el-button>
27
           </el-tooltip>
31
           </el-tooltip>
28
           <el-tooltip class="item" effect="dark" content="删除" placement="top">
32
           <el-tooltip class="item" effect="dark" content="删除" placement="top">
29
-            <el-button icon="el-icon-delete" v-if="scope.row.status!='deleted'" size="small" type="danger" @click="handleModifyStatus(scope.row,'deleted')">
33
+            <el-button icon="el-icon-delete" v-if="scope.row.status!='deleted'" size="small" type="danger"
34
+                       @click="handleModifyStatus(scope.row,'deleted')">
30
             </el-button>
35
             </el-button>
31
           </el-tooltip>
36
           </el-tooltip>
32
 
37
 
41
     </div> -->
46
     </div> -->
42
 
47
 
43
     <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
48
     <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
44
-      <el-form :rules="rules" ref="dataForm" :model="temp" label-position="right" label-width="70px" >
45
-        <el-form-item label="标题"  prop="title">
49
+      <el-form :rules="rules" ref="dataForm" :model="temp" label-position="right" label-width="70px">
50
+        <el-form-item label="标题" prop="title">
46
           <el-input v-model="temp.title" maxlength="100" placeholder="请输入标题"></el-input>
51
           <el-input v-model="temp.title" maxlength="100" placeholder="请输入标题"></el-input>
47
         </el-form-item>
52
         </el-form-item>
48
-        <el-form-item label="内容" prop="content">
49
-          <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 4}" v-model="temp.content" placeholder="请输入内容"></el-input>
53
+
54
+        <el-form-item label="内容"  v-if="type == 'course_disease'">
55
+          <keep-alive>
56
+            <neditor ref="neditor"
57
+                     id="neditor"
58
+                     style="width: 600px"
59
+                     v-bind:r_content="temp.content">
60
+            </neditor>
61
+          </keep-alive>
62
+        </el-form-item>
63
+
64
+        <el-form-item label="内容" prop="content" v-else>
65
+          <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 4}" v-model="temp.content"
66
+                    placeholder="请输入内容"></el-input>
50
         </el-form-item>
67
         </el-form-item>
68
+
69
+
51
         <el-form-item :label="$t('data_config.remark')">
70
         <el-form-item :label="$t('data_config.remark')">
52
-          <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 4}" placeholder="请输入备注" v-model="temp.remark"></el-input>
71
+          <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 4}" placeholder="请输入备注"
72
+                    v-model="temp.remark"></el-input>
53
         </el-form-item>
73
         </el-form-item>
54
       </el-form>
74
       </el-form>
55
       <div slot="footer" class="dialog-footer">
75
       <div slot="footer" class="dialog-footer">
60
     </el-dialog>
80
     </el-dialog>
61
 
81
 
62
     <el-dialog title="Reading statistics" :visible.sync="dialogPvVisible">
82
     <el-dialog title="Reading statistics" :visible.sync="dialogPvVisible">
63
-      <el-table :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}" :data="pvData" border fit highlight-current-row style="width: 100%">
64
-        <el-table-column prop="key" label="Channel"> </el-table-column>
65
-        <el-table-column prop="pv" label="Pv"> </el-table-column>
83
+      <el-table :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}" :data="pvData" border fit
84
+                highlight-current-row style="width: 100%">
85
+        <el-table-column prop="key" label="Channel"></el-table-column>
86
+        <el-table-column prop="pv" label="Pv"></el-table-column>
66
       </el-table>
87
       </el-table>
67
       <span slot="footer" class="dialog-footer">
88
       <span slot="footer" class="dialog-footer">
68
         <el-button type="primary" @click="dialogPvVisible = false">{{$t('table.confirm')}}</el-button>
89
         <el-button type="primary" @click="dialogPvVisible = false">{{$t('table.confirm')}}</el-button>
73
 </template>
94
 </template>
74
 
95
 
75
 <script>
96
 <script>
76
-import {createConfig,createChildConfig,updateChildConfig, deleteChildConfig,updateTemplate} from '@/api/data'
77
-import waves from '@/directive/waves' // 水波纹指令
78
-import { parseTime } from '@/utils'
79
-import store from '@/store'
80
-import bus from '@/assets/eventBus'
81
-
97
+  import { createChildConfig, createConfig, deleteChildConfig, updateChildConfig, updateTemplate } from '@/api/data'
98
+  import waves from '@/directive/waves' // 水波纹指令
99
+  import { parseTime } from '@/utils'
100
+  import store from '@/store'
101
+  import bus from '@/assets/eventBus'
102
+  import Neditor from '@/components/Neditor'
82
 
103
 
83
-export default {
84
-  name: 'complexTable',
85
-  directives: {
86
-    waves
87
-  },
88
-  props: {
89
-    type: {
90
-      type: String,
91
-      default: 'patient'
92
-    }
93
-  },
94
-  data() {
95
-    return {
96
-      currentId: undefined,
97
-      tableKey: 0,
98
-      // list: null,
99
-      total: null,
100
-      listLoading: true,
101
-      listQuery: {
102
-        page: 1,
103
-        limit: 20,
104
-        importance: undefined,
105
-        title: undefined,
106
-        type: this.type,
107
-        sort: '+id'
108
-      },
109
-      importanceOptions: [1, 2, 3],
110
-      // calendarTypeOptions,
111
-      sortOptions: [{ label: 'ID Ascending', key: '+id' }, { label: 'ID Descending', key: '-id' }],
112
-      statusOptions: ['published', 'draft', 'deleted'],
113
-      showReviewer: false,
114
-      temp: {
115
-        id: undefined,
116
-        parent_id: 0,
117
-        module: this.type,
118
-        org_id:0,
119
-        title: '',
120
-        content: '',
121
-        remark: ''
122
-      },
123
-      dialogFormVisible: false,
124
-      dialogStatus: '',
125
-      textMap: {
126
-        update: '修改',
127
-        create: '新增'
128
-      },
129
-      dialogPvVisible: false,
130
-      pvData: [],
131
-      rules: {
132
-        title: [{ required: true, message: '请输入名称', trigger: 'blur' }],
133
-        content: [{ required: true, message: '请输入字段名', trigger: 'blur' }]
134
-      },
135
-      downloadLoading: false
136
-    }
137
-  },
138
-  // watch: {
139
-  //   'temp.config_field':function(){
140
-  //       this.temp.config_field =  this.temp.config_field.replace(/[^A-Za-z]/g,'');
141
-  //   }
142
-  // },
143
-  computed:{
144
-    list: function() {
145
-      // const list = store.getters.configlist[this.type]
146
-      // this.total = list.length
147
-      return store.getters.configlist[this.type]
148
-    }
149
-  },
150
-  filters: {
151
-    statusFilter(status) {
152
-      const statusMap = {
153
-        published: 'success',
154
-        draft: 'info',
155
-        deleted: 'danger'
156
-      }
157
-      return statusMap[status]
104
+  export default {
105
+    name: 'complexTable',
106
+    directives: {
107
+      waves
158
     },
108
     },
159
-    typeFilter(type) {
160
-      return calendarTypeKeyValue[type]
161
-    }
162
-  },
163
-  created() {
164
-    this.getList()
165
-  },
166
-  methods: {
167
-    fieldChange:function(newValue){
168
-      this.temp.config_field = newValue.replace(/[^A-Za-z]/g,'');
109
+    components: {
110
+      Neditor
169
     },
111
     },
170
-    handleRowChange(currentRow, oldCurrentRow){
171
-      if(currentRow != undefined){
172
-        this.currentId = currentRow.id
173
-        bus.$emit('parentChangeId',currentRow)
112
+    props: {
113
+      type: {
114
+        type: String,
115
+        default: 'patient'
174
       }
116
       }
175
     },
117
     },
176
-    getList() {
177
-      this.listLoading = false
178
-      // setTimeout(() => {
179
-      //     this.listLoading = false
180
-      //   }, 1 * 1000)
118
+    beforeMount(){
119
+
120
+
181
     },
121
     },
182
-    handleFilter() {
183
-      this.listQuery.page = 1
184
-      this.getList()
122
+    data() {
123
+      return {
124
+        currentId: undefined,
125
+        tableKey: 0,
126
+        // list: null,
127
+        total: null,
128
+        listLoading: true,
129
+        listQuery: {
130
+          page: 1,
131
+          limit: 20,
132
+          importance: undefined,
133
+          title: undefined,
134
+          type: this.type,
135
+          sort: '+id'
136
+        },
137
+        importanceOptions: [1, 2, 3],
138
+        // calendarTypeOptions,
139
+        sortOptions: [{ label: 'ID Ascending', key: '+id' }, { label: 'ID Descending', key: '-id' }],
140
+        statusOptions: ['published', 'draft', 'deleted'],
141
+        showReviewer: false,
142
+        temp: {
143
+          id: undefined,
144
+          parent_id: 0,
145
+          module: this.type,
146
+          org_id: 0,
147
+          title: '',
148
+          content: '',
149
+          remark: ''
150
+        },
151
+        dialogFormVisible: false,
152
+        dialogStatus: '',
153
+        textMap: {
154
+          update: '修改',
155
+          create: '新增'
156
+        },
157
+        dialogPvVisible: false,
158
+        pvData: [],
159
+        rules: {
160
+          title: [{ required: true, message: '请输入名称', trigger: 'blur' }],
161
+          content: [{ required: true, message: '请输入字段名', trigger: 'blur' }]
162
+        },
163
+        downloadLoading: false
164
+      }
185
     },
165
     },
186
-    handleSizeChange(val) {
187
-      this.listQuery.limit = val
188
-      this.getList()
166
+    // watch: {
167
+    //   'temp.config_field':function(){
168
+    //       this.temp.config_field =  this.temp.config_field.replace(/[^A-Za-z]/g,'');
169
+    //   }
170
+    // },
171
+    computed: {
172
+      list: function() {
173
+        // const list = store.getters.configlist[this.type]
174
+        // this.total = list.length
175
+        return store.getters.configlist[this.type]
176
+      }
189
     },
177
     },
190
-    handleCurrentChange(val) {
191
-      this.listQuery.page = val
178
+    filters: {
179
+      statusFilter(status) {
180
+        const statusMap = {
181
+          published: 'success',
182
+          draft: 'info',
183
+          deleted: 'danger'
184
+        }
185
+        return statusMap[status]
186
+      },
187
+      typeFilter(type) {
188
+        return calendarTypeKeyValue[type]
189
+      }
190
+    },
191
+    created() {
192
       this.getList()
192
       this.getList()
193
     },
193
     },
194
-    handleModifyStatus(row, status) {
195
-      this.temp = Object.assign({}, row); // copy obj
196
-      this.$confirm("此操作将永久删除该配置项, 是否继续?", "提示", {
197
-        confirmButtonText: "确 定",
198
-        cancelButtonText: "取 消",
199
-        type: "warning"
200
-      }).then(() => {
201
-          const tempData = Object.assign({}, this.temp);
194
+    methods: {
195
+      fieldChange: function(newValue) {
196
+        this.temp.config_field = newValue.replace(/[^A-Za-z]/g, '')
197
+      },
198
+      handleRowChange(currentRow, oldCurrentRow) {
199
+        if (currentRow != undefined) {
200
+          this.currentId = currentRow.id
201
+          bus.$emit('parentChangeId', currentRow)
202
+        }
203
+      },
204
+      getList() {
205
+        this.listLoading = false
206
+        // setTimeout(() => {
207
+        //     this.listLoading = false
208
+        //   }, 1 * 1000)
209
+      },
210
+      handleFilter() {
211
+        this.listQuery.page = 1
212
+        this.getList()
213
+      },
214
+      handleSizeChange(val) {
215
+        this.listQuery.limit = val
216
+        this.getList()
217
+      },
218
+      handleCurrentChange(val) {
219
+        this.listQuery.page = val
220
+        this.getList()
221
+      },
222
+      handleModifyStatus(row, status) {
223
+        this.temp = Object.assign({}, row) // copy obj
224
+        this.$confirm('此操作将永久删除该配置项, 是否继续?', '提示', {
225
+          confirmButtonText: '确 定',
226
+          cancelButtonText: '取 消',
227
+          type: 'warning'
228
+        }).then(() => {
229
+          const tempData = Object.assign({}, this.temp)
202
           deleteChildConfig(tempData).then(response => {
230
           deleteChildConfig(tempData).then(response => {
203
             if (!response.data) {
231
             if (!response.data) {
204
               // 由于mockjs 不支持自定义状态码只能这样hack
232
               // 由于mockjs 不支持自定义状态码只能这样hack
205
-              reject("error");
233
+              reject('error')
206
             }
234
             }
207
             if (response.data.state === 0) {
235
             if (response.data.state === 0) {
208
-              this.$message.error(response.data.msg);
236
+              this.$message.error(response.data.msg)
209
             }
237
             }
210
 
238
 
211
-            const result = response.data.data.dataconfig;
212
-            store.dispatch("updateParentConfigList", [tempData, "delete"]).then(() => {
213
-                next();
214
-              });
215
-          });
239
+            const result = response.data.data.dataconfig
240
+            store.dispatch('updateParentConfigList', [tempData, 'delete']).then(() => {
241
+              next()
242
+            })
243
+          })
216
 
244
 
217
           this.$message({
245
           this.$message({
218
-            type: "success",
219
-            message: "删除成功!"
220
-          });
246
+            type: 'success',
247
+            message: '删除成功!'
248
+          })
221
         })
249
         })
222
-        .catch(() => {
223
-          this.$message({
224
-            type: "info",
225
-            message: "已取消删除"
226
-          });
227
-        });
228
-    },
229
-    resetTemp() {
230
-      this.temp = {
231
-        id: undefined,
232
-        parent_id: 0,
233
-        module: this.type,
234
-        org_id:0,
235
-        title: '',
236
-        content: '',
237
-        remark: ''
238
-      }
239
-    },
240
-    handleCreate() {
241
-      this.resetTemp()
242
-      this.dialogStatus = 'create'
243
-      this.dialogFormVisible = true
244
-      this.$nextTick(() => {
245
-        this.$refs['dataForm'].clearValidate()
246
-      })
247
-    },
248
-    createData() {
249
-      this.$refs['dataForm'].validate((valid) => {
250
-        if (valid) {
251
-          createConfig(this.temp).then(response => {
252
-            if (!response.data) { // 由于mockjs 不支持自定义状态码只能这样hack
250
+          .catch(() => {
251
+            this.$message({
252
+              type: 'info',
253
+              message: '已取消删除'
254
+            })
255
+          })
256
+      },
257
+      resetTemp() {
258
+        this.temp = {
259
+          id: undefined,
260
+          parent_id: 0,
261
+          module: this.type,
262
+          org_id: 0,
263
+          title: '',
264
+          content: '',
265
+          remark: ''
266
+        }
267
+      },
268
+      handleCreate() {
269
+        this.resetTemp()
270
+        this.dialogStatus = 'create'
271
+        this.dialogFormVisible = true
272
+        this.$nextTick(() => {
273
+          this.$refs['dataForm'].clearValidate()
274
+        })
275
+      },
276
+      createData() {
277
+        this.$refs['dataForm'].validate((valid) => {
278
+          if(this.type == "course_disease"){
279
+            this.temp.content = this.$refs.neditor.content;
280
+          }
281
+
282
+          if (valid) {
283
+            createConfig(this.temp).then(response => {
284
+              if (!response.data) { // 由于mockjs 不支持自定义状态码只能这样hack
253
                 reject('error')
285
                 reject('error')
254
-            }
255
-            if (response.data.state === 0) {
256
-              this.$message.error(response.data.msg);
257
-            }
258
-            const result = response.data.data.dataconfig
259
-            // 更新store
260
-            store.dispatch('updateConfigList',result).then(() => {
286
+              }
287
+              if (response.data.state === 0) {
288
+                this.$message.error(response.data.msg)
289
+              }
290
+              const result = response.data.data.dataconfig
291
+              // 更新store
292
+              store.dispatch('updateConfigList', result).then(() => {
261
 
293
 
262
-            })
294
+              })
263
 
295
 
264
-            this.dialogFormVisible = false
296
+              this.dialogFormVisible = false
265
 
297
 
266
-            this.$message.success("创建成功")
267
-          })
268
-        }
269
-      })
270
-    },
271
-    handleUpdate(row) {
272
-      this.temp = Object.assign({}, row); // copy obj
273
-      this.dialogStatus = "update";
274
-      this.dialogFormVisible = true;
275
-      this.$nextTick(() => {
276
-        this.$refs["dataForm"].clearValidate();
277
-      });
278
-    },
279
-    updateData() {
280
-      this.$refs["dataForm"].validate(valid => {
281
-        if (valid) {
282
-          const tempData = Object.assign({}, this.temp);
283
-          updateTemplate(tempData).then(response => {
284
-            if (!response.data) {
285
-              // 由于mockjs 不支持自定义状态码只能这样hack
286
-              reject("error");
287
-            }
288
-            if (response.data.state === 0) {
289
-              this.$message.error(response.data.msg);
298
+              this.$message.success('创建成功')
299
+            })
300
+          }
301
+        })
302
+      },
303
+      handleUpdate(row) {
304
+        this.temp = Object.assign({}, row) // copy obj
305
+        this.dialogStatus = 'update'
306
+        this.dialogFormVisible = true
307
+        this.$nextTick(() => {
308
+          this.$refs['dataForm'].clearValidate()
309
+        })
310
+      },
311
+      updateData() {
312
+        this.$refs['dataForm'].validate(valid => {
313
+          if (valid) {
314
+            const tempData = Object.assign({}, this.temp)
315
+            if(this.type == "course_disease"){
316
+              tempData.content = this.$refs.neditor.content;
290
             }
317
             }
318
+            updateTemplate(tempData).then(response => {
319
+              if (!response.data) {
320
+                // 由于mockjs 不支持自定义状态码只能这样hack
321
+                reject('error')
322
+              }
323
+              if (response.data.state === 0) {
324
+                this.$message.error(response.data.msg)
325
+              }
291
 
326
 
292
-            const result = response.data.data.dataconfig;
293
-            store.dispatch("updateParentConfigList", [result, "update"]).then(() => {
294
-                next();
295
-              });
327
+              const result = response.data.data.dataconfig
328
+              store.dispatch('updateParentConfigList', [result, 'update']).then(() => {
329
+                next()
330
+              })
296
 
331
 
297
-            this.dialogFormVisible = false;
332
+              this.dialogFormVisible = false
298
 
333
 
299
-            this.$message.success("更新成功")
300
-          });
301
-        }
302
-      });
303
-    },
304
-    handleDelete(row) {
334
+              this.$message.success('更新成功')
335
+            })
336
+          }
337
+        })
338
+      },
339
+      handleDelete(row) {
305
 
340
 
306
-      this.$message.success("删除成功")
341
+        this.$message.success('删除成功')
307
 
342
 
308
-      const index = this.list.indexOf(row)
309
-      this.list.splice(index, 1)
310
-    },
311
-    handleFetchPv(pv) {
312
-      fetchPv(pv).then(response => {
313
-        this.pvData = response.data.pvData
314
-        this.dialogPvVisible = true
315
-      })
316
-    },
317
-    handleDownload() {
318
-      this.downloadLoading = true
319
-      import('@/vendor/Export2Excel').then(excel => {
320
-        const tHeader = ['timestamp', 'title', 'type', 'importance', 'status']
321
-        const filterVal = ['timestamp', 'title', 'type', 'importance', 'status']
322
-        const data = this.formatJson(filterVal, this.list)
323
-        excel.export_json_to_excel({
324
-          header: tHeader,
325
-          data,
326
-          filename: 'table-list'
343
+        const index = this.list.indexOf(row)
344
+        this.list.splice(index, 1)
345
+      },
346
+      handleFetchPv(pv) {
347
+        fetchPv(pv).then(response => {
348
+          this.pvData = response.data.pvData
349
+          this.dialogPvVisible = true
327
         })
350
         })
328
-        this.downloadLoading = false
329
-      })
330
-    },
331
-    formatJson(filterVal, jsonData) {
332
-      return jsonData.map(v => filterVal.map(j => {
333
-        if (j === 'timestamp') {
334
-          return parseTime(v[j])
335
-        } else {
336
-          return v[j]
337
-        }
338
-      }))
351
+      },
352
+      handleDownload() {
353
+        this.downloadLoading = true
354
+        import('@/vendor/Export2Excel').then(excel => {
355
+          const tHeader = ['timestamp', 'title', 'type', 'importance', 'status']
356
+          const filterVal = ['timestamp', 'title', 'type', 'importance', 'status']
357
+          const data = this.formatJson(filterVal, this.list)
358
+          excel.export_json_to_excel({
359
+            header: tHeader,
360
+            data,
361
+            filename: 'table-list'
362
+          })
363
+          this.downloadLoading = false
364
+        })
365
+      },
366
+      formatJson(filterVal, jsonData) {
367
+        return jsonData.map(v => filterVal.map(j => {
368
+          if (j === 'timestamp') {
369
+            return parseTime(v[j])
370
+          } else {
371
+            return v[j]
372
+          }
373
+        }))
374
+      }
339
     }
375
     }
340
   }
376
   }
341
-}
342
 </script>
377
 </script>

+ 3 - 3
src/xt_pages/data/template.vue View File

31
         { path: 'data/template', name: '模版配置' },
31
         { path: 'data/template', name: '模版配置' },
32
       ],
32
       ],
33
       tabMapOptions: [
33
       tabMapOptions: [
34
-        { label: this.$t("data_config.education"), key: 'education' },
35
-        { label: this.$t("data_config.summary"), key: 'summary' },
34
+        { label: this.$t("data_config.education"), key: 'education'},
35
+        { label: this.$t("data_config.summary"), key: 'summary'},
36
         { label: this.$t("data_config.course_disease"), key: 'course_disease' },
36
         { label: this.$t("data_config.course_disease"), key: 'course_disease' },
37
-        { label: this.$t("data_config.rescue_record"), key: 'rescue_record' }
37
+        { label: this.$t("data_config.rescue_record"), key: 'rescue_record'}
38
       ],
38
       ],
39
       activeName: 'education',
39
       activeName: 'education',
40
       createdTimes: 0
40
       createdTimes: 0

+ 19 - 4
src/xt_pages/dialysis/details/dialog/AssessmentAfterDislysis.vue View File

285
             <el-form-item label="失衡综合症症状: ">
285
             <el-form-item label="失衡综合症症状: ">
286
 
286
 
287
               <el-select v-model="form.disequilibrium_syndrome_option">
287
               <el-select v-model="form.disequilibrium_syndrome_option">
288
-                <el-option :key="0" label="请选择" :value="0"></el-option>
288
+                <!--<el-option :key="0" label="请选择" :value="0"></el-option>-->
289
+
290
+                <!--<el-option v-for="item in this.$store.getters.disequilibrium_syndrome_option" :label="item.name" :value="item.id"-->
291
+                           <!--:key="item.id"></el-option>-->
292
+
293
+
294
+                <el-input v-model="form.disequilibrium_syndrome_option" readonly @focus="showDialog('8')"></el-input>
289
 
295
 
290
-                <el-option v-for="item in this.$store.getters.disequilibrium_syndrome_option" :label="item.name" :value="item.id"
291
-                           :key="item.id"></el-option>
292
               </el-select>
296
               </el-select>
293
             </el-form-item>
297
             </el-form-item>
294
           </el-col>
298
           </el-col>
583
         data['hemostasis_opera'] = this.form.hemostasis_opera ? parseFloat(this.form.hemostasis_opera) : 0
587
         data['hemostasis_opera'] = this.form.hemostasis_opera ? parseFloat(this.form.hemostasis_opera) : 0
584
         data['tremor_noise'] = this.form.tremor_noise ? parseFloat(this.form.tremor_noise) : 0
588
         data['tremor_noise'] = this.form.tremor_noise ? parseFloat(this.form.tremor_noise) : 0
585
         data['disequilibrium_syndrome'] = this.form.disequilibrium_syndrome ? parseFloat(this.form.disequilibrium_syndrome) : 0
589
         data['disequilibrium_syndrome'] = this.form.disequilibrium_syndrome ? parseFloat(this.form.disequilibrium_syndrome) : 0
586
-        data['disequilibrium_syndrome_option'] = this.form.disequilibrium_syndrome_option ? parseFloat(this.form.disequilibrium_syndrome_option) : 0
590
+        data['disequilibrium_syndrome_option'] = this.form.disequilibrium_syndrome_option
587
         data['arterial_tube'] = this.form.arterial_tube ? parseFloat(this.form.arterial_tube) : 0
591
         data['arterial_tube'] = this.form.arterial_tube ? parseFloat(this.form.arterial_tube) : 0
588
         data['intravenous_tube'] = this.form.intravenous_tube ? parseFloat(this.form.intravenous_tube) : 0
592
         data['intravenous_tube'] = this.form.intravenous_tube ? parseFloat(this.form.intravenous_tube) : 0
589
         data['dialyzer'] = this.form.dialyzer ? parseFloat(this.form.dialyzer) : 0
593
         data['dialyzer'] = this.form.dialyzer ? parseFloat(this.form.dialyzer) : 0
667
             this.InnerDialogProps.selected = this.form.in_advance_reason
671
             this.InnerDialogProps.selected = this.form.in_advance_reason
668
             this.InnerDialogProps.isShowTextArea = false
672
             this.InnerDialogProps.isShowTextArea = false
669
             break
673
             break
674
+
675
+          case '8':
676
+            this.InnerDialogProps.values = this.$store.getters.disequilibrium_syndrome_option
677
+            this.InnerDialogProps.titles = '失衡综合症症状'
678
+            this.InnerDialogProps.type = 'disequilibrium_syndrome_option'
679
+            this.InnerDialogProps.selected = this.form.disequilibrium_syndrome_option
680
+            this.InnerDialogProps.isShowTextArea = false
681
+            break
670
         }
682
         }
671
       },
683
       },
672
       selectActualTreatmentHour(val) {
684
       selectActualTreatmentHour(val) {
698
           case 'in_advance_reason':
710
           case 'in_advance_reason':
699
             this.form.in_advance_reason = val.value.join(',')
711
             this.form.in_advance_reason = val.value.join(',')
700
             break
712
             break
713
+          case 'disequilibrium_syndrome_option':
714
+            this.form.disequilibrium_syndrome_option = val.value.join(',')
715
+            break
701
 
716
 
702
           default:
717
           default:
703
             break
718
             break

+ 1 - 0
src/xt_pages/stock/Dialog/salesReturnDialog.vue View File

178
 
178
 
179
       },
179
       },
180
       getValue: function() {
180
       getValue: function() {
181
+        this.multipleSelection = []
181
         for (let i = 0; i < this.propForm.goods.length; i++) {
182
         for (let i = 0; i < this.propForm.goods.length; i++) {
182
           for (let key in this.propForm.goods[i]) {
183
           for (let key in this.propForm.goods[i]) {
183
             if (key != 'index') {
184
             if (key != 'index') {

+ 1 - 1
src/xt_pages/stock/Dialog/stockInDialog.vue View File

171
         this.$refs.table.setCurrentRow(null)
171
         this.$refs.table.setCurrentRow(null)
172
       },
172
       },
173
       getValue: function() {
173
       getValue: function() {
174
+        this.multipleSelection = []
174
         for (let i = 0; i < this.propForm.goods.length; i++) {
175
         for (let i = 0; i < this.propForm.goods.length; i++) {
175
           for (let key in this.propForm.goods[i]) {
176
           for (let key in this.propForm.goods[i]) {
176
             if (key != 'index') {
177
             if (key != 'index') {
182
             }
183
             }
183
           }
184
           }
184
         }
185
         }
185
-
186
         const obj = {
186
         const obj = {
187
           selectedGoodInfo: this.multipleSelection,
187
           selectedGoodInfo: this.multipleSelection,
188
         }
188
         }

+ 1 - 0
src/xt_pages/stock/cancelStockOrderAdd.vue View File

176
         // prop
176
         // prop
177
         isVisibility: false,
177
         isVisibility: false,
178
         propForm: {
178
         propForm: {
179
+          goods:[],
179
           goodType: [],
180
           goodType: [],
180
           goodInfo: [],
181
           goodInfo: [],
181
           goodUnit: [],
182
           goodUnit: [],

+ 25 - 6
src/xt_pages/user/courseOfDisease.vue View File

58
               <div class="record_content_panel">
58
               <div class="record_content_panel">
59
                 <div style="background-color:rgb(245, 247, 250)" class="title">病程内容</div>
59
                 <div style="background-color:rgb(245, 247, 250)" class="title">病程内容</div>
60
                 <div class="content">
60
                 <div class="content">
61
-                  {{ current_select_record == null ? '' : current_select_record.content }}
61
+                  <span v-if="current_select_record" v-html="current_select_record.content">{{current_select_record.content }}</span>
62
+                  <span v-else></span>
62
                 </div>
63
                 </div>
63
               </div>
64
               </div>
64
             </el-col>
65
             </el-col>
66
         </div>
67
         </div>
67
       </div>
68
       </div>
68
       <!-- </div> -->
69
       <!-- </div> -->
69
-      <el-dialog title="新增病程记录" width="40%" top="5vh" :visible.sync="show_dialog">
70
+      <el-dialog title="新增病程记录" width="50%" top="5vh" :visible.sync="show_dialog">
70
         <div>
71
         <div>
71
           <div class="new_record_form">
72
           <div class="new_record_form">
72
             <div class="cell clearfix">
73
             <div class="cell clearfix">
85
 
86
 
86
 
87
 
87
             <div class="textarea_panel">
88
             <div class="textarea_panel">
88
-              <el-input v-model="new_content" type="textarea" rows="6" resize="none"></el-input>
89
+              <keep-alive>
90
+                <neditor ref="neditor"
91
+                         id="editor"
92
+                         style="width: 600px"
93
+                         v-bind:r_content="new_content">
94
+                </neditor>
95
+              </keep-alive>
89
             </div>
96
             </div>
90
 
97
 
91
             <div style="text-align: right; padding-right: 0px; padding-top: 10px; padding-bottom: 10px;">
98
             <div style="text-align: right; padding-right: 0px; padding-top: 10px; padding-bottom: 10px;">
99
       </el-dialog>
106
       </el-dialog>
100
 
107
 
101
 
108
 
102
-      <el-dialog title="修改病程记录" width="40%" top="5vh" :visible.sync="show_edit_dialog">
109
+      <el-dialog title="修改病程记录" width="50%" top="5vh" :visible.sync="show_edit_dialog">
103
         <div>
110
         <div>
104
           <div class="new_record_form">
111
           <div class="new_record_form">
105
             <div class="cell clearfix">
112
             <div class="cell clearfix">
118
 
125
 
119
 
126
 
120
             <div class="textarea_panel">
127
             <div class="textarea_panel">
121
-              <el-input v-model="edit_new_content" type="textarea" rows="6" resize="none"></el-input>
128
+              <!--<el-input v-model="edit_new_content" type="textarea" rows="6" resize="none"></el-input>-->
129
+              <keep-alive>
130
+                <neditor ref="edit_neditor"
131
+                         id="edit_editor"
132
+                         style="width: 600px"
133
+                         v-bind:r_content="edit_new_content">
134
+                </neditor>
135
+              </keep-alive>
122
             </div>
136
             </div>
123
 
137
 
124
             <div style="text-align: right; padding-right: 0px; padding-top: 10px; padding-bottom: 10px;">
138
             <div style="text-align: right; padding-right: 0px; padding-top: 10px; padding-bottom: 10px;">
138
 
152
 
139
 <script>
153
 <script>
140
   import PatientSidebar from './components/PatientSidebar'
154
   import PatientSidebar from './components/PatientSidebar'
155
+  import Neditor from '@/components/Neditor'
156
+
141
   import {
157
   import {
142
     createCourseOfDiseaseRecord,
158
     createCourseOfDiseaseRecord,
143
     deleteCourseOfDiseaseRecords,
159
     deleteCourseOfDiseaseRecords,
151
     name: 'CourseOfDisease',
167
     name: 'CourseOfDisease',
152
     components: {
168
     components: {
153
       PatientSidebar,
169
       PatientSidebar,
154
-      BreadCrumb
170
+      BreadCrumb,
171
+      Neditor
155
     },
172
     },
156
     data() {
173
     data() {
157
       return {
174
       return {
252
         return ''
269
         return ''
253
       },
270
       },
254
       modifyAction: function() {
271
       modifyAction: function() {
272
+        this.edit_new_content = this.$refs.edit_neditor.content;
255
         if (this.edit_new_content.length == 0) {
273
         if (this.edit_new_content.length == 0) {
256
           this.$message.error('请填写病程内容')
274
           this.$message.error('请填写病程内容')
257
           return
275
           return
283
       },
301
       },
284
 
302
 
285
       createAction: function() {
303
       createAction: function() {
304
+        this.new_content = this.$refs.neditor.content;
286
         if (this.new_content.length == 0) {
305
         if (this.new_content.length == 0) {
287
           this.$message.error('请填写病程内容')
306
           this.$message.error('请填写病程内容')
288
           return
307
           return