You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							153 lines
						
					
					
						
							5.3 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							153 lines
						
					
					
						
							5.3 KiB
						
					
					
				
								<template>
							 | 
						|
								  <div style="display: flex;">
							 | 
						|
								    <div :style="'width:'+Math.floor((window.pageWidth - 200 - 110 - 45 - 4)/2) + 'px;'">
							 | 
						|
								      <el-table id="tableSummary" row-key="id" :data="doctorCheck.checkSummaryList" size="samll"
							 | 
						|
								        :height="window.pageHeight < 600 ? Math.floor((395 - (isCheckPicture ? 100:0))*2/5):Math.floor((window.pageHeight - 205 - (isCheckPicture ? 100:0))*2/5)"
							 | 
						|
								        width="100%" border @row-click="rowClick">
							 | 
						|
								        <el-table-column prop="summary" label="小结" >
							 | 
						|
								          <template slot-scope="scope">
							 | 
						|
								            <el-input type="textarea" v-model="scope.row.summary" :autosize="{ minRows: 1, maxRows: 100 }"
							 | 
						|
								            :disabled="doctorCheck.RegisterCheckEdit.completeFlag=='1' || doctorCheck.RegisterCheckEdit.completeFlag=='2'" placeholder="请输入小结">
							 | 
						|
								            </el-input>
							 | 
						|
								          </template>
							 | 
						|
								        </el-table-column>      
							 | 
						|
								      </el-table>
							 | 
						|
								    </div>
							 | 
						|
								    <div :style="'margin-left:2px;width:'+Math.floor((window.pageWidth - 200 - 110 - 45 - 4)/2) + 'px;'">
							 | 
						|
								      <el-table id="tableSuggestion" row-key="id" :data="doctorCheck.checkSuggestionList" size="samll"
							 | 
						|
								        :height="window.pageHeight < 600 ? Math.floor((395 - (isCheckPicture ? 100:0))*2/5):Math.floor((window.pageHeight - 205 - (isCheckPicture ? 100:0))*2/5)"
							 | 
						|
								        width="100%" border @row-click="rowClick">
							 | 
						|
								        <el-table-column prop="suggestion" label="建议" >
							 | 
						|
								          <template slot-scope="scope">
							 | 
						|
								            <el-input type="textarea" v-model="scope.row.suggestion" :autosize="{ minRows: 1, maxRows: 100 }"
							 | 
						|
								            :disabled="doctorCheck.RegisterCheckEdit.completeFlag=='1' || doctorCheck.RegisterCheckEdit.completeFlag=='2'" placeholder="请输入建议">
							 | 
						|
								          </el-input>
							 | 
						|
								          </template>
							 | 
						|
								        </el-table-column>       
							 | 
						|
								      </el-table>
							 | 
						|
								    </div>
							 | 
						|
								  </div>
							 | 
						|
								</template>
							 | 
						|
								<script lang="ts">
							 | 
						|
								import { mapState } from 'vuex';
							 | 
						|
								import Sortable from "sortablejs";
							 | 
						|
								import { getapi, postapi, putapi, deletapi } from "@/api/api";
							 | 
						|
								export default {
							 | 
						|
								  components: {},
							 | 
						|
								  props:["isCheckPicture"],
							 | 
						|
								  data() {
							 | 
						|
								    return {
							 | 
						|
								
							 | 
						|
								    };
							 | 
						|
								  },
							 | 
						|
								
							 | 
						|
								  created() { },
							 | 
						|
								
							 | 
						|
								  //挂载完成
							 | 
						|
								  mounted() { 
							 | 
						|
								    this.rowDrop();
							 | 
						|
								    this.rowDropSuggestion()
							 | 
						|
								  },
							 | 
						|
								
							 | 
						|
								  computed: {
							 | 
						|
								    ...mapState(['window','dict', 'doctorCheck']),
							 | 
						|
								  },
							 | 
						|
								
							 | 
						|
								  methods: {
							 | 
						|
								    //获取小结
							 | 
						|
								    checkSummaryList(RegisterCheckId) {
							 | 
						|
								      if(!RegisterCheckId){
							 | 
						|
								        this.doctorCheck.checkSummaryList = [];
							 | 
						|
								        return;
							 | 
						|
								      }
							 | 
						|
								      // console.log(`/api/app/registerchecksummary/getregisterchecksummarylist?RegisterCheckId=${RegisterCheckId}`)
							 | 
						|
								      getapi(`/api/app/registerchecksummary/getregisterchecksummarylist?RegisterCheckId=${RegisterCheckId}`)
							 | 
						|
								        .then((res) => {
							 | 
						|
								          console.log("checkSummaryList", res.data);
							 | 
						|
								          if (res.code != -1) {
							 | 
						|
								            this.doctorCheck.checkSummaryList = res.data;
							 | 
						|
								          }
							 | 
						|
								        })
							 | 
						|
								        .catch((err) => {
							 | 
						|
								          this.$message({ type: "error", message: `操作失败,原因:${err}` });
							 | 
						|
								        });
							 | 
						|
								    },
							 | 
						|
								
							 | 
						|
								    //获取建议
							 | 
						|
								    checkSuggestionList(RegisterCheckId) {
							 | 
						|
								      if(!RegisterCheckId){
							 | 
						|
								        this.doctorCheck.checkSuggestionList = [];
							 | 
						|
								        return;
							 | 
						|
								      }
							 | 
						|
								      // console.log(`/api/app/registerchecksuggestion/getregisterchecksuggestionlist?RegisterCheckId=${RegisterCheckId}`)
							 | 
						|
								      getapi(`/api/app/registerchecksuggestion/getregisterchecksuggestionlist?RegisterCheckId=${RegisterCheckId}`)
							 | 
						|
								        .then((res) => {
							 | 
						|
								          console.log("checkSuggestionList", res.data);
							 | 
						|
								          if (res.code != -1) {
							 | 
						|
								            this.doctorCheck.checkSuggestionList = res.data;
							 | 
						|
								          }
							 | 
						|
								        })
							 | 
						|
								        .catch((err) => {
							 | 
						|
								          this.$message({ type: "error", message: `操作失败,原因:${err}` });
							 | 
						|
								        });
							 | 
						|
								    },
							 | 
						|
								
							 | 
						|
								    //选择组合项目
							 | 
						|
								    rowClick(row) {
							 | 
						|
								      
							 | 
						|
								    },
							 | 
						|
								
							 | 
						|
								    //拖拽
							 | 
						|
								    rowDrop() {
							 | 
						|
								      this.$nextTick(() => {
							 | 
						|
								        const el = document.querySelector("#tableSummary tbody");
							 | 
						|
								        console.log('el0',el)
							 | 
						|
								        const that = this;
							 | 
						|
								        Sortable.create(el, {
							 | 
						|
								          animation: 150, // ms, number 单位:ms,定义排序动画的时间
							 | 
						|
								          //拖拽结束
							 | 
						|
								          onEnd({ newIndex, oldIndex }) {            
							 | 
						|
								            that.isshow = false;
							 | 
						|
								            const currRow = that.doctorCheck.checkSummaryList.splice(oldIndex, 1)[0];
							 | 
						|
								            that.doctorCheck.checkSummaryList.splice(newIndex, 0, currRow);    
							 | 
						|
								            console.log('el',el)       
							 | 
						|
								          },
							 | 
						|
								        });
							 | 
						|
								      });
							 | 
						|
								    }, 
							 | 
						|
								    
							 | 
						|
								    //拖拽
							 | 
						|
								    rowDropSuggestion() {
							 | 
						|
								      this.$nextTick(() => {
							 | 
						|
								        const el = document.querySelector("#tableSuggestion tbody");
							 | 
						|
								        //console.log('tbody',tbody)
							 | 
						|
								        const that = this;
							 | 
						|
								        Sortable.create(el, {
							 | 
						|
								          animation: 150, // ms, number 单位:ms,定义排序动画的时间
							 | 
						|
								          //拖拽结束
							 | 
						|
								          onEnd({ newIndex, oldIndex }) {            
							 | 
						|
								            that.isshow = false;
							 | 
						|
								            const currRow = that.doctorCheck.checkSuggestionList.splice(oldIndex, 1)[0];
							 | 
						|
								            that.doctorCheck.checkSuggestionList.splice(newIndex, 0, currRow);           
							 | 
						|
								          },
							 | 
						|
								        });
							 | 
						|
								      });
							 | 
						|
								    }, 
							 | 
						|
								
							 | 
						|
								  },
							 | 
						|
								
							 | 
						|
								  //监听事件
							 | 
						|
								  watch: {
							 | 
						|
								    //检查项目切换
							 | 
						|
								    "doctorCheck.RegisterCheckId"(newVal, oldVal) {
							 | 
						|
								      console.log("watch doctorCheck.RegisterCheckId newVal:", newVal, " oldVal:", oldVal);      
							 | 
						|
								      this.checkSummaryList(newVal)
							 | 
						|
								      this.checkSuggestionList(newVal)      
							 | 
						|
								    },
							 | 
						|
								  },
							 | 
						|
								};
							 | 
						|
								</script>
							 | 
						|
								<style scoped>
							 | 
						|
								@import '../../assets/css/global_table.css';
							 | 
						|
								</style>
							 | 
						|
								  
							 |