qinxianzhangyao
2024-04-25 74a7a2bbef241a023110ff24c8e7c84025e267f5
src/views/system/visit/index.vue
@@ -6,7 +6,7 @@
          @keyup.enter.native="handleQuery" />
      </el-form-item>
      <el-form-item label="体检号" prop="tjNum">
        <el-input style="width: 170px" v-model="queryParams.tjNum" placeholder="请输入体检号" clearable ref="inputName"  @blur="handleQuery"
        <el-input style="width: 170px" v-model="queryParams.tjNum" placeholder="请输入体检号" clearable ref="inputName"  @blur="hb"
          @keyup.enter.native="handleQuery" />
      </el-form-item>
      <el-form-item label="登记时间" prop="createTimeList">
@@ -58,6 +58,7 @@
          <template slot-scope="scope">
            <span v-if="scope.row.tjCustomerSex == '0'">男</span>
            <span v-if="scope.row.tjCustomerSex == '1'">女</span>
            <span v-if="scope.row.tjCustomerSex == '2'">未知</span>
          </template>
        </el-table-column>
        <el-table-column label="年龄" align="center" prop="tjCustomerAge" height="10px" width="60px"
@@ -103,10 +104,20 @@
              </template>
            </el-table-column> -->
        <el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" height="10px"
          width="60px">
          width="100px">
          <template slot-scope="scope">
            <el-button size="mini" type="text" icon="el-icon-document" @click="investigation(scope.row)" title="详情"
              style="margin-right: 15px"></el-button>
              <el-button
              size="mini"
              type="text"
              icon="el-icon-time"
              @click="handleUpdate(scope.row)"
              v-hasPermi="['hosp:order:edit']"
              title="问卷记录"
              style="margin-right: 15px"
            ></el-button>
          </template>
        </el-table-column>
      </el-table>
@@ -119,9 +130,11 @@
      </div>
    </div>
    <el-drawer title="我是标题" :visible.sync="drawer" :with-header="false" size="40%">
    <el-drawer title="我是标题" :visible.sync="drawer" :with-header="false" size="65%">
      <el-divider content-position="center"><span style="font-size:18px;font-weight: 800;">满意度调查</span></el-divider>
      <div class="drawer1">
        <el-row>
          <el-col :span="12">
        <div>
          <div class="drawer2">
            <span style="margin-bottom: 10px">体检人:{{ gation.tjCustomerName }}</span><br />
@@ -205,7 +218,9 @@
            </el-tab-pane>
          </el-tabs>
        </div>
        <div>
        </el-col>
        <el-col :span="12">
        <div v-if="wenjuan == true">
          <div>
            <el-form v-for="(item, index) in intList" :key="index">
              <el-form-item>{{ index + 1 > 9 ? index + 1 : "0" + (index + 1) }}.{{
@@ -226,8 +241,53 @@
          </div>
          <el-button type="primary" size="mini" @click="tijiao">提交</el-button>
        </div>
        <div v-if="wenjuan == false">
              <Write :forms="formss" @fMethod="fatherSub"></Write>
            </div>
        </el-col>
        </el-row>
      </div>
    </el-drawer>
    <el-dialog
      title="PDF 预览"
      :visible.sync="dialogVisible"
      :close-on-click-modal="false"
    >
      <div class="main">
        <iframe
          id="printIframe"
          :src="url"
          frameborder="0"
          style="width: 100%; height: 100%"
        ></iframe>
      </div>
    </el-dialog>
   <!-- 问卷记录对话框 -->
   <el-dialog :visible.sync="wenjuanopen" width="800px" append-to-body>
      <div style="width: 100%" class="outside">
        <el-timeline>
          <el-timeline-item
            placement="top"
            v-for="(item, index) in suifangList"
            :key="index"
          >
            <el-card>
              {{ item.createTime }}
              <h4>体检号:{{ item.tjNumber }}</h4>
              <span class="mx" @click="lookmingxi(item)">查看明细</span>
            </el-card>
          </el-timeline-item>
        </el-timeline>
      </div>
    </el-dialog>
    <DataView
      v-if="formModel && formKey"
      ref="viewOrUpdateDialog"
      :fields="fields"
      :form-key="formKey"
      :form-model="formModel"
    />
  </div>
</template>
@@ -235,28 +295,43 @@
var inpArr = document.getElementsByTagName("input"),
  result = "";
import print from "print-js";
import DataView from "@/components/dataView";
import {
  listSendTemplate,
} from "@/api/hosp/sendTemplate";
import Write from "@/components/write";
import {
  getPdf,
  getOrderList,
  printCode,
  printCode,getRecordByTjNumber,listFormDataTableRequest,listFormFieldsRequest,
  getNewDateList
} from "@/api/hosp/order";
import { getsendEmail, getsendMessage } from "@/api/hosp/order";
import moment from "moment";
import { addSurveyRecord } from "@/api/hosp/surveyRecord";
import { getDictEmerList, listEmer } from "@/api/system/emer";
import ViewPdf from "@/components/ViewPdf";
import { getCompany, queryCompany } from "@/api/team/tuanti";
export default {
  components: {
    ViewPdf,
    ViewPdf,Write,DataView
  },
  name: "Order",
  inject: ["reload"],
  data() {
    return {
      radio: "",
      formss: {
        tjNumber: "",
        formkey: "",
      },
      formModel: {},
      formKey: "",
      fields: [],
      suifangList: [],
      wenjuanopen: false,
      wenjuan: true,
      myscore: this.value,
      mytempscore: this.value,
      rad: true,
@@ -411,10 +486,11 @@
    },
  },
  created() {
    this.getNowTime();
    this.getList();
    // this.getNowTime();
    this.Company();
    this.getListEmer();
    this.getdate();
  },
  mounted() {
    this.$nextTick(() => {
@@ -422,6 +498,15 @@
    });
  },
  methods: {
    getdate() {
      getNewDateList().then((res) => {
        this.createTimeList = [
            moment(res.data).format("YYYY-MM-DD 00:00:00"),
            moment(res.data).format("YYYY-MM-DD 23:59:00")
          ];;
          this.getList();
      });
    },
    dialogVisibles() {
      this.$message.error("请连接拨号器!");
    },
@@ -490,8 +575,15 @@
    },
    /** 查询体检记录列表 */
    getList() {
      this.queryParams.djbeginTime = this.createTimeList[0];
      if( this.createTimeList){
        this.queryParams.djbeginTime = this.createTimeList[0];
      this.queryParams.djendTime = this.createTimeList[1];
      }else if(this.createTimeList == null){
        this.queryParams.djbeginTime = null;
      this.queryParams.djendTime = null;
      }
      this.loading = true;
      getOrderList(this.queryParams).then((response) => {
        this.orderList = response.data.list;
@@ -577,6 +669,11 @@
      this.queryParams.pageNum = 1;
      this.getList();
    },
    hb() {
      if (this.queryParams.tjNum != undefined) {
        this.handleQuery();
      }
    },
    handleQuerys() {
      this.emerc = true;
      this.queryParam.pageNum = 1;
@@ -584,6 +681,7 @@
    },
    /** 重置按钮操作 */
    resetQuery() {
      this.createTimeList = []
      this.resetForm("queryForm");
      this.handleQuery();
    },
@@ -604,10 +702,17 @@
    investigation(row) {
      this.gation = row;
      this.drawer = true;
      let mid = "2";
      this.formss.tjNumber = this.gation.tjNumber;
      let mid = "18";
      printCode(mid).then((response) => {
        this.intList = response.data;
        if (response.data) {
          this.intList = response.data;
          this.wenjuan = true;
        } else {
          this.formss.formkey = response.msg;
          this.wenjuan = false;
        }
        this.drawer = true;
      });
      this.querySendTemplate.tempType = 1
      listSendTemplate(this.querySendTemplate).then(response => {
@@ -621,6 +726,49 @@
      });
    },
    handleUpdate(row) {
      this.reset();
      let tjNumber = row.tjNumber;
      getRecordByTjNumber(tjNumber).then((res) => {
        if (res.data.length != 0) {
          this.wenjuanopen = true;
          res.data.sort(
              (a, b) =>
                new Date(b.createTime).getTime() -
                new Date(a.createTime).getTime()
            );
          this.suifangList = res.data;
        } else {
          this.$message.warning("暂无问卷记录!");
        }
      });
    },
    lookmingxi(val) {
      this.formKey = val.formKey;
      let data = {
        formKey: this.formKey,
      };
      if(this.suifangList.length <= 1 ){
        this.wenjuanopen = false;
      }
      listFormDataTableRequest(data).then((res) => {
        res.data.rows.forEach((item) => {
          if (item.id == val.id) {
            this.formModel = item;
          }
        });
        listFormFieldsRequest(this.formKey).then((res) => {
          this.fields = res.data;
          this.$refs.viewOrUpdateDialog.showDialog();
        });
      });
    },
    fatherSub() {
      this.hangshu = false;
      this.reload();
    },
    sendTemplate(val) {
      this.tempIds = val
      this.sendTemplateList.forEach(item => {
@@ -785,6 +933,10 @@
  height: 700px;
  overflow: hidden;
}
.mx {
  color: #1890ff;
  cursor: pointer;
}
#printIframe::-webkit-scrollbar {
  width: 6px;
@@ -817,7 +969,8 @@
  flex-direction: row;
  justify-content: space-evenly;
  align-items: flex-start;
  margin-top: 20px;
  // margin-top: 20px;
  padding:10px 20px;
}
.drawer2 {