| | |
| | | }) |
| | | } |
| | | |
| | | |
| | | //获取问卷模板信息 |
| | | export function revokeTjOrderByTjNum(tjNum) { |
| | | return request({ |
| | | url: '/hosp/order/revokeTjOrderByTjNum', |
| | | method: 'get', |
| | | params: { |
| | | tjNum |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export function getTjrWnJuanMoBan(tjCategory) { |
| | | return request({ |
| | | url: '/hosp/surveyTemplate/getTjrWnJuanMoBan', |
| | | method: 'get', |
| | | params: { |
| | | tjCategory |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 批量发送邮件 |
| | | export function getsendEmail(data) { |
| | | return request({ |
| | |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | } |
| | | |
| | | // 批量发送邮件 |
| | | export function addCustomerBlack(data) { |
| | | return request({ |
| | | url: '/hosp/cusBlack/addCustomerBlack', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | |
| | | }) |
| | | } |
| | | |
| | | // 问卷详情 |
| | | export function getQuestionsByMid(data) { |
| | | return request({ |
| | | url: 'hosp/surveyTemplate/getQuestionsByMid', |
| | | method: 'get', |
| | | params: data |
| | | }) |
| | | } |
| | | |
| | | // 问卷模板列表 |
| | | export function PostTemplentList(data) { |
| | | return request({ |
| | | url: '/hosp/surveyTemplate/list', |
| | | method: 'get', |
| | | params: data |
| | | }) |
| | | } |
| | | |
| | | // 问卷模板列表 |
| | | export function listByDeptId1() { |
| | | return request({ |
| | | url: '/hosp/surveyTemplate/listByDeptId1', |
| | | method: 'get', |
| | | }) |
| | | } |
| | | |
| | | // 新增问卷问题 |
| | | export function addQuestion(data) { |
| | | return request({ |
| | |
| | | method: 'delete' |
| | | }) |
| | | } |
| | | |
| | | |
| | | // 根据部门id查问卷模板列表 |
| | | export function listByDeptId(deptId) { |
| | | return request({ |
| | | url: 'hosp/surveyTemplate/listByDeptId', |
| | | method: 'get', |
| | | params: {deptId:deptId} |
| | | }) |
| | | } |
| | |
| | | }) |
| | | } |
| | | |
| | | // 获取问卷模板信息 |
| | | export function getQuesByMid(mid) { |
| | | return request({ |
| | | url: 'hosp/surveyTemplate/getQuesByMids', |
| | | method: 'get', |
| | | params: { mid: mid } |
| | | }) |
| | | } |
| | | |
| | | // 新增问卷模板 |
| | | export function addSurveyTemplate(data) { |
| | | return request({ |
New file |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // 查询体检记录列表 |
| | | export function getCustomerBlack(query) { |
| | | return request({ |
| | | url: '/hosp/cusBlack/getCustomerBlack', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // 查询体检记录列表 |
| | | export function putCustomerBlack(data) { |
| | | return request({ |
| | | url: '/hosp/cusBlack/putCustomerBlack', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | } |
| | |
| | | }, |
| | | watch: { |
| | | cusobj(val, newVla) { |
| | | // console.log(val,newVla,1111) |
| | | console.log(val,newVla,1111) |
| | | this.fList = val; |
| | | this.queryParams.sex = val.sex; |
| | | this.queryParams.isZj = val.isZj; |
| | | if (this.queryParams.sex) { |
| | | this.tjproposal ="0" |
| | | this.getList(); |
| | | } |
| | | }, |
| | | }, |
| | | mounted() { |
| | |
| | | }); |
| | | }, |
| | | getList() { |
| | | console.log(1111) |
| | | this.loading = true; |
| | | getKjTjAdviceKjbqBySex(this.queryParams).then((res) => { |
| | | this.dataList = res.data.records; |
| | |
| | | // 小结获取备注 |
| | | sel(val) { |
| | | if (this.proParentList.xiaoJie.length != 0) { |
| | | this.proParentList.remark = ""; |
| | | // this.proParentList.remark = ""; |
| | | this.deptAdviceList.forEach((item) => { |
| | | this.ids = item.id; |
| | | val.forEach((item1) => { |
| | |
| | | }, |
| | | eventchange(data) { |
| | | this.dataText = data |
| | | console.log(this.textarea1 ) |
| | | if(this.textarea1 == null ){ |
| | | this.textarea1 = "" |
| | | } |
| | | data.forEach((item) => { |
| | | this.textarea1 += item.advice; |
| | | }); |
| | |
| | | }); |
| | | }, |
| | | hb(){ |
| | | console.log(this.queryParams.tjNumber); |
| | | if (this.queryParams.tjNumber != "") { |
| | | this.submitForm(); |
| | | } |
| | |
| | | }, |
| | | |
| | | submitFormapply() { |
| | | console.log(this.form) |
| | | let data = {} |
| | | this.userList.forEach(item1 => { |
| | | if (this.form.hzDoctorId == item1.userId) { |
| | |
| | | // if(newRows[0].hzReplyLogsList){ |
| | | // this.hzReplyLogsList = newRows[0].hzReplyLogsList |
| | | // } |
| | | // console.log(this.hzReplyLogsList) |
| | | // this.allList = newRows |
| | | } else { |
| | | this.allList = [] |
| | |
| | | if (this.proParentList.xiaoJie.length != 0) { |
| | | this.Parent.forEach((item3) => { |
| | | if (item3.proId === this.nums) { |
| | | this.proParentList.remark = item.remark; |
| | | this.proParentList.remark = item3.remark; |
| | | } |
| | | }); |
| | | } else { |
| | |
| | | v-hasPermi="['hosp:customer:remove']">删除</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click="handleBlacklist" |
| | | :disabled="single" |
| | | v-hasPermi="['hosp:order:export']" |
| | | >加入黑名单</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport" |
| | | v-hasPermi="['hosp:customer:export']">导出</el-button> |
| | | </el-col> |
| | |
| | | <el-table-column label="VIP" align="center" prop="cusIsvip" width="55px" :show-overflow-tooltip="true"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.cusIsvip" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="黑名单" align="center" prop="isBlack" width="76px" > |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isBlack" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="索引卡号" align="center" prop="indexCard" :show-overflow-tooltip="true" /> |
| | |
| | | updateCustomer, |
| | | getHistryTjOrderByCusIdCard |
| | | } from "@/api/hosp/customer"; |
| | | import { getPdf } from "@/api/hosp/order"; |
| | | import { getPdf ,addCustomerBlack} from "@/api/hosp/order"; |
| | | |
| | | export default { |
| | | name: "Customer", |
| | |
| | | }) |
| | | }, |
| | | |
| | | handleBlacklist(){ |
| | | let data ={ |
| | | cusId :this.ids[0] |
| | | } |
| | | addCustomerBlack(data).then(res => { |
| | | this.$modal.msgSuccess("已加入黑名单") |
| | | this.getList(); |
| | | }) |
| | | }, |
| | | |
| | | selectChargeRule(val) { |
| | | if (val.length > 1) { |
| | | this.$refs.selectChargeRuleRef.clearSelection() |
| | |
| | | >导出</el-button |
| | | > |
| | | </el-col> |
| | | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click="handleRevoke" |
| | | :disabled="single" |
| | | >撤销签到</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | |
| | | >补录项目</el-button |
| | | > |
| | | </el-col> |
| | | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | |
| | | hasReport, |
| | | getPdf, |
| | | getOrderList, |
| | | getNewDateList, |
| | | getNewDateList,revokeTjOrderByTjNum, |
| | | } from "@/api/hosp/order"; |
| | | import moment from "moment"; |
| | | import { getwater } from "@/api/hosp/customer"; |
| | |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | handleRevoke(){ |
| | | revokeTjOrderByTjNum(this.tjnumbers).then(res => { |
| | | this.$modal.msgSuccess("撤销成功") |
| | | this.getList(); |
| | | }) |
| | | }, |
| | | /** 点击显示体检报告报表*/ |
| | | // viewReport(row) { |
| | | // const tjNumber = row.tjNumber; |
| | |
| | | this.Projectopen1 = true; |
| | | this.title = "补录项目"; |
| | | }, |
| | | |
| | | // 点击获取每个树节点 |
| | | handleCurrentChecked(data, checked, checkedNodes) { |
| | | this.dataObj = data |
| | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="3" :xs="24"> |
| | | <div class="head-container"> |
| | | <el-input v-model="deptName" placeholder="请输入部门名称" clearable size="small" prefix-icon="el-icon-search" |
| | | style="margin-bottom: 15px" /> |
| | | <el-input |
| | | v-model="deptName" |
| | | placeholder="请输入部门名称" |
| | | clearable |
| | | size="small" |
| | | prefix-icon="el-icon-search" |
| | | style="margin-bottom: 15px" |
| | | /> |
| | | </div> |
| | | <el-scrollbar style="height: 629px; width: 100%"> |
| | | <div class="head-container"> |
| | | <el-tree :data="deptOptions" :props="defaultProps" :expand-on-click-node="false" |
| | | :filter-node-method="filterNode" ref="tree" node-key="id" :default-expanded-keys="treeId" highlight-current |
| | | @node-click="handleNodeClick" /> |
| | | <el-tree |
| | | :data="deptOptions" |
| | | :props="defaultProps" |
| | | :expand-on-click-node="false" |
| | | :filter-node-method="filterNode" |
| | | ref="tree" |
| | | node-key="id" |
| | | :default-expanded-keys="treeId" |
| | | highlight-current |
| | | @node-click="handleNodeClick" |
| | | /> |
| | | </div> |
| | | </el-scrollbar> |
| | | </el-col> |
| | | <el-col :span="20" :xs="24"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
| | | <el-form |
| | | :model="queryParams" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | v-show="showSearch" |
| | | label-width="68px" |
| | | > |
| | | <el-form-item label="项目名称" prop="proName"> |
| | | <el-input v-model="queryParams.proName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery" /> |
| | | <el-input |
| | | v-model="queryParams.proName" |
| | | placeholder="请输入项目名称" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="检查类别" prop="checkType"> |
| | | <el-input v-model="queryParams.checkType" placeholder="请输入检查类别" clearable @keyup.enter.native="handleQuery" /> |
| | | <el-input |
| | | v-model="queryParams.checkType" |
| | | placeholder="请输入检查类别" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="handleQuery" |
| | | >搜索</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
| | | >重置</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" |
| | | v-hasPermi="['hosp:project:add']">新增</el-button> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | v-hasPermi="['hosp:project:add']" |
| | | >新增</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button :disabled="xiugais" type="primary" icon="el-icon-plus" size="mini" @click="handleUpdate1" |
| | | v-hasPermi="['hosp:project:add']">修改</el-button> |
| | | <el-button |
| | | :disabled="xiugais" |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleUpdate1" |
| | | v-hasPermi="['hosp:project:add']" |
| | | >修改</el-button |
| | | > |
| | | </el-col> |
| | | <!-- <el-col :span="1.5"> |
| | | <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['hosp:project:edit']">修改</el-button> |
| | |
| | | <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['hosp:project:remove']">删除</el-button> |
| | | </el-col> --> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport" |
| | | v-hasPermi="['hosp:project:export']">导出</el-button> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['hosp:project:export']" |
| | | >导出</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-sort" size="mini" @click="toggleExpandAll">展开/折叠</el-button> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-sort" |
| | | size="mini" |
| | | @click="toggleExpandAll" |
| | | >展开/折叠</el-button |
| | | > |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | <right-toolbar |
| | | :showSearch.sync="showSearch" |
| | | @queryTable="getList" |
| | | ></right-toolbar> |
| | | </el-row> |
| | | |
| | | <el-table v-if="refreshTable" v-loading="loading" :data="projectList" ref="tableRef" border> |
| | | <el-table |
| | | v-if="refreshTable" |
| | | v-loading="loading" |
| | | :data="projectList" |
| | | ref="tableRef" |
| | | border |
| | | > |
| | | <!-- :show-overflow-tooltip="true" --> |
| | | <el-table-column label="项目名称" prop="proName" fixed="left" :width="flexColumnWidth('rwdtypeName')" /> |
| | | <el-table-column label="项目价格(单位/元)" align="center" prop="proPrice" width="75px" |
| | | :show-overflow-tooltip="true"></el-table-column> |
| | | <el-table-column |
| | | label="项目名称" |
| | | prop="proName" |
| | | fixed="left" |
| | | :width="flexColumnWidth('rwdtypeName')" |
| | | /> |
| | | <el-table-column |
| | | label="项目价格(单位/元)" |
| | | align="center" |
| | | prop="proPrice" |
| | | width="75px" |
| | | :show-overflow-tooltip="true" |
| | | ></el-table-column> |
| | | <!-- <el-table-column label="科室名称" align="center" prop="deptName" width="110px" :show-overflow-tooltip="true" /> --> |
| | | <el-table-column label="检查类别" align="center" prop="proCheckType" width="110px" :show-overflow-tooltip="true" /> |
| | | <el-table-column label="默认值" align="center" prop="proDefault" width="110px" :show-overflow-tooltip="true" /> |
| | | <el-table-column label="临床意义" align="center" prop="proMeaning" width="350px" :show-overflow-tooltip="true" /> |
| | | <el-table-column |
| | | label="检查类别" |
| | | align="center" |
| | | prop="proCheckType" |
| | | width="110px" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="默认值" |
| | | align="center" |
| | | prop="proDefault" |
| | | width="110px" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="临床意义" |
| | | align="center" |
| | | prop="proMeaning" |
| | | width="350px" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <!-- <el-table-column label="检查方式" align="center" prop="proCheckMethod" :show-overflow-tooltip="true" |
| | | width="110px" /> --> |
| | | <el-table-column label="参与小结" align="center" prop="needReport" :show-overflow-tooltip="true" width="110px"> |
| | | <el-table-column |
| | | label="参与小结" |
| | | align="center" |
| | | prop="needReport" |
| | | :show-overflow-tooltip="true" |
| | | width="110px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.needReport" /> |
| | | <dict-tag |
| | | :options="dict.type.sys_yes_no" |
| | | :value="scope.row.needReport" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="是否空腹" align="center" prop="proCheckMethod" :show-overflow-tooltip="true" width="110px"> |
| | | <el-table-column |
| | | label="是否空腹" |
| | | align="center" |
| | | prop="proCheckMethod" |
| | | :show-overflow-tooltip="true" |
| | | width="110px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.proCheckMethod" /> |
| | | <dict-tag |
| | | :options="dict.type.sys_yes_no" |
| | | :value="scope.row.proCheckMethod" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="项目标准值" align="center" prop="proScope" :show-overflow-tooltip="true" width="90px"> |
| | | <el-table-column |
| | | label="项目标准值" |
| | | align="center" |
| | | prop="proScope" |
| | | :show-overflow-tooltip="true" |
| | | width="90px" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column label="项目类型" align="center" prop="resultType" width="110px" :show-overflow-tooltip="true"> |
| | | <el-table-column |
| | | label="项目类型" |
| | | align="center" |
| | | prop="resultType" |
| | | width="110px" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.tj_result_type" :value="scope.row.resultType" /> |
| | | <dict-tag |
| | | :options="dict.type.tj_result_type" |
| | | :value="scope.row.resultType" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="备注" prop="remark" align="center" width="120px" :show-overflow-tooltip="true"> |
| | | <el-table-column |
| | | label="备注" |
| | | prop="remark" |
| | | align="center" |
| | | width="120px" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column label="状态" align="center" prop="proStatus" fixed="right" width="80px"> |
| | | <el-table-column |
| | | label="状态" |
| | | align="center" |
| | | prop="proStatus" |
| | | fixed="right" |
| | | width="80px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.proStatus" /> |
| | | <dict-tag |
| | | :options="dict.type.sys_normal_disable" |
| | | :value="scope.row.proStatus" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="80px"> |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | fixed="right" |
| | | class-name="small-padding fixed-width" |
| | | width="80px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['hosp:project:edit']" title="修改"></el-button> |
| | | <el-button v-if="scope.row.proParentId == '0'" size="mini" type="text" icon="el-icon-plus" |
| | | @click="handleAdd(scope.row)" v-hasPermi="['system:dept:add']" title="增加"></el-button> |
| | | <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" |
| | | v-hasPermi="['hosp:project:remove']" title="删除"></el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['hosp:project:edit']" |
| | | title="修改" |
| | | ></el-button> |
| | | <el-button |
| | | v-if="scope.row.proParentId == '0'" |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-plus" |
| | | @click="handleAdd(scope.row)" |
| | | v-hasPermi="['system:dept:add']" |
| | | title="增加" |
| | | ></el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['hosp:project:remove']" |
| | | title="删除" |
| | | ></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </el-row> |
| | | |
| | | <!-- 添加或修改体检项目对话框 --> |
| | | <el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body :before-close="handleClose"> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="100px" :inline="true"> |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="open" |
| | | width="1200px" |
| | | append-to-body |
| | | :before-close="handleClose" |
| | | > |
| | | <el-form |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | label-width="100px" |
| | | :inline="true" |
| | | > |
| | | <el-form-item label="主项名称" prop="proParentId"> |
| | | <treeselect :disabled="proParent" v-model="form.proParentId" :options="projectOptions" :normalizer="normalizer" |
| | | :show-count="true" placeholder="选择主项名称" style="width: 260px" @select="obtain" /> |
| | | <treeselect |
| | | :disabled="proParent" |
| | | v-model="form.proParentId" |
| | | :options="projectOptions" |
| | | :normalizer="normalizer" |
| | | :show-count="true" |
| | | placeholder="选择主项名称" |
| | | style="width: 260px" |
| | | @select="obtain" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="明细项目" prop="proName" v-if="key == 'Y'"> |
| | | <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="getDetailed"> |
| | | <span |
| | | slot="label" |
| | | style="display: inline-block; border-bottom: 2px solid blue" |
| | | @click="getDetailed" |
| | | > |
| | | 明细项目 |
| | | <!-- <el-tooltip effect="dark" content="明细项目" placement="bottom"> |
| | | <i class='el-icon-question' @click="getDetailed" /> |
| | |
| | | <el-input v-model="form.proPrice" placeholder="请输入项目价格" /> |
| | | </el-form-item> |
| | | <el-form-item label="检查类别" prop="proCheckType"> |
| | | <el-input v-model="form.proCheckType" placeholder="请输入检查类别" style="width: 260px" /> |
| | | <el-input |
| | | v-model="form.proCheckType" |
| | | placeholder="请输入检查类别" |
| | | style="width: 260px" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="临床意义" prop="proMeaning"> |
| | | <el-input v-model="form.proMeaning" placeholder="请输入临床意义" /> |
| | | </el-form-item> |
| | | <el-form-item label="参与小结" prop="needReport"> |
| | | <el-select v-model="form.needReport" placeholder="请选择是否参与小结" style="width: 200px"> |
| | | <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | v-model="form.needReport" |
| | | placeholder="请选择是否参与小结" |
| | | style="width: 200px" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_yes_no" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="是否空腹" prop="proCheckMethod"> |
| | | <el-select v-model="form.proCheckMethod" placeholder="请选择是否空腹" style="width: 260px"> |
| | | <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | v-model="form.proCheckMethod" |
| | | placeholder="请选择是否空腹" |
| | | style="width: 260px" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_yes_no" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="空腹" prop="isEat"> |
| | |
| | | </el-select> |
| | | </el-form-item> --> |
| | | <el-form-item label="性别" prop="proSex"> |
| | | <el-select v-model="form.proSex" placeholder="请选择体检人性别" style="width: 200px" clearable> |
| | | <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | v-model="form.proSex" |
| | | placeholder="请选择体检人性别" |
| | | style="width: 200px" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_user_sex" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="项目类型" prop="proType"> |
| | |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="科室名称" prop="deptId"> |
| | | <el-select v-model="form.deptId" placeholder="请选择科室名称" @change="changeType" filterable style="width: 260px"> |
| | | <el-option v-for="item in parentNameList" :key="item.deptId" :label="item.deptName" :value="item.deptId" /> |
| | | <el-select |
| | | v-model="form.deptId" |
| | | placeholder="请选择科室名称" |
| | | @change="changeType" |
| | | filterable |
| | | style="width: 260px" |
| | | > |
| | | <el-option |
| | | v-for="item in parentNameList" |
| | | :key="item.deptId" |
| | | :label="item.deptName" |
| | | :value="item.deptId" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="启用标志" prop="proStatus"> |
| | | <el-select v-model="form.proStatus" placeholder="请选择状态" style="width: 200px" filterable clearable> |
| | | <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | v-model="form.proStatus" |
| | | placeholder="请选择状态" |
| | | style="width: 200px" |
| | | filterable |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_normal_disable" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="项目默认值" prop="proDefault"> |
| | | <el-input v-model="form.proDefault" placeholder="请输入项目默认值" style="width: 200px" /> |
| | | <el-input |
| | | v-model="form.proDefault" |
| | | placeholder="请输入项目默认值" |
| | | style="width: 200px" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="采样标记" prop="isSampling"> |
| | | <el-select v-model="form.isSampling" placeholder="请选择采样标记" style="width: 260px" filterable clearable> |
| | | <el-option v-for="dict in dict.type.dis_sampling_tab" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | v-model="form.isSampling" |
| | | placeholder="请选择采样标记" |
| | | style="width: 260px" |
| | | filterable |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dis_sampling_tab" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="标本类型" prop="specimenType"> |
| | | <el-select v-model="form.specimenType" placeholder="请选择标本类型" style="width: 200px" filterable clearable> |
| | | <el-option v-for="dict in dict.type.sys_dict_specimen" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | v-model="form.specimenType" |
| | | placeholder="请选择标本类型" |
| | | style="width: 200px" |
| | | filterable |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_dict_specimen" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="检查部位" prop="checkBw"> |
| | | <el-select v-model="form.checkBw" placeholder="请选择检查部位" style="width: 200px" filterable clearable> |
| | | <el-option v-for="dict in dict.type.sys_dict_position" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | v-model="form.checkBw" |
| | | placeholder="请选择检查部位" |
| | | style="width: 200px" |
| | | filterable |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_dict_position" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="结果类型" prop="resultType"> |
| | | <el-select v-model="form.resultType" placeholder="请选择结果类型" style="width: 260px" filterable clearable> |
| | | <el-option v-for="dict in dict.type.tj_result_type" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | v-model="form.resultType" |
| | | placeholder="请选择结果类型" |
| | | style="width: 260px" |
| | | filterable |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.tj_result_type" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="LIS项目" prop="lisXmmc"> |
| | | <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="handleQuerys"> |
| | | <span |
| | | slot="label" |
| | | style="display: inline-block; border-bottom: 2px solid blue" |
| | | @click="handleQuerys" |
| | | > |
| | | LIS项目 |
| | | <!-- <el-tooltip effect="dark" content="明细项目" placement="bottom"> |
| | | <i class='el-icon-question' @click="getDetailed" /> |
| | |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="备注" prop="proRemark"> |
| | | <el-input v-model="form.proRemark" placeholder="请输入备注" style="width: 200px" /> |
| | | <el-input |
| | | v-model="form.proRemark" |
| | | placeholder="请输入备注" |
| | | style="width: 200px" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-button style="margin-left: 40px" type="primary" plain size="mini" icon="el-icon-plus" |
| | | @click="addmembers">新增行</el-button> |
| | | <el-button |
| | | style="margin-left: 40px" |
| | | type="primary" |
| | | plain |
| | | size="mini" |
| | | icon="el-icon-plus" |
| | | @click="addmembers" |
| | | >新增行</el-button |
| | | > |
| | | <!-- 耗材表 --> |
| | | <el-table :data="form.consumablesList" border style="margin-top: 10px; margin-left: 40px; width: 890px" |
| | | v-if="showPrise"> |
| | | <el-table-column label="耗材名称" align="center" prop="makings" width="200px"> |
| | | <el-table |
| | | :data="form.consumablesList" |
| | | border |
| | | style="margin-top: 10px; margin-left: 40px; width: 890px" |
| | | v-if="showPrise" |
| | | > |
| | | <el-table-column |
| | | label="耗材名称" |
| | | align="center" |
| | | prop="makings" |
| | | width="200px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-select filterable v-model="scope.row.makings" placeholder="请选择收费项目" @change="getSelectValue"> |
| | | <el-option v-for="(item, index) in consumableList" :key="index" :label="item.makings" :value="item.makings"> |
| | | <el-select |
| | | filterable |
| | | v-model="scope.row.makings" |
| | | placeholder="请选择收费项目" |
| | | @change="getSelectValue" |
| | | > |
| | | <el-option |
| | | v-for="(item, index) in consumableList" |
| | | :key="index" |
| | | :label="item.makings" |
| | | :value="item.makings" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="价格" align="center" prop="price"> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width"> |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | fixed="right" |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-delete" @click.native.prevent="Delete(scope.$index)" |
| | | v-hasPermi="['hosp:consumables:remove']" title="删除"></el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click.native.prevent="Delete(scope.$index)" |
| | | v-hasPermi="['hosp:consumables:remove']" |
| | | title="删除" |
| | | ></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <!-- 项目标准值表 --> |
| | | <el-table :data="form.tjStandardList" border style="margin-top: 10px; margin-left: 40px; width: 890px" |
| | | v-if="showRentPrise"> |
| | | <el-table |
| | | :data="form.tjStandardList" |
| | | border |
| | | style="margin-top: 10px; margin-left: 40px; width: 890px" |
| | | v-if="showRentPrise" |
| | | > |
| | | <el-table-column label="体检人性别" align="center" prop="tjSex"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.tjSex" placeholder="请选择体检人性别"> |
| | | <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-option |
| | | v-for="dict in dict.type.sys_user_sex" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="体检人类型" align="center" prop="tjType"> |
| | | <template slot-scope="scope"> |
| | | <el-select filterable v-model="scope.row.tjType" placeholder="请选择体检人类型"> |
| | | <el-option v-for="dict in dict.type.dict_personnel_type" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | filterable |
| | | v-model="scope.row.tjType" |
| | | placeholder="请选择体检人类型" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_personnel_type" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="单位" align="center" prop="company"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.company" autocomplete="off" placeholder="请输入内容"></el-input> |
| | | <el-input |
| | | v-model="scope.row.company" |
| | | autocomplete="off" |
| | | placeholder="请输入内容" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="标准最小值" align="center" prop="tjStandardLtValue"> |
| | | <el-table-column |
| | | label="标准最小值" |
| | | align="center" |
| | | prop="tjStandardLtValue" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.tjStandardLtValue" autocomplete="off" placeholder="请输入标准最小值"></el-input> |
| | | <el-input |
| | | v-model="scope.row.tjStandardLtValue" |
| | | autocomplete="off" |
| | | placeholder="请输入标准最小值" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="标准最大值" align="center" prop="tjStandardGtValue"> |
| | | <el-table-column |
| | | label="标准最大值" |
| | | align="center" |
| | | prop="tjStandardGtValue" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.tjStandardGtValue" autocomplete="off" placeholder="请输入标准最大值"></el-input> |
| | | <el-input |
| | | v-model="scope.row.tjStandardGtValue" |
| | | autocomplete="off" |
| | | placeholder="请输入标准最大值" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width"> |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | fixed="right" |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-delete" @click.native.prevent="Delete(scope.$index)" |
| | | v-hasPermi="['hosp:consumables:remove']" title="删除"></el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click.native.prevent="Delete(scope.$index)" |
| | | v-hasPermi="['hosp:consumables:remove']" |
| | | title="删除" |
| | | ></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <el-col :span="6" :xs="24"> |
| | | <div style="height: 560px; overflow-y: scroll"> |
| | | <div class="head-container"> |
| | | <el-input v-model="xmmc" placeholder="请输入项目编码" clearable size="small" prefix-icon="el-icon-search" |
| | | style="margin-bottom: 20px" /> |
| | | <el-input |
| | | v-model="xmmc" |
| | | placeholder="请输入项目编码" |
| | | clearable |
| | | size="small" |
| | | prefix-icon="el-icon-search" |
| | | style="margin-bottom: 20px" |
| | | /> |
| | | </div> |
| | | <div id="changtree"> |
| | | <el-tree ref="tree" node-key="id" highlight-current :default-expanded-keys="chargeId" |
| | | :data="deptOptionstree" :props="defaultPropstree" :expand-on-click-node="false" |
| | | :auto-expand-parent="false" :filter-node-method="filterNode2" @node-click="handleNodecharge" /> |
| | | <el-tree |
| | | ref="tree" |
| | | node-key="id" |
| | | highlight-current |
| | | :default-expanded-keys="chargeId" |
| | | :data="deptOptionstree" |
| | | :props="defaultPropstree" |
| | | :expand-on-click-node="false" |
| | | :auto-expand-parent="false" |
| | | :filter-node-method="filterNode2" |
| | | @node-click="handleNodecharge" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="18" :xs="24"> |
| | | <el-form :model="querycharge" ref="queryForm" size="small" :inline="true" v-show="showSearch" |
| | | label-width="68px"> |
| | | <el-form |
| | | :model="querycharge" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | v-show="showSearch" |
| | | label-width="68px" |
| | | > |
| | | <el-form-item label="项目名称" prop="xmmc"> |
| | | <el-input v-model="querycharge.xmmc" placeholder="请输入项目名称" clearable @keyup.enter.native="handlecharge" /> |
| | | <el-input |
| | | v-model="querycharge.xmmc" |
| | | placeholder="请输入项目名称" |
| | | clearable |
| | | @keyup.enter.native="handlecharge" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="拼音码" prop="pym"> |
| | | <el-input v-model="querycharge.pym" placeholder="请输入拼音码" clearable @keyup.enter.native="handlecharge" /> |
| | | <el-input |
| | | v-model="querycharge.pym" |
| | | placeholder="请输入拼音码" |
| | | clearable |
| | | @keyup.enter.native="handlecharge" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handlecharge">搜索</el-button> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="handlecharge" |
| | | >搜索</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-table v-loading="loading" ref="tb" :data="sfxmList" @selection-change="handleSelectionChange" border |
| | | height="520px" style="width: 100%"> |
| | | <el-table |
| | | v-loading="loading" |
| | | ref="tb" |
| | | :data="sfxmList" |
| | | @selection-change="handleSelectionChange" |
| | | border |
| | | height="520px" |
| | | style="width: 100%" |
| | | > |
| | | <el-table-column type="selection" align="center" /> |
| | | <el-table-column label="序号" align="center" prop="newID" /> |
| | | <el-table-column label="项目编码" align="center" prop="xmbm" /> |
| | |
| | | <el-table-column label="拼音码" align="center" prop="pym" /> |
| | | <!-- <el-table-column label="五笔码" align="center" prop="wbm" /> --> |
| | | <el-table-column label="参考单价" align="center" prop="ckdj" /> |
| | | <el-table-column label="一级最高限价" align="center" prop="yjzgxj" /> |
| | | <el-table-column label="二级最高限价" align="center" prop="ejzgxj" /> |
| | | <el-table-column label="三级最高限价" align="center" prop="sjzgxj" /> |
| | | <el-table-column label="特定最高限价" align="center" prop="tdzgxj" /> |
| | | <el-table-column |
| | | label="一级最高限价" |
| | | align="center" |
| | | prop="yjzgxj" |
| | | /> |
| | | <el-table-column |
| | | label="二级最高限价" |
| | | align="center" |
| | | prop="ejzgxj" |
| | | /> |
| | | <el-table-column |
| | | label="三级最高限价" |
| | | align="center" |
| | | prop="sjzgxj" |
| | | /> |
| | | <el-table-column |
| | | label="特定最高限价" |
| | | align="center" |
| | | prop="tdzgxj" |
| | | /> |
| | | </el-table> |
| | | |
| | | <div class="pag" v-if="List == true"> |
| | | <div class="pag1"> |
| | | <pagination v-show="total > 0" :total="total" :page.sync="querycharge.pageNum" |
| | | :limit.sync="querycharge.pageSize" @pagination="getlistSfxm" /> |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="querycharge.pageNum" |
| | | :limit.sync="querycharge.pageSize" |
| | | @pagination="getlistSfxm" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="pag" v-if="List == false"> |
| | | <div class="pag1"> |
| | | <pagination v-show="total > 0" :total="total" :page.sync="queryParam.page" |
| | | :limit.sync="queryParam.pageSize" @pagination="getListByXmId" /> |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="queryParam.page" |
| | | :limit.sync="queryParam.pageSize" |
| | | @pagination="getListByXmId" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | |
| | | this.form.lisXmmc = param1[0].pacName; |
| | | }, |
| | | //是否显示选中的值 |
| | | display(value) { }, |
| | | display(value) {}, |
| | | /** 查询体检项目列表 */ |
| | | getList() { |
| | | // this.loading = true; |
| | |
| | | handleAdd(row) { |
| | | // this.reset(); |
| | | this.loading = true; |
| | | this.proParent = false |
| | | this.proParent = false; |
| | | this.form.proPrice = 0.0; |
| | | this.form.proName = ""; |
| | | this.form.proId = null; |
| | |
| | | this.key = response.data.key; |
| | | this.projectOptions.push(project); |
| | | if (row.proId) { |
| | | this.form.proParentId = row.proId; |
| | | for (var i = 0; i < project.children.length; i++) { |
| | | if (project.children[i].proId === row.proId) { |
| | | this.form.proParentId = row.proId; |
| | | break; |
| | | }else{ |
| | | this.form.proParentId =0 |
| | | } |
| | | } |
| | | |
| | | this.open = true; |
| | | } else if(this.treeDate.id){ |
| | | this.form.proParentId = this.treeDate.id |
| | | this.projectOptions.forEach(item => { |
| | | item.children.forEach(item1 => { |
| | | if(this.form.proParentId == item1.proId){ |
| | | this.form.deptId = item1.deptId |
| | | } else if (this.treeDate.id) { |
| | | for (var i = 0; i < project.children.length; i++) { |
| | | if (project.children[i].proId === this.treeDate.id) { |
| | | this.form.proParentId = this.treeDate.id; |
| | | break; |
| | | }else{ |
| | | this.form.proParentId =0 |
| | | } |
| | | } |
| | | |
| | | this.projectOptions.forEach((item) => { |
| | | item.children.forEach((item1) => { |
| | | if (this.form.proParentId == item1.proId) { |
| | | this.form.deptId = item1.deptId; |
| | | } |
| | | }) |
| | | }) |
| | | }); |
| | | }); |
| | | this.open = true; |
| | | }else{ |
| | | } else { |
| | | this.open = true; |
| | | } |
| | | } |
| | |
| | | if (this.queryParams.deptId) { |
| | | this.form.deptId = this.queryParams.deptId; |
| | | } else { |
| | | this.form.deptId = null |
| | | this.form.deptId = null; |
| | | } |
| | | // this.form.proId = this.queryParams.proId; |
| | | this.form.proCheckMethod = "N"; |
| | |
| | | } |
| | | }, |
| | | changeType() { |
| | | this.$forceUpdate() |
| | | this.$forceUpdate(); |
| | | }, |
| | | |
| | | obtain(vals) { |
| | |
| | | this.showPrise = true; |
| | | this.showRentPrise = false; |
| | | } else { |
| | | this.form.deptId = this.selectList.deptId |
| | | this.form.deptId = this.selectList.deptId; |
| | | this.showPrise = false; |
| | | this.showRentPrise = true; |
| | | } |
| | |
| | | }, |
| | | // 节点单击事件 |
| | | handleNodeClick(date) { |
| | | this.treeDate = date |
| | | this.treeDate = date; |
| | | if (date.qf == "0") { |
| | | this.xiugais = true; |
| | | } else { |
| | |
| | | handleUpdate1() { |
| | | this.open = true; |
| | | this.form = this.xiugaiList; |
| | | this.proParent = true |
| | | this.proParent = true; |
| | | // if(){ |
| | | // this.proParent = true |
| | | // } |
| | |
| | | this.key = response.data.key; |
| | | this.projectOptions.push(project); |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | |
| | | this.getData(); |
| | | // this.form = row; |
| | | const proId = row.proId || this.ids; |
| | | this.proParent = false |
| | | this.proParent = false; |
| | | getProject(proId).then((response) => { |
| | | this.form = response.data; |
| | | if (this.form.proParentId === "0") { |
| | |
| | | this.key = response.data.key; |
| | | this.projectOptions.push(project); |
| | | } |
| | | }) |
| | | }); |
| | | this.open = true; |
| | | this.title = "体检项目信息维护"; |
| | | }); |
| | |
| | | this.cancel(); |
| | | this.getList(); |
| | | } |
| | | |
| | | }); |
| | | } else { |
| | | if (this.form.proParentId === 0) { |
| | |
| | | this.cancel(); |
| | | this.getList(); |
| | | } |
| | | |
| | | }); |
| | | } else { |
| | | if (this.form.proParentId === 0) { |
| | |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }) |
| | | .catch(() => { }); |
| | | .catch(() => {}); |
| | | }, |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | |
| | | background: #e5f3ff; |
| | | } |
| | | |
| | | .el-tree-node.is-current>.el-tree-node__content { |
| | | .el-tree-node.is-current > .el-tree-node__content { |
| | | background-color: #e5f3ff !important; |
| | | color: #333 !important; |
| | | } |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
| | | <el-form-item label="问题" prop="question"> |
| | | <el-input v-model="queryParams.question" placeholder="请输入问题" clearable @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="4" :xs="24"> |
| | | <div class="head-container"> |
| | | <el-input |
| | | v-model="deptName" |
| | | placeholder="请输入科室名称" |
| | | clearable |
| | | size="small" |
| | | prefix-icon="el-icon-search" |
| | | style="margin-bottom: 15px" |
| | | /> |
| | | </div> |
| | | <el-scrollbar style="height: 629px; width: 100%" class="outside1"> |
| | | <div class="head-container"> |
| | | <el-tree |
| | | :data="deptOptions" |
| | | :props="defaultProps" |
| | | :expand-on-click-node="false" |
| | | :filter-node-method="filterNode" |
| | | ref="tree" |
| | | node-key="id" |
| | | :default-expanded-keys="treeId" |
| | | highlight-current |
| | | @node-click="handleNodeClick" |
| | | /> |
| | | </div> |
| | | </el-scrollbar> |
| | | </el-col> |
| | | <el-col :span="20" :xs="24" style="display: flex"> |
| | | <div style="width: 50%"> |
| | | <el-form |
| | | :model="queryParams" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | v-show="showSearch" |
| | | label-width="68px" |
| | | > |
| | | <el-form-item label="问题" prop="question"> |
| | | <el-input |
| | | v-model="queryParams.question" |
| | | placeholder="请输入问题" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="handleQuery" |
| | | >搜索</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
| | | >重置</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['hosp:question:add']">新增 |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | v-hasPermi="['hosp:question:add']" |
| | | >新增 |
| | | </el-button> |
| | | </el-col> |
| | | <!-- <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleUpdate" |
| | | v-hasPermi="['hosp:question:edit']" |
| | | >修改 |
| | | </el-button> |
| | | </el-col> --> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="handleDelete" |
| | | v-hasPermi="['hosp:question:remove']" |
| | | >删除 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['hosp:question:export']" |
| | | >导出 |
| | | </el-button> |
| | | </el-col> |
| | | <!-- <right-toolbar |
| | | :showSearch.sync="showSearch" |
| | | @queryTable="getList" |
| | | ></right-toolbar> --> |
| | | </el-row> |
| | | |
| | | <el-table |
| | | border |
| | | v-loading="loading" |
| | | :data="intList" |
| | | @selection-change="handleSelectionChange" |
| | | style="width: 96%" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="40" |
| | | align="center" |
| | | fixed="left" |
| | | /> |
| | | <el-table-column |
| | | label="序号" |
| | | align="center" |
| | | prop="newID" |
| | | width="50px" |
| | | fixed="left" |
| | | /> |
| | | <el-table-column |
| | | label="问题" |
| | | align="center" |
| | | prop="question" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="类型" |
| | | align="center" |
| | | prop="type" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag |
| | | :options="dict.type.question_type" |
| | | :value="scope.row.type" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column |
| | | label="关键字" |
| | | align="center" |
| | | prop="keywords" |
| | | :show-overflow-tooltip="true" |
| | | /> --> |
| | | <!-- <el-table-column |
| | | label="分类" |
| | | align="center" |
| | | prop="sort" |
| | | :show-overflow-tooltip="true" |
| | | /> --> |
| | | <el-table-column |
| | | label="是否必填" |
| | | align="center" |
| | | prop="isRequired" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag |
| | | :options="dict.type.sys_yes_no" |
| | | :value="scope.row.isRequired" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column |
| | | label="创建人" |
| | | align="center" |
| | | prop="createBy" |
| | | :show-overflow-tooltip="true" |
| | | /> --> |
| | | <!-- <el-table-column |
| | | label="创建时间" |
| | | align="center" |
| | | prop="createTime" |
| | | width="180" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | </template> |
| | | </el-table-column> --> |
| | | <!-- <el-table-column |
| | | label="修改人" |
| | | align="center" |
| | | prop="updateBy" |
| | | :show-overflow-tooltip="true" |
| | | /> --> |
| | | <!-- <el-table-column |
| | | label="修改时间" |
| | | align="center" |
| | | prop="updateTime" |
| | | width="180" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.updateTime) }}</span> |
| | | </template> |
| | | </el-table-column> --> |
| | | <!-- <el-table-column |
| | | label="备注" |
| | | align="center" |
| | | prop="remark" |
| | | :show-overflow-tooltip="true" |
| | | /> --> |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | class-name="small-padding fixed-width" |
| | | width="80px" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['hosp:question:edit']" |
| | | title="修改" |
| | | > |
| | | </el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['hosp:question:remove']" |
| | | title="删除" |
| | | > |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pag"> |
| | | <div class="pag1"> |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="handleNodeClick" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div style="width: 50%" class="outside1"> |
| | | <el-divider class="custom-divider">{{ mingcheng.tempName }}</el-divider> |
| | | <el-form |
| | | v-for="(item, index) in intList" |
| | | :key="index" |
| | | style="margin-left: 15px" |
| | | > |
| | | <el-form-item> |
| | | <span |
| | | style="color: red; margin-left: 5px" |
| | | v-if="item.isRequired == 'Y'" |
| | | >*</span |
| | | > |
| | | {{ index + 1 > 9 ? index + 1 : "0" + (index + 1) }}.{{ |
| | | item.question |
| | | }} |
| | | <span v-if="item.type == '0'">(单选)</span> |
| | | <span v-if="item.type == '1'">(多选)</span><br /> |
| | | <label |
| | | v-for="(item5, index) in item.tjSurveyOptionsList" |
| | | :key="index" |
| | | > |
| | | <!-- <img v-show="item.type == '1'" v-if="item5.qid ==item.qid" class="select-radio" src="../../../assets/images/weixuanzhong.png" alt=""> |
| | | <img v-show="item.type == '1'" v-else class="select-radio1" src="../../../assets/images/xuanzhong.png" alt=""> --> |
| | | <input |
| | | v-show="item.type == '0'" |
| | | type="radio" |
| | | :name="item5.qid" |
| | | :value="item5.oid" |
| | | /><label class="inp" v-show="item.type == '0'">{{ |
| | | item5.ooption |
| | | }}</label> |
| | | <input |
| | | v-show="item.type == '1'" |
| | | type="checkbox" |
| | | :name="item5.qid" |
| | | :value="item5.oid" |
| | | /><label class="inp" v-show="item.type == '1'">{{ |
| | | item5.ooption |
| | | }}</label> |
| | | <el-rate |
| | | v-show="item.type == '2'" |
| | | v-model="myscore" |
| | | show-text |
| | | ></el-rate> |
| | | <el-input |
| | | v-show="item.type == '3'" |
| | | v-model="inpu" |
| | | style="width: 340px" |
| | | /> |
| | | <el-date-picker |
| | | v-show="item.type == '4'" |
| | | v-model="value2" |
| | | align="right" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | :picker-options="pickerOptions" |
| | | > |
| | | </el-date-picker> |
| | | <el-input-number |
| | | v-show="item.type == '5'" |
| | | v-model="num" |
| | | :min="1" |
| | | :max="10000" |
| | | ></el-input-number> |
| | | <el-input-number |
| | | v-show="item.type == '6'" |
| | | v-model="numf" |
| | | :precision="2" |
| | | :step="0.0" |
| | | :max="10000" |
| | | ></el-input-number> |
| | | </label> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" |
| | | v-hasPermi="['hosp:question:edit']">修改 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" |
| | | v-hasPermi="['hosp:question:remove']">删除 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport" |
| | | v-hasPermi="['hosp:question:export']">导出 |
| | | </el-button> |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | |
| | | <el-table border v-loading="loading" :data="questionList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="40" align="center" fixed="left" /> |
| | | <el-table-column label="序号" align="center" prop="newID" width="50px" fixed="left" /> |
| | | <el-table-column label="问题" align="center" prop="question" /> |
| | | <el-table-column label="类型" align="center" prop="type"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.question_type" :value="scope.row.type" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="是否必填" align="center" prop="isRequired"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isRequired" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="创建人" align="center" prop="createBy" /> |
| | | <el-table-column label="创建时间" align="center" prop="createTime" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="修改人" align="center" prop="updateBy" /> |
| | | <el-table-column label="修改时间" align="center" prop="updateTime" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.updateTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="备注" align="center" prop="remark" /> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="80px" fixed="right"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['hosp:question:edit']" title="修改"> |
| | | </el-button> |
| | | <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" |
| | | v-hasPermi="['hosp:question:remove']" title="删除"> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pag"> |
| | | <div class="pag1"> |
| | | <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 添加或修改问卷问题对话框 --> |
| | | <el-dialog :title="title" :visible.sync="open" width="542px" append-to-body> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
| | | <el-form-item label="问题" prop="question"> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="100px"> |
| | | <el-form-item label="问卷名称" prop="mid" style="margin-bottom: 20px"> |
| | | <el-select v-model="form.mid" placeholder="请选择问卷名称"> |
| | | <el-option |
| | | v-for="dict in wenjuanList" |
| | | :key="dict.mid" |
| | | :label="dict.tempName" |
| | | :value="dict.mid" |
| | | /> |
| | | </el-select> |
| | | <i |
| | | class="el-icon-circle-plus-outline" |
| | | @click="tiaozhuan" |
| | | style="margin-left: 5px" |
| | | ></i> |
| | | </el-form-item> |
| | | <el-form-item label="问题" prop="question" style="margin-bottom: 20px"> |
| | | <el-input v-model="form.question" placeholder="请输入问题" /> |
| | | </el-form-item> |
| | | <el-form-item label="类型" prop="type" style="margin-bottom: 20px"> |
| | | <el-select |
| | | v-model="form.type" |
| | | placeholder="请选择类型" |
| | | style="width: 100%" |
| | | filterable |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.question_type" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="关键字" prop="keywords"> |
| | | <el-input v-model="form.keywords" placeholder="请输入关键字" /> |
| | | <!-- <el-select |
| | | v-model="form.type" |
| | | placeholder="请选择类型" |
| | | style="width: 100%" |
| | | filterable |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.question_type" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> --> |
| | | </el-form-item> |
| | | <el-form-item label="分类" prop="sort"> |
| | | <el-input v-model="form.sort" placeholder="请输入分类" /> |
| | | <!-- <el-select |
| | | v-model="form.type" |
| | | placeholder="请选择类型" |
| | | style="width: 100%" |
| | | filterable |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.question_type" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> --> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="必填" |
| | | prop="isRequired" |
| | | style="margin-bottom: 20px" |
| | | > |
| | | <el-radio v-model="form.isRequired" label="Y">是</el-radio> |
| | | <el-radio v-model="form.isRequired" label="N">否</el-radio> |
| | | </el-form-item> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input v-model="form.remark" placeholder="请输入备注" /> |
| | |
| | | <el-divider content-position="center">问卷选项信息</el-divider> |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-plus" size="mini" @click="addmembers()">添加 |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="addmembers()" |
| | | >添加 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="danger" icon="el-icon-delete" size="mini" @click.native.prevent="Delete()">删除 |
| | | <el-button |
| | | type="danger" |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | @click.native.prevent="Delete()" |
| | | >删除 |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-table border :data="form.tjSurveyOptionsList" ref="tjSurveyOptions" @selection-change="handleChange"> |
| | | <el-table |
| | | border |
| | | :data="form.tjSurveyOptionsList" |
| | | ref="tjSurveyOptions" |
| | | @selection-change="handleChange" |
| | | > |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | | <el-table-column label="选项" prop="ooption" width="150"> |
| | | <template slot-scope="scope"> |
| | |
| | | |
| | | <script> |
| | | import { |
| | | listQuestion, |
| | | getQuestion, |
| | | PostTemplentList, |
| | | getQuestionsByMid, |
| | | delQuestion, |
| | | addQuestion, |
| | | updateQuestion, |
| | | listByDeptId, |
| | | listByDeptId1 |
| | | } from "@/api/hosp/question"; |
| | | import { Message } from "element-ui"; |
| | | export default { |
| | |
| | | name: "Question", |
| | | data() { |
| | | let checkPhoneNum = (rule, value, callback) => { |
| | | console.log( value) |
| | | let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/); |
| | | if (value == "" && value == undefined && !value) { |
| | | return callback(''); |
| | | } else if(value != undefined && value != ""){ |
| | | return callback(""); |
| | | } else if (value != undefined && value != "") { |
| | | return callback(); |
| | | }else if (!patter.test(value)) { |
| | | return callback(''); |
| | | } else if (!patter.test(value)) { |
| | | return callback(""); |
| | | } |
| | | }; |
| | | return { |
| | | mids: "", |
| | | mingcheng: {}, |
| | | num: 0, |
| | | inpu: "", |
| | | myscore: this.value, |
| | | pickerOptions: { |
| | | disabledDate(time) { |
| | | return time.getTime() > Date.now(); |
| | | }, |
| | | shortcuts: [ |
| | | { |
| | | text: "今天", |
| | | onClick(picker) { |
| | | picker.$emit("pick", new Date()); |
| | | }, |
| | | }, |
| | | { |
| | | text: "昨天", |
| | | onClick(picker) { |
| | | const date = new Date(); |
| | | date.setTime(date.getTime() - 3600 * 1000 * 24); |
| | | picker.$emit("pick", date); |
| | | }, |
| | | }, |
| | | { |
| | | text: "一周前", |
| | | onClick(picker) { |
| | | const date = new Date(); |
| | | date.setTime(date.getTime() - 3600 * 1000 * 24 * 7); |
| | | picker.$emit("pick", date); |
| | | }, |
| | | }, |
| | | ], |
| | | }, |
| | | numf: 0, |
| | | value2: "", |
| | | intList: [], |
| | | deptOptions: undefined, |
| | | defaultProps: { |
| | | children: "children", |
| | | label: "name", |
| | | }, |
| | | treeId: [], |
| | | deptName: "", |
| | | wenjuanList: [], |
| | | // 遮罩层 |
| | | loading: true, |
| | | // 选中数组 |
| | |
| | | // 总条数 |
| | | total: 0, |
| | | // 问卷问题表格数据 |
| | | questionList: [], |
| | | // questionList: [], |
| | | // 问卷选项表格数据 |
| | | tjSurveyOptionsList: [], |
| | | selectionList: [], |
| | |
| | | type: null, |
| | | isRequired: null, |
| | | }, |
| | | Objdata:{}, |
| | | queryParamse: { |
| | | pageNum: 1, |
| | | pageSize: 10000, |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | // 表单校验 |
| | |
| | | question: [ |
| | | { |
| | | required: true, |
| | | validator: checkPhoneNum, |
| | | message: "问题不能为空", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | type: [ |
| | | { |
| | | required: true, |
| | | validator: checkPhoneNum, |
| | | message: "类型不能为空", |
| | | trigger: "change", |
| | | }, |
| | | ], |
| | | isRequired: [ |
| | | { |
| | | required: true, |
| | | validator: checkPhoneNum, |
| | | message: "是否必填不能为空", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | deleted: [ |
| | | { |
| | | required: true, |
| | | validator: checkPhoneNum, |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | mid: [{ required: true, message: "问卷名称不能为空", trigger: "blur" }], |
| | | }, |
| | | }; |
| | | }, |
| | | watch: { |
| | | // 根据名称筛选部门树 |
| | | deptName(val) { |
| | | this.$refs.tree.filter(val); |
| | | }, |
| | | treeId(newVal, oldVal) { |
| | | if (newVal) { |
| | | this.$nextTick(() => { |
| | | document |
| | | .querySelector(".el-tree-node__children .el-tree-node__content") |
| | | .click(); |
| | | }); |
| | | } |
| | | }, |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | // this.getList(); |
| | | this.getWenjuanList(); |
| | | this.getDeptTree(); |
| | | }, |
| | | methods: { |
| | | /** 查询问卷问题列表 */ |
| | | getList() { |
| | | /** 查询部门下拉树结构 */ |
| | | getDeptTree() { |
| | | listByDeptId1().then((response) => { |
| | | this.deptOptions = response.data; |
| | | this.treeId.push(this.deptOptions[0].id); |
| | | }); |
| | | }, |
| | | // 节点单击事件 |
| | | handleNodeClick(data) { |
| | | this.Objdata = data |
| | | this.loading = true; |
| | | listQuestion(this.queryParams).then((response) => { |
| | | this.questionList = response.rows; |
| | | response.rows.forEach((item, index) => { |
| | | this.mids = data.id; |
| | | let datas = { |
| | | mid: data.id, |
| | | pageNum: this.queryParams.pageNum, |
| | | pageSize: this.queryParams.pageSize, |
| | | }; |
| | | getQuestionsByMid(datas).then((response) => { |
| | | // console.log(response); |
| | | response.data.sort( |
| | | (a, b) => |
| | | new Date(a.createTime).getTime() - new Date(b.createTime).getTime() |
| | | ); //这是升序,倒序的话翻过来 |
| | | this.intList = response.data; |
| | | this.total = response.total; |
| | | this.intList.forEach((item) => { |
| | | if (item.template != null) { |
| | | this.mingcheng = item.template; |
| | | } |
| | | }); |
| | | response.data.forEach((item, index) => { |
| | | item.newID = |
| | | (this.queryParams.pageNum - 1) * this.queryParams.pageSize + |
| | | index + |
| | | 1; |
| | | }); |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // 筛选节点 |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | return data.label.indexOf(value) !== -1; |
| | | }, |
| | | /** 查询问卷列表 */ |
| | | getWenjuanList() { |
| | | PostTemplentList(this.queryParamse).then((response) => { |
| | | this.wenjuanList = response.rows; |
| | | }); |
| | | }, |
| | | // /** 查询问卷问题列表 */ |
| | | // getList() { |
| | | // this.loading = true; |
| | | // listQuestion(this.queryParams).then((response) => { |
| | | // this.questionList = response.rows; |
| | | // response.rows.forEach((item, index) => { |
| | | // item.newID = |
| | | // (this.queryParams.pageNum - 1) * this.queryParams.pageSize + |
| | | // index + |
| | | // 1; |
| | | // }); |
| | | // this.total = response.total; |
| | | // this.loading = false; |
| | | // }); |
| | | // }, |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | // this.handleNodeClick(); |
| | | let datas = { |
| | | mid: this.mids, |
| | | pageNum: this.queryParams.pageNum, |
| | | pageSize: this.queryParams.pageSize, |
| | | question: this.queryParams.question, |
| | | }; |
| | | getQuestionsByMid(datas).then((response) => { |
| | | // console.log(response); |
| | | response.data.sort( |
| | | (a, b) => |
| | | new Date(a.createTime).getTime() - new Date(b.createTime).getTime() |
| | | ); //这是升序,倒序的话翻过来 |
| | | this.intList = response.data; |
| | | this.total = response.total; |
| | | this.intList.forEach((item) => { |
| | | if (item.template != null) { |
| | | this.mingcheng = item.template; |
| | | } |
| | | }); |
| | | response.data.forEach((item, index) => { |
| | | item.newID = |
| | | (this.queryParams.pageNum - 1) * this.queryParams.pageSize + |
| | | index + |
| | | 1; |
| | | }); |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | |
| | | this.$forceUpdate(); |
| | | }, |
| | | handleChange(selection) { |
| | | this.selectionList =[] |
| | | this.selectionList = selection |
| | | |
| | | this.selectionList = []; |
| | | this.selectionList = selection; |
| | | }, |
| | | // 删除行 |
| | | Delete() { |
| | | if (!this.selectionList) { |
| | | this.$modal.msgSuccess('请选择需要删除的数据') |
| | | this.$modal.msgSuccess("请选择需要删除的数据"); |
| | | } else { |
| | | this.selectionList.forEach(item =>{ |
| | | this.form.tjSurveyOptionsList.forEach((item1,index) => { |
| | | if(item.ooption == item1.ooption){ |
| | | this.selectionList.forEach((item) => { |
| | | this.form.tjSurveyOptionsList.forEach((item1, index) => { |
| | | if (item.ooption == item1.ooption) { |
| | | this.form.tjSurveyOptionsList.splice(index, 1); |
| | | } |
| | | }) |
| | | }) |
| | | |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | // /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.reset(); |
| | | this.open = true; |
| | |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | this.reset(); |
| | | const qid = row.qid || this.ids; |
| | | getQuestion(qid).then((response) => { |
| | | this.form = response.data; |
| | | this.form.tjSurveyOptionsList = response.data.tjSurveyOptionsList; |
| | | this.open = true; |
| | | this.title = "修改问卷问题"; |
| | | }); |
| | | this.form = row; |
| | | this.form.tjSurveyOptionsList = row.tjSurveyOptionsList; |
| | | this.form.mid = Number(row.template.mid); |
| | | this.open = true; |
| | | this.title = "修改问卷问题"; |
| | | // const qid = row.qid || this.ids; |
| | | // getQuestion(qid).then((response) => { |
| | | // this.form = response.data; |
| | | // this.form.tjSurveyOptionsList = response.data.tjSurveyOptionsList; |
| | | // this.open = true; |
| | | // this.title = "修改问卷问题"; |
| | | // }); |
| | | }, |
| | | /** 提交按钮 */ |
| | | submitForm() { |
| | |
| | | updateQuestion(this.form).then((response) => { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | // this.$tab.refreshPage(); |
| | | this.handleNodeClick(this.Objdata) |
| | | }); |
| | | } else { |
| | | addQuestion(this.form).then((response) => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | // this.$tab.refreshPage(); |
| | | this.handleNodeClick(this.Objdata) |
| | | }); |
| | | } |
| | | } |
| | |
| | | handleDelete(row) { |
| | | const qids = row.qid || this.ids; |
| | | this.$modal |
| | | .confirm('是否确认删除院区信息编号为"' + qids + '"的数据项?') |
| | | .confirm('是否确认删除问题编号为"' + qids + '"的数据项?') |
| | | .then(function () { |
| | | return delQuestion(qids); |
| | | }) |
| | | .then(() => { |
| | | this.getList(); |
| | | // this.$tab.refreshPage(); |
| | | this.handleNodeClick(this.Objdata) |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }) |
| | | .catch(() => { }); |
| | | .catch(() => {}); |
| | | }, |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | |
| | | `hosp_${new Date().getTime()}.xlsx` |
| | | ); |
| | | }, |
| | | tiaozhuan() { |
| | | this.$router.push({ path: "/wemjuan" }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | .pag { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | justify-content: flex-start; |
| | | margin-left: 339px; |
| | | } |
| | | |
| | | .pag1 { |
| | | width: 30%; |
| | | }</style> |
| | | } |
| | | .el-icon-circle-plus-outline { |
| | | line-height: 20px; |
| | | font-size: 20px; |
| | | } |
| | | .outside1 { |
| | | width: 500px; |
| | | max-height: 700px; |
| | | overflow-y: auto; |
| | | display: flex; |
| | | margin-top: 8px; |
| | | flex-direction: column; |
| | | } |
| | | .custom-divider .el-divider__text { |
| | | font-size: 18px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
| | | <el-form-item label="问题" prop="question"> |
| | | <el-input v-model="queryParams.question" placeholder="请输入问题" clearable @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['hosp:question:add']">新增 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" |
| | | v-hasPermi="['hosp:question:edit']">修改 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" |
| | | v-hasPermi="['hosp:question:remove']">删除 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport" |
| | | v-hasPermi="['hosp:question:export']">导出 |
| | | </el-button> |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | |
| | | <el-table border v-loading="loading" :data="questionList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="40" align="center" fixed="left" /> |
| | | <el-table-column label="序号" align="center" prop="newID" width="50px" fixed="left" /> |
| | | <el-table-column label="问题" align="center" prop="question" /> |
| | | <el-table-column label="类型" align="center" prop="type"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.question_type" :value="scope.row.type" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="是否必填" align="center" prop="isRequired"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isRequired" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="创建人" align="center" prop="createBy" /> |
| | | <el-table-column label="创建时间" align="center" prop="createTime" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="修改人" align="center" prop="updateBy" /> |
| | | <el-table-column label="修改时间" align="center" prop="updateTime" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.updateTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="备注" align="center" prop="remark" /> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="80px" fixed="right"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['hosp:question:edit']" title="修改"> |
| | | </el-button> |
| | | <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" |
| | | v-hasPermi="['hosp:question:remove']" title="删除"> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pag"> |
| | | <div class="pag1"> |
| | | <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 添加或修改问卷问题对话框 --> |
| | | <el-dialog :title="title" :visible.sync="open" width="542px" append-to-body> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
| | | <el-form-item label="问题" prop="question"> |
| | | <el-input v-model="form.question" placeholder="请输入问题" /> |
| | | </el-form-item> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input v-model="form.remark" placeholder="请输入备注" /> |
| | | </el-form-item> |
| | | <el-divider content-position="center">问卷选项信息</el-divider> |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-plus" size="mini" @click="addmembers()">添加 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="danger" icon="el-icon-delete" size="mini" @click.native.prevent="Delete()">删除 |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-table border :data="form.tjSurveyOptionsList" ref="tjSurveyOptions" @selection-change="handleChange"> |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | | <el-table-column label="选项" prop="ooption" width="150"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.ooption" placeholder="请输入选项" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="分数" prop="score" width="150"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.score" placeholder="请输入分数" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="备注" prop="remark" width="150"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.remark" placeholder="请输入备注" /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | listQuestion, |
| | | getQuestion, |
| | | delQuestion, |
| | | addQuestion, |
| | | updateQuestion, |
| | | } from "@/api/hosp/question"; |
| | | import { Message } from "element-ui"; |
| | | export default { |
| | | dicts: ["question_type", "sys_yes_no"], |
| | | name: "Question", |
| | | data() { |
| | | let checkPhoneNum = (rule, value, callback) => { |
| | | console.log( value) |
| | | let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/); |
| | | if (value == "" && value == undefined && !value) { |
| | | return callback(''); |
| | | } else if(value != undefined && value != ""){ |
| | | return callback(); |
| | | }else if (!patter.test(value)) { |
| | | return callback(''); |
| | | } |
| | | }; |
| | | return { |
| | | // 遮罩层 |
| | | loading: true, |
| | | // 选中数组 |
| | | ids: [], |
| | | // 子表选中数据 |
| | | checkedTjSurveyOptions: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | | total: 0, |
| | | // 问卷问题表格数据 |
| | | questionList: [], |
| | | // 问卷选项表格数据 |
| | | tjSurveyOptionsList: [], |
| | | selectionList: [], |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | question: null, |
| | | type: null, |
| | | isRequired: null, |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | question: [ |
| | | { |
| | | required: true, |
| | | validator: checkPhoneNum, |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | type: [ |
| | | { |
| | | required: true, |
| | | validator: checkPhoneNum, |
| | | trigger: "change", |
| | | }, |
| | | ], |
| | | isRequired: [ |
| | | { |
| | | required: true, |
| | | validator: checkPhoneNum, |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | deleted: [ |
| | | { |
| | | required: true, |
| | | validator: checkPhoneNum, |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | /** 查询问卷问题列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | listQuestion(this.queryParams).then((response) => { |
| | | this.questionList = response.rows; |
| | | response.rows.forEach((item, index) => { |
| | | item.newID = |
| | | (this.queryParams.pageNum - 1) * this.queryParams.pageSize + |
| | | index + |
| | | 1; |
| | | }); |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | | qid: null, |
| | | question: null, |
| | | type: null, |
| | | isRequired: "0", |
| | | remark: null, |
| | | createBy: null, |
| | | createTime: null, |
| | | updateBy: null, |
| | | updateTime: null, |
| | | deleted: null, |
| | | }; |
| | | this.tjSurveyOptionsList = []; |
| | | this.resetForm("form"); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map((item) => item.qid); |
| | | this.single = selection.length !== 1; |
| | | this.multiple = !selection.length; |
| | | }, |
| | | // 新增行 |
| | | addmembers() { |
| | | if (this.form.question) { |
| | | if (!this.form.tjSurveyOptionsList) { |
| | | this.form.tjSurveyOptionsList = []; |
| | | this.form.tjSurveyOptionsList.push({ |
| | | id: parseInt(length), |
| | | qid: "", |
| | | qname: "", |
| | | Selection, |
| | | }); |
| | | } else { |
| | | this.form.tjSurveyOptionsList.push({ |
| | | id: parseInt(length), |
| | | qid: "", |
| | | qname: "", |
| | | Selection, |
| | | }); |
| | | } |
| | | } else { |
| | | Message.warning("请先填写问题"); |
| | | } |
| | | this.$forceUpdate(); |
| | | }, |
| | | handleChange(selection) { |
| | | this.selectionList =[] |
| | | this.selectionList = selection |
| | | |
| | | }, |
| | | // 删除行 |
| | | Delete() { |
| | | if (!this.selectionList) { |
| | | this.$modal.msgSuccess('请选择需要删除的数据') |
| | | } else { |
| | | this.selectionList.forEach(item =>{ |
| | | this.form.tjSurveyOptionsList.forEach((item1,index) => { |
| | | if(item.ooption == item1.ooption){ |
| | | this.form.tjSurveyOptionsList.splice(index, 1); |
| | | } |
| | | }) |
| | | }) |
| | | |
| | | } |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.reset(); |
| | | this.open = true; |
| | | this.title = "添加问卷问题"; |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | this.reset(); |
| | | const qid = row.qid || this.ids; |
| | | getQuestion(qid).then((response) => { |
| | | this.form = response.data; |
| | | this.form.tjSurveyOptionsList = response.data.tjSurveyOptionsList; |
| | | this.open = true; |
| | | this.title = "修改问卷问题"; |
| | | }); |
| | | }, |
| | | /** 提交按钮 */ |
| | | submitForm() { |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | if (this.form.qid != null) { |
| | | updateQuestion(this.form).then((response) => { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } else { |
| | | addQuestion(this.form).then((response) => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | const qids = row.qid || this.ids; |
| | | this.$modal |
| | | .confirm('是否确认删除院区信息编号为"' + qids + '"的数据项?') |
| | | .then(function () { |
| | | return delQuestion(qids); |
| | | }) |
| | | .then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }) |
| | | .catch(() => { }); |
| | | }, |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | | this.download( |
| | | "hosp/question/export", |
| | | { |
| | | ...this.queryParams, |
| | | }, |
| | | `hosp_${new Date().getTime()}.xlsx` |
| | | ); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style scoped> |
| | | .pag { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .pag1 { |
| | | width: 30%; |
| | | }</style> |
New file |
| | |
| | | import TduckForm from 'tduck-form-generator' |
| | | import store from '@/store/index' |
| | | import { getCurrentDomain } from '@/utils' |
| | | import { getToken } from '@/utils/auth' |
| | | export default { |
| | | data() { |
| | | return { |
| | | formKey: null |
| | | } |
| | | }, |
| | | created() { |
| | | // 写入值到localStorage 给组件使用 |
| | | if (getToken()) { |
| | | localStorage.setItem(TduckForm.constant.ACCESS_TOKEN, "Bearer " + getToken()) |
| | | } |
| | | localStorage.setItem('FORM-SUPPORT', process.env['VUE_APP_TITLE']) |
| | | localStorage.setItem(TduckForm.constant.ACCESS_TOKEN_NAME, 'Authorization') |
| | | if (process.env['VUE_APP_API_ROOT']) { |
| | | localStorage.setItem(TduckForm.constant.BASE_URL, process.env['VUE_APP_API_ROOT']) |
| | | } else { |
| | | localStorage.setItem(TduckForm.constant.BASE_URL, getCurrentDomain()) |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | <template> |
| | | <div class="form-index-container"> |
| | | <el-card class="header-container"> |
| | | <el-row align="middle" type="flex" :gutter="5" style="height: 50px"> |
| | | <i class="el-icon-back" @click="$router.back(-2)" /> |
| | | <el-col /> |
| | | <el-button type="primary" icon="el-icon-view" @click="previewDialogVisible = true"> 预览 </el-button> |
| | | </el-row> |
| | | </el-card> |
| | | |
| | | <FormDesign :question-mode="true" /> |
| | | |
| | | <el-dialog :visible.sync="previewDialogVisible" :before-close="handleClose"> |
| | | <pre-view :key="previewKey" :preview-qrcode="true" /> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import TduckForm, { FormDesign } from "tduck-form-generator"; |
| | | import "tduck-form-generator/dist/TduckForm.css"; |
| | | import mixin from "./TduckFormMixin.js"; |
| | | import PreView from './preview' |
| | | |
| | | export default { |
| | | inject: ["reload"], |
| | | name: "FormEditor", |
| | | components: { |
| | | FormDesign, |
| | | PreView |
| | | }, |
| | | mixins: [mixin], |
| | | data() { |
| | | return { |
| | | previewDialogVisible: false, |
| | | previewKey: +new Date(), |
| | | }; |
| | | }, |
| | | computed: {}, |
| | | methods: { |
| | | handleClose() { |
| | | this.reload(); |
| | | this.previewDialogVisible = false; |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang='scss'> |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <biz-project-form v-if="formConfig.formKey" :form-config="formConfig" @submit="submitForm" /> |
| | | </template> |
| | | |
| | | <script> |
| | | import { BizProjectForm } from 'tduck-form-generator' |
| | | import "tduck-form-generator/dist/TduckForm.css"; |
| | | import mixin from '../TduckFormMixin' |
| | | |
| | | export default { |
| | | components: { |
| | | BizProjectForm |
| | | }, |
| | | mixins: [mixin], |
| | | data() { |
| | | return { |
| | | formConfig: { |
| | | formKey: '', |
| | | preview: true, |
| | | showBtns: true |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | this.formConfig.formKey = this.$route.query.key |
| | | }, |
| | | methods: { |
| | | submitForm() { |
| | | console.log(111) |
| | | // this.msgError('预览无法提交数据') |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped lang="scss"> |
| | | ::v-deep .project-form { |
| | | overflow-x: hidden !important; |
| | | padding: 5px !important; |
| | | } |
| | | ::v-deep .project-form { |
| | | padding: 20px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="preview-container"> |
| | | <el-tabs v-if="formConfig.formKey" type="card"> |
| | | <el-tab-pane> |
| | | <span slot="label" |
| | | ><i class="el-icon-mobile" /> |
| | | 手机 |
| | | </span> |
| | | <div class="preview-layer"> |
| | | <div class="preview-bg" /> |
| | | <div class="preview-phone"> |
| | | <iframe |
| | | id="preview-html" |
| | | :src="mobilePreviewUrl" |
| | | class="preview-html" |
| | | frameborder="0" |
| | | name="preview-html" |
| | | scrolling="auto" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <!-- <div v-if="mobilePreviewUrl && previewQrcode" class="qrcode-view"> |
| | | <p style="font-weight: bold; font-size: 16px">手机扫码预览</p> |
| | | <p class="tips-text">* 预览仅查看效果,无法提交数据</p> |
| | | <p> |
| | | <vue-qr |
| | | v-if="mobilePreviewUrl && previewQrcode" |
| | | :size="134" |
| | | style="border-radius: 10px" |
| | | :text="mobilePreviewUrl" |
| | | /> |
| | | </p> |
| | | </div> --> |
| | | </el-tab-pane> |
| | | <el-tab-pane> |
| | | <span slot="label" |
| | | ><i class="el-icon-monitor" /> |
| | | 电脑 |
| | | </span> |
| | | <el-scrollbar style="height: 77vh; overflow-x: hidden !important"> |
| | | <biz-project-form v-if="formConfig.formKey" :form-config="formConfig" /> |
| | | </el-scrollbar> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { BizProjectForm } from 'tduck-form-generator' |
| | | import "tduck-form-generator/dist/TduckForm.css"; |
| | | import VueQr from 'vue-qr' |
| | | import mixin from '../TduckFormMixin' |
| | | |
| | | export default { |
| | | name: 'PreView', |
| | | components: { |
| | | BizProjectForm, |
| | | VueQr |
| | | }, |
| | | mixins: [mixin], |
| | | props: { |
| | | previewQrcode: null |
| | | }, |
| | | data() { |
| | | return { |
| | | formKey: null, |
| | | mobilePreviewUrl: '', |
| | | formConfig: { |
| | | formKey: '', |
| | | showBtns: true |
| | | } |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.formKey = this.$route.query.key |
| | | console.log( this.formKey) |
| | | let url = window.location.protocol + '//' + window.location.host |
| | | this.mobilePreviewUrl = `${url}/editor/ProjectForm?key=${this.formKey}` |
| | | this.$set(this.formConfig, 'formKey', this.formKey) |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .tips-text { |
| | | margin-top: 10px; |
| | | margin-bottom: 10px; |
| | | } |
| | | .preview-container { |
| | | margin: 0; |
| | | padding-top: 30px; |
| | | height: 100vh; |
| | | overflow: hidden !important; |
| | | background-color: var(--color-bg); |
| | | } |
| | | |
| | | ::v-deep .el-tabs--card > .el-tabs__header .el-tabs__nav { |
| | | border: 1px solid #e4e7ed !important; |
| | | border-radius: 10px; |
| | | background-color: white; |
| | | } |
| | | |
| | | ::v-deep .el-tabs__header { |
| | | width: 300px; |
| | | margin: 0 auto; |
| | | border: none; |
| | | } |
| | | |
| | | ::v-deep .el-dialog__body { |
| | | max-height: calc(100vh - 200px) !important; |
| | | } |
| | | |
| | | ::v-deep .el-tabs--card > .el-tabs__header .el-tabs__item { |
| | | background-color: transparent; |
| | | //border: 1px solid white; |
| | | } |
| | | |
| | | ::v-deep .project-form { |
| | | padding: 20px; |
| | | } |
| | | |
| | | ::v-deep .project-form-wrapper { |
| | | background-color: transparent; |
| | | } |
| | | |
| | | div.preview-layer { |
| | | width: 500px; |
| | | height: 100%; |
| | | margin: 10px auto; |
| | | right: 0; |
| | | text-align: center; |
| | | } |
| | | |
| | | div.preview-layer .preview-bg { |
| | | width: 500px; |
| | | height: 100%; |
| | | margin: 20px auto; |
| | | z-index: 999; |
| | | opacity: 0.7; |
| | | } |
| | | |
| | | div.preview-layer .preview-phone { |
| | | width: 372px; |
| | | height: 744px; |
| | | // background: url('~@/assets/images/appearset_bgc_big.png'); |
| | | background-size: 372px 744px; |
| | | z-index: 1000; |
| | | } |
| | | |
| | | .qrcode-view { |
| | | position: absolute; |
| | | top: 20px; |
| | | right: 260px; |
| | | |
| | | p { |
| | | text-align: center; |
| | | font-size: 12px; |
| | | color: #303133; |
| | | } |
| | | } |
| | | |
| | | .preview-html { |
| | | width: 345px !important; |
| | | height: 568px !important; |
| | | margin: 74px 0 0; |
| | | border-radius: 5px; |
| | | outline: none; |
| | | background-color: #fff; |
| | | border-width: 2px; |
| | | border-style: inset; |
| | | border-color: initial; |
| | | border-image: initial; |
| | | border-top-width: 0; |
| | | border-right-width: 0; |
| | | border-bottom-width: 0; |
| | | border-left-width: 0; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form |
| | | :model="queryParams" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | v-show="showSearch" |
| | | label-width="68px" |
| | | > |
| | | <el-form-item label="模板名称" prop="tempName"> |
| | | <el-input |
| | | v-model="queryParams.tempName" |
| | | placeholder="请输入模板名称" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="handleQuery" |
| | | >搜索</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
| | | >重置</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | v-hasPermi="['hosp:surveyTemplate:add']" |
| | | >新增 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleUpdate" |
| | | v-hasPermi="['hosp:surveyTemplate:edit']" |
| | | >修改 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="handleDelete" |
| | | v-hasPermi="['hosp:surveyTemplate:remove']" |
| | | >删除 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['hosp:surveyTemplate:export']" |
| | | >导出 |
| | | </el-button> |
| | | </el-col> |
| | | <right-toolbar |
| | | :showSearch.sync="showSearch" |
| | | @queryTable="getList" |
| | | ></right-toolbar> |
| | | </el-row> |
| | | |
| | | <el-table |
| | | border |
| | | v-loading="loading" |
| | | :data="surveyTemplateList" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="40px" align="center" /> |
| | | <el-table-column label="序号" align="center" prop="newID" width="50px" /> |
| | | <el-table-column label="模板名称" align="center" prop="tempName" /> |
| | | <el-table-column label="模板类型" align="center" prop="tempType"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag |
| | | :options="dict.type.question_template_type" |
| | | :value="scope.row.tempType" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="创建人" align="center" prop="createBy" /> |
| | | <el-table-column |
| | | label="创建时间" |
| | | align="center" |
| | | prop="createTime" |
| | | width="180" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="修改人" align="center" prop="updateBy" /> |
| | | <el-table-column |
| | | label="修改时间" |
| | | align="center" |
| | | prop="updateTime" |
| | | width="180" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.updateTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="启用标志" align="center" prop="qybz"> |
| | | <template slot-scope="scope" v-if="scope.row.userId !== 1"> |
| | | <el-switch |
| | | v-model="scope.row.qybz" |
| | | active-value="0" |
| | | inactive-value="1" |
| | | @change="handleStatusChange(scope.row)" |
| | | ></el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="备注" align="center" prop="remark" /> |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | class-name="small-padding fixed-width" |
| | | width="80px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-view" |
| | | @click="xiangqing(scope.row)" |
| | | v-hasPermi="['web:tags:edit']" |
| | | title="预览" |
| | | ></el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['hosp:surveyTemplate:edit']" |
| | | title="修改" |
| | | > |
| | | </el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['hosp:surveyTemplate:remove']" |
| | | title="删除" |
| | | > |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pag"> |
| | | <div class="pag1"> |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 添加或修改问卷模板对话框 --> |
| | | <el-dialog :title="title" :visible.sync="open" width="450px" append-to-body> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
| | | <el-form-item label="模板名称" prop="tempName"> |
| | | <el-input v-model="form.tempName" placeholder="请输入模板名称" /> |
| | | </el-form-item> |
| | | <el-form-item label="模板类型" prop="tempType"> |
| | | <el-select v-model="form.tempType" style="width: 100%"> |
| | | <el-option |
| | | v-for="dict in dict.type.question_template_type" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input v-model="form.remark" placeholder="请输入备注" /> |
| | | </el-form-item> |
| | | <div v-if="DaTianYa == false"> |
| | | <el-divider content-position="center">问卷模板问题信息</el-divider> |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="addmembers()" |
| | | >添加 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | @click.native.prevent="Delete()" |
| | | >删除 |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-table |
| | | style="width: 450px" |
| | | border |
| | | :data="form.tjSurveyTempQuesList" |
| | | @selection-change="handleTjSurveyTempQuesSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="40" align="center" /> |
| | | <el-table-column label="问题id" prop="qid" width="179"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.qid" placeholder="请输入问题id" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="问题名" prop="qname" width="190"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.qname" |
| | | placeholder="请输入问题名" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <el-drawer |
| | | :visible.sync="previewDialogVisible" |
| | | :before-close="handleClose" |
| | | size="40%" |
| | | > |
| | | <pre-view :key="previewKey" :preview-qrcode="true" /> |
| | | </el-drawer> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import PreView from "./editor/preview"; |
| | | import VueQr from "vue-qr"; |
| | | import { |
| | | listSurveyTemplate, |
| | | getSurveyTemplate, |
| | | delSurveyTemplate, |
| | | addSurveyTemplate, |
| | | updateSurveyTemplate, |
| | | getneedDesign, |
| | | getcanDelete, |
| | | updateQybz, |
| | | } from "@/api/hosp/surveyTemplate"; |
| | | import { Message } from "element-ui"; |
| | | export default { |
| | | inject: ["reload"], |
| | | name: "SurveyTemplate", |
| | | components: { |
| | | PreView, |
| | | VueQr, |
| | | }, |
| | | dicts: ["question_template_type"], |
| | | data() { |
| | | let checkPhoneNum = (rule, value, callback) => { |
| | | console.log(value); |
| | | let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/); |
| | | if (value == "" && value == undefined && !value) { |
| | | return callback(""); |
| | | } else if (value != undefined && value != "") { |
| | | return callback(); |
| | | } else if (!patter.test(value)) { |
| | | return callback(""); |
| | | } |
| | | }; |
| | | return { |
| | | // 遮罩层 |
| | | loading: true, |
| | | previewKey: +new Date(), |
| | | previewDialogVisible:false, |
| | | // 选中数组 |
| | | ids: [], |
| | | // 子表选中数据 |
| | | checkedTjSurveyTempQues: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | | total: 0, |
| | | // 问卷模板表格数据 |
| | | surveyTemplateList: [], |
| | | // 问卷模板问题表格数据 |
| | | tjSurveyTempQuesList: [], |
| | | selectionList: [], |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | DaTianYa: false, |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | tempName: null, |
| | | tempType: null, |
| | | deleted: null, |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | deleted: [ |
| | | { |
| | | required: true, |
| | | validator: checkPhoneNum, |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | /** 查询问卷模板列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | listSurveyTemplate(this.queryParams).then((response) => { |
| | | this.surveyTemplateList = response.rows; |
| | | response.rows.forEach((item, index) => { |
| | | item.newID = |
| | | (this.queryParams.pageNum - 1) * this.queryParams.pageSize + |
| | | index + |
| | | 1; |
| | | }); |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | | mid: null, |
| | | tempName: null, |
| | | tempType: null, |
| | | remark: null, |
| | | createBy: null, |
| | | createTime: null, |
| | | updateBy: null, |
| | | updateTime: null, |
| | | deleted: null, |
| | | }; |
| | | this.tjSurveyTempQuesList = []; |
| | | this.resetForm("form"); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map((item) => item.mid); |
| | | this.single = selection.length !== 1; |
| | | this.multiple = !selection.length; |
| | | }, |
| | | handleTjSurveyTempQuesSelectionChange(selection) { |
| | | this.selectionList = []; |
| | | this.selectionList = selection; |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.reset(); |
| | | this.title = "添加问卷模板"; |
| | | getneedDesign().then((res) => { |
| | | if (res.msg == "false") { |
| | | this.DaTianYa = false; |
| | | } else { |
| | | this.DaTianYa = true; |
| | | } |
| | | this.open = true; |
| | | }); |
| | | }, |
| | | // 新增行 |
| | | addmembers() { |
| | | if (this.form.tempName) { |
| | | if (!this.form.tjSurveyTempQuesList) { |
| | | this.form.tjSurveyTempQuesList = []; |
| | | this.form.tjSurveyTempQuesList.push({ |
| | | id: parseInt(length), |
| | | qid: "", |
| | | qname: "", |
| | | Selection, |
| | | }); |
| | | } else { |
| | | this.form.tjSurveyTempQuesList.push({ |
| | | id: parseInt(length), |
| | | qid: "", |
| | | qname: "", |
| | | Selection, |
| | | }); |
| | | } |
| | | } else { |
| | | Message.warning("请先填写模板名称"); |
| | | } |
| | | this.$forceUpdate(); |
| | | }, |
| | | // 删除行 |
| | | Delete() { |
| | | let that = this; |
| | | if (!that.selectionList) { |
| | | that.$modal.msgSuccess("请选择需要删除的数据"); |
| | | } else { |
| | | console.log(that.form.tjSurveyTempQuesList); |
| | | that.selectionList.forEach((item) => { |
| | | that.form.tjSurveyTempQuesList.forEach((item1, index) => { |
| | | if (item.qid == item1.qid) { |
| | | that.form.tjSurveyTempQuesList.splice(index, 1); |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | xiangqing(row) { |
| | | const mid = row.mid |
| | | getSurveyTemplate(mid).then((response) => { |
| | | if (response.data.designId == null) { |
| | | |
| | | } else { |
| | | this.$router.push({ |
| | | query: { key:response.data.designId}, |
| | | }); |
| | | this.previewDialogVisible = true; |
| | | } |
| | | }) |
| | | }, |
| | | handleClose() { |
| | | this.reload(); |
| | | this.previewDialogVisible = false; |
| | | }, |
| | | handleStatusChange(row) { |
| | | let text = row.qybz === "0" ? "启用" : "停用"; |
| | | this.$modal |
| | | .confirm('确认要"' + text + '""' + row.tempName + '"问卷吗?') |
| | | .then(function () { |
| | | return updateQybz(row.mid, row.qybz); |
| | | }) |
| | | .then(() => { |
| | | this.$modal.msgSuccess(text + "成功"); |
| | | }) |
| | | .catch(function () { |
| | | row.qybz = row.qybz === "0" ? "1" : "0"; |
| | | }); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | this.reset(); |
| | | const mid = row.mid || this.ids; |
| | | getSurveyTemplate(mid).then((response) => { |
| | | this.form = response.data; |
| | | if (response.data.tjSurveyTempQuesList.length >= 1) { |
| | | this.form.tjSurveyTempQuesList = response.data.tjSurveyTempQuesList; |
| | | } |
| | | if ( this.form.designId == null) { |
| | | this.DaTianYa = false; |
| | | this.title = "修改问卷模板"; |
| | | this.open = true; |
| | | } else { |
| | | this.DaTianYa = true; |
| | | this.form.formKey = this.form.designId; |
| | | this.form.type = 1; |
| | | this.toProjectHandle(this.form, "editor"); |
| | | } |
| | | }); |
| | | }, |
| | | /** 提交按钮 */ |
| | | submitForm() { |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | if (this.form.mid != null) { |
| | | updateSurveyTemplate(this.form).then((response) => { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } else { |
| | | addSurveyTemplate(this.form).then((response) => { |
| | | // this.$modal.msgSuccess("新增成功"); |
| | | this.toProjectHandle(response.data, "editor"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | toProjectHandle(form, type) { |
| | | this.$router.push({ |
| | | path: "/editor/moban", |
| | | query: { key: form.formKey, active: type, type: form.type }, |
| | | }); |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | const mids = row.mid || this.ids; |
| | | this.$modal |
| | | .confirm('是否确认删除院区信息编号为"' + mids + '"的数据项?') |
| | | .then(function () { |
| | | let id = row.mid; |
| | | return getcanDelete(id).then((res) => { |
| | | if (res.data == true) { |
| | | delSurveyTemplate(mids); |
| | | } else { |
| | | this.$modal.msgError("问卷正在使用中"); |
| | | } |
| | | }); |
| | | // return delSurveyTemplate(mids); |
| | | }) |
| | | .then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }) |
| | | .catch(() => { |
| | | this.$modal.msgError("问卷正在使用中"); |
| | | }); |
| | | }, |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | | this.download( |
| | | "hosp/surveyTemplate/export", |
| | | { |
| | | ...this.queryParams, |
| | | }, |
| | | `hosp_${new Date().getTime()}.xlsx` |
| | | ); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style scoped> |
| | | .pag { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .pag1 { |
| | | width: 30%; |
| | | } |
| | | </style> |
| | |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input v-model="form.remark" placeholder="请输入备注" /> |
| | | </el-form-item> |
| | | <div v-if="DaTianYa == false"> |
| | | <el-divider content-position="center">问卷模板问题信息</el-divider> |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="addmembers()" |
| | | >添加 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | @click.native.prevent="Delete()" |
| | | >删除 |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-table |
| | | style="width: 450px" |
| | | border |
| | | :data="form.tjSurveyTempQuesList" |
| | | @selection-change="handleTjSurveyTempQuesSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="40" align="center" /> |
| | | <el-table-column label="问题id" prop="qid" width="179"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.qid" placeholder="请输入问题id" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="问题名" prop="qname" width="190"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.qname" |
| | | placeholder="请输入问题名" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 问卷详情抽屉 --> |
| | | <el-drawer |
| | | title="问卷详情" |
| | | :visible.sync="drawer" |
| | | :with-header="true" |
| | | size="40%" |
| | | > |
| | | <el-form |
| | | v-for="(item, index) in intList" |
| | | :key="index" |
| | | style="margin-left: 15px" |
| | | > |
| | | <el-form-item> |
| | | <span |
| | | style="color: red; margin-left: 5px" |
| | | v-if="item.isRequired == 'Y'" |
| | | >*</span |
| | | > |
| | | {{ index + 1 > 9 ? index + 1 : "0" + (index + 1) }}.{{ |
| | | item.question |
| | | }} |
| | | <span v-if="item.type == '0'">(单选)</span> |
| | | <span v-if="item.type == '1'">(多选)</span><br /> |
| | | <label |
| | | v-for="(item5, index) in item.tjSurveyOptionsList" |
| | | :key="index" |
| | | > |
| | | <!-- <img v-show="item.type == '1'" v-if="item5.qid ==item.qid" class="select-radio" src="../../../assets/images/weixuanzhong.png" alt=""> |
| | | <img v-show="item.type == '1'" v-else class="select-radio1" src="../../../assets/images/xuanzhong.png" alt=""> --> |
| | | <input |
| | | v-show="item.type == '0'" |
| | | type="radio" |
| | | :name="item5.qid" |
| | | :value="item5.oid" |
| | | /><label class="inp" v-show="item.type == '0'">{{ |
| | | item5.ooption |
| | | }}</label> |
| | | <input |
| | | v-show="item.type == '1'" |
| | | type="checkbox" |
| | | :name="item5.qid" |
| | | :value="item5.oid" |
| | | /><label class="inp" v-show="item.type == '1'">{{ |
| | | item5.ooption |
| | | }}</label> |
| | | <el-rate |
| | | v-show="item.type == '2'" |
| | | v-model="myscore" |
| | | show-text |
| | | ></el-rate> |
| | | <el-input |
| | | v-show="item.type == '3'" |
| | | v-model="inpu" |
| | | style="width: 280px" |
| | | /> |
| | | <!-- <el-date-picker |
| | | v-show="item.type == '4'" |
| | | v-model="value2" |
| | | align="right" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | :picker-options="pickerOptions" |
| | | > |
| | | </el-date-picker> --> |
| | | <!-- <el-input-number |
| | | v-show="item.type == '5'" |
| | | v-model="num" |
| | | :min="1" |
| | | :max="10000" |
| | | ></el-input-number> |
| | | <el-input-number |
| | | v-show="item.type == '6'" |
| | | v-model="numf" |
| | | :precision="2" |
| | | :step="0.0" |
| | | :max="10000" |
| | | ></el-input-number> --> |
| | | </label> |
| | | </el-form-item> |
| | | </el-form> |
| | | <!-- <el-button type="primary" size="mini" @click="tijiao">提交</el-button> --> |
| | | </el-drawer> |
| | | <el-drawer |
| | | :visible.sync="previewDialogVisible" |
| | | :before-close="handleClose" |
| | |
| | | getneedDesign, |
| | | getcanDelete, |
| | | updateQybz, |
| | | getQuesByMid |
| | | } from "@/api/hosp/surveyTemplate"; |
| | | import { Message } from "element-ui"; |
| | | export default { |
| | |
| | | } |
| | | }; |
| | | return { |
| | | inpu:"", |
| | | num: 0, |
| | | myscore: null, |
| | | // 遮罩层 |
| | | loading: true, |
| | | drawer:false, |
| | | previewKey: +new Date(), |
| | | previewDialogVisible:false, |
| | | previewDialogVisible: false, |
| | | // 选中数组 |
| | | ids: [], |
| | | // 子表选中数据 |
| | |
| | | selectionList: [], |
| | | // 弹出层标题 |
| | | title: "", |
| | | intList: [], |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | DaTianYa: false, |
| | |
| | | handleAdd() { |
| | | this.reset(); |
| | | this.title = "添加问卷模板"; |
| | | |
| | | getneedDesign().then((res) => { |
| | | if (res.msg == "false") { |
| | | this.DaTianYa = false; |
| | |
| | | if (!that.selectionList) { |
| | | that.$modal.msgSuccess("请选择需要删除的数据"); |
| | | } else { |
| | | console.log(that.form.tjSurveyTempQuesList); |
| | | that.selectionList.forEach((item) => { |
| | | that.form.tjSurveyTempQuesList.forEach((item1, index) => { |
| | | if (item.qid == item1.qid) { |
| | |
| | | } |
| | | }, |
| | | xiangqing(row) { |
| | | const mid = row.mid |
| | | const mid = row.mid; |
| | | getSurveyTemplate(mid).then((response) => { |
| | | if (response.data.designId == null) { |
| | | |
| | | } else { |
| | | this.$router.push({ |
| | | query: { key:response.data.designId}, |
| | | }); |
| | | this.previewDialogVisible = true; |
| | | } |
| | | }) |
| | | if (response.data.designId == null) { |
| | | this.drawer = true; |
| | | getQuesByMid(mid) |
| | | .then((res) => { |
| | | res.data.sort( |
| | | (a, b) => |
| | | new Date(a.createTime).getTime() - |
| | | new Date(b.createTime).getTime() |
| | | ); //这是升序,倒序的话翻过来 |
| | | this.intList = res.data; |
| | | |
| | | }) |
| | | .catch((err) => { |
| | | // 通过catch捕获错误消息 |
| | | return err; |
| | | }); |
| | | } else { |
| | | this.$router.push({ |
| | | query: { key: response.data.designId }, |
| | | }); |
| | | this.previewDialogVisible = true; |
| | | } |
| | | }); |
| | | }, |
| | | handleClose() { |
| | | this.reload(); |
| | |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | this.reset(); |
| | | |
| | | const mid = row.mid || this.ids; |
| | | getSurveyTemplate(mid).then((response) => { |
| | | this.form = response.data; |
| | | if (response.data.tjSurveyTempQuesList.length >= 1) { |
| | | this.form.tjSurveyTempQuesList = response.data.tjSurveyTempQuesList; |
| | | } |
| | | if ( this.form.designId == null) { |
| | | this.DaTianYa = false; |
| | | this.title = "修改问卷模板"; |
| | | this.open = true; |
| | | } else { |
| | | this.DaTianYa = true; |
| | | this.form.formKey = this.form.designId; |
| | | this.form.type = 1; |
| | | this.toProjectHandle(this.form, "editor"); |
| | | } |
| | | if (this.form.designId == null) { |
| | | this.DaTianYa = false; |
| | | this.title = "修改问卷模板"; |
| | | this.open = true; |
| | | } else { |
| | | this.DaTianYa = true; |
| | | this.form.formKey = this.form.designId; |
| | | this.form.type = 1; |
| | | this.toProjectHandle(this.form, "editor"); |
| | | } |
| | | }); |
| | | }, |
| | | /** 提交按钮 */ |
| | |
| | | }); |
| | | } else { |
| | | addSurveyTemplate(this.form).then((response) => { |
| | | // this.$modal.msgSuccess("新增成功"); |
| | | this.toProjectHandle(response.data, "editor"); |
| | | if (this.DaTianYa == false) { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | } else { |
| | | this.toProjectHandle(response.data, "editor"); |
| | | } |
| | | |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | |
| | | getPieChart().then((response) => { |
| | | if (response.data) { |
| | | |
| | | if (response.data.tjdj.length === 0) { |
| | | if(response.data.tjdj == 0){ |
| | | this.PieChart = [] |
| | | this.PieChart = [ |
| | | { |
| | | "name": "体检登记人数分布", |
| | | "count": 1, |
| | | "value": 10 |
| | | }, |
| | | |
| | | ] |
| | | }else if (response.data.tjdj.length === 0) { |
| | | |
| | | this.PieChart = [] |
| | | this.PieChart = [ |
New file |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form |
| | | :model="objs" |
| | | :rules="rules" |
| | | ref="form" |
| | | size="small" |
| | | :inline="true" |
| | | label-width="100px" |
| | | > |
| | | <el-form-item label="单位名称" prop="drugManufacturerId"> |
| | | <el-select |
| | | :remote-method="getRemoteData" |
| | | v-model="objs.drugManufacturerId" |
| | | remote |
| | | filterable |
| | | style="width: 200px" |
| | | placeholder="请选择单位名称" |
| | | clearable |
| | | @clear="getCompanyList" |
| | | @change="idFn" |
| | | > |
| | | <el-option |
| | | v-for="dict in CompanyList" |
| | | :key="dict.cnName" |
| | | :label="dict.cnName" |
| | | :value="dict.drugManufacturerId" |
| | | /> |
| | | </el-select> |
| | | <i class="el-icon-circle-plus-outline" @click="handleAdd"></i> |
| | | </el-form-item> |
| | | <el-form-item label="部门" prop="dwDeptName"> |
| | | <el-select |
| | | v-model="objs.dwDeptName" |
| | | placeholder="请选择部门" |
| | | style="width: 200px" |
| | | clearable |
| | | @change="idBm" |
| | | > |
| | | <el-option |
| | | v-for="dict in deptList" |
| | | :key="dict.id" |
| | | :label="dict.dwDeptName" |
| | | :value="dict.id" |
| | | /> |
| | | </el-select> |
| | | <i class="el-icon-circle-plus-outline" @click="handleAddbumen"></i> |
| | | </el-form-item> |
| | | <el-form-item label="预约时间" prop="reservationTime"> |
| | | <el-date-picker |
| | | clearable |
| | | v-model="objs.reservationTime" |
| | | type="date" |
| | | format="yyyy-MM-dd" |
| | | value-format="yyyy-MM-dd" |
| | | style="width: 220px" |
| | | placeholder="请选择预约日期" |
| | | @change="selectTime" |
| | | :picker-options="setDisabled" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="handleQuery" |
| | | >搜索</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
| | | >重置</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8" style="margin: 5px 20px"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | class="btn" |
| | | icon="el-icon-thumb" |
| | | :disabled="isdisabled" |
| | | size="mini" |
| | | @click="submitForm" |
| | | > |
| | | 批量签到</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | class="btn" |
| | | icon="el-icon-thumb" |
| | | :disabled="isdisabled" |
| | | size="mini" |
| | | @click="submitForm" |
| | | > |
| | | 批量打印导检单</el-button |
| | | > |
| | | </el-col> |
| | | </el-row> |
| | | <div style="margin: 5px 20px; width: 94%"> |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="userList" |
| | | :summary-method="getSummaries" |
| | | show-summary |
| | | border |
| | | > |
| | | <el-table-column type="selection" width="55" align="center" fixed="left" /> |
| | | <el-table-column |
| | | label="单位名称" |
| | | align="center" |
| | | prop="company" |
| | | width="200" |
| | | /> |
| | | <el-table-column label="工号" align="center" prop="jobNo" width="80" /> |
| | | <el-table-column label="姓名" align="center" prop="name" width="75" /> |
| | | <el-table-column label="性别" align="center" prop="sex" width="75"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag |
| | | :options="dict.type.sys_user_sex" |
| | | :value="scope.row.sex" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="身份证号" |
| | | align="center" |
| | | prop="idCard" |
| | | width="200" |
| | | /> |
| | | <el-table-column label="年龄" align="center" prop="age" width="75" /> |
| | | <el-table-column |
| | | label="出生日期" |
| | | align="center" |
| | | prop="birthday" |
| | | width="100" |
| | | /> |
| | | <el-table-column label="职位" align="center" prop="position" /> |
| | | <el-table-column label="部门" align="center" prop="department" /> |
| | | <el-table-column label="部门编号" align="center" prop="departmentId" /> |
| | | <el-table-column |
| | | label="联系电话" |
| | | align="center" |
| | | prop="phoe" |
| | | width="120" |
| | | /> |
| | | <el-table-column label="地址" align="center" prop="address" /> |
| | | <el-table-column |
| | | label="婚姻状况" |
| | | align="center" |
| | | prop="marriage" |
| | | key="marriage" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag |
| | | :options="dict.type.dict_user_marry" |
| | | :value="scope.row.marriage" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="民族" align="center" prop="nation" key="nation"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag |
| | | :options="dict.type.dict_user_national" |
| | | :value="scope.row.nation" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="联系邮箱" align="center" prop="email" /> |
| | | <!-- <el-table-column label="体检类别" align="center" prop="tjCategory" /> --> |
| | | <el-table-column label="分组" align="center" prop="groupingName" /> |
| | | <el-table-column label="项目收费" align="center" prop="ysPrice" /> |
| | | </el-table> |
| | | </div> |
| | | |
| | | <!-- 添加或修改体检单位信息维护对话框 --> |
| | | <div class="dia"> |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="open" |
| | | width="1000px" |
| | | append-to-body |
| | | > |
| | | <el-form |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | label-width="100px" |
| | | :inline="true" |
| | | > |
| | | <el-form-item label="单位名称" prop="cnName"> |
| | | <el-input v-model="form.cnName" placeholder="请输入中文名称" /> |
| | | </el-form-item> |
| | | <el-form-item label="联系人" prop="contactPerson"> |
| | | <el-input v-model="form.contactPerson" placeholder="请输入联系人" /> |
| | | </el-form-item> |
| | | <el-form-item label="联系电话" prop="contactPhone"> |
| | | <el-input |
| | | v-model="form.contactPhone" |
| | | placeholder="请输入联系电话" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="税号" prop="taxNumber"> |
| | | <el-input v-model="form.taxNumber" placeholder="请输入税号" /> |
| | | </el-form-item> |
| | | <el-form-item label="法人" prop="legalPerson"> |
| | | <el-input v-model="form.legalPerson" placeholder="请输入法人" /> |
| | | </el-form-item> |
| | | <el-form-item label="注册地址" prop="registerAddress"> |
| | | <el-input |
| | | v-model="form.registerAddress" |
| | | placeholder="请输入注册地址" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="通讯地址" prop="mailingAddress"> |
| | | <el-input |
| | | v-model="form.mailingAddress" |
| | | placeholder="请输入通讯地址" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="开户银行" prop="bankAccount"> |
| | | <el-input v-model="form.bankAccount" placeholder="请输入开户银行" /> |
| | | </el-form-item> |
| | | <el-form-item label="银行账户" prop="countNum"> |
| | | <el-input v-model="form.countNum" placeholder="请输入银行账户" /> |
| | | </el-form-item> |
| | | <el-form-item label="邮箱" prop="email"> |
| | | <el-input v-model="form.email" placeholder="请输入邮箱" /> |
| | | </el-form-item> |
| | | <el-form-item label="负责人" prop="principal"> |
| | | <el-input v-model="form.principal" placeholder="请输入负责人" /> |
| | | </el-form-item> |
| | | <el-form-item label="网址" prop="url"> |
| | | <el-input v-model="form.url" placeholder="请输入网址" /> |
| | | </el-form-item> |
| | | <el-form-item label="传真" prop="faxNumber"> |
| | | <el-input v-model="form.faxNumber" placeholder="请输入传真" /> |
| | | </el-form-item> |
| | | <el-form-item label="行政区划名称" prop="areaName"> |
| | | <el-input |
| | | v-model="form.areaName" |
| | | placeholder="请输入行政区划名称" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="排序" prop="orderNum"> |
| | | <el-input v-model="form.orderNum" placeholder="请输入排序" /> |
| | | </el-form-item> |
| | | <el-form-item label="有效时间" prop="validTime"> |
| | | <el-date-picker |
| | | clearable |
| | | v-model="form.validTime" |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="请选择有效时间" |
| | | > |
| | | </el-date-picker> </el-form-item |
| | | ><br /> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input |
| | | v-model="form.remark" |
| | | type="textarea" |
| | | placeholder="请输入内容" |
| | | :rows="2" |
| | | label-width="400px" |
| | | style="width: 830px" |
| | | resize="none" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer2"> |
| | | <el-button type="primary" @click="submitFormS">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | |
| | | <!-- 添加或修改部门信息维护对话框 --> |
| | | <div class="dia"> |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="open1" |
| | | width="1000px" |
| | | append-to-body |
| | | > |
| | | <el-form |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | label-width="100px" |
| | | :inline="true" |
| | | > |
| | | <el-form-item label="单位名称" prop="drugManufacturerId"> |
| | | <el-select |
| | | :remote-method="getRemoteData" |
| | | v-model="objs.drugManufacturerId" |
| | | remote |
| | | filterable |
| | | style="width: 200px" |
| | | placeholder="请选择单位名称" |
| | | clearable |
| | | @clear="getCompanyList" |
| | | @change="idFn1" |
| | | > |
| | | <el-option |
| | | v-for="dict in CompanyList" |
| | | :key="dict.cnName" |
| | | :label="dict.cnName" |
| | | :value="dict.drugManufacturerId" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称" prop="dwDeptName"> |
| | | <el-input v-model="form.dwDeptName" placeholder="请输入部门名称" /> |
| | | </el-form-item> |
| | | <el-form-item label="签约金额" prop="signingPrice"> |
| | | <el-input |
| | | v-model="form.signingPrice" |
| | | placeholder="请输入签约金额" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer2"> |
| | | <el-button type="primary" @click="handleAddDept">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | addDept, |
| | | addComp, |
| | | Deptlist, |
| | | getDwAndDwDept, |
| | | newExcelImport, |
| | | } from "@/api/system/comp"; |
| | | import { newConfirm, getCompany, queryCompany } from "@/api/team/tuanti"; |
| | | import { getToken } from "@/utils/auth"; |
| | | |
| | | export default { |
| | | dicts: [ |
| | | "dict_user_national", |
| | | "dict_user_marry", |
| | | "sys_yes_no", |
| | | "sys_user_sex", |
| | | "reservation_pay_type", |
| | | "sys_normal_disable", |
| | | ], |
| | | |
| | | name: "Tijian", |
| | | data() { |
| | | let checkPhoneNum = (rule, value, callback) => { |
| | | console.log(value); |
| | | let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/); |
| | | if (value == "" && value == undefined && !value) { |
| | | return callback(""); |
| | | } else if (value != undefined && value != "") { |
| | | return callback(); |
| | | } else if (!patter.test(value)) { |
| | | return callback(""); |
| | | } |
| | | }; |
| | | return { |
| | | isdisabled: true, |
| | | setDisabled: { |
| | | // 返回禁用时间 |
| | | disabledDate(time) { |
| | | // return time.getTime() < Date.now()// 不可选历史天、不可选当前天、可选未来天 |
| | | return time.getTime() < Date.now() - 8.64e7; // 不可选历史天、可选当前天、可选未来天 |
| | | }, |
| | | }, |
| | | CompanyList: [], |
| | | tableData: [], // 表数据 |
| | | form: { |
| | | company: "", |
| | | payType: "", |
| | | name: "", |
| | | phoe: "", |
| | | signingPic: "", |
| | | discount: "", |
| | | }, |
| | | size: "", |
| | | creaseopen: false, |
| | | // 套餐提交按钮 |
| | | confirm: false, |
| | | TotalPrice: 0, |
| | | TotalPrice1: 0, |
| | | discount: 100, |
| | | deptList: [], |
| | | data: { |
| | | dwId: "", |
| | | dwDeptId: "", |
| | | dwName:"", |
| | | }, |
| | | |
| | | objs: { |
| | | drugManufacturerId: "", |
| | | dwDeptName: "", |
| | | reservationTime: "", |
| | | }, |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | |
| | | // 用户表格数据 |
| | | userList: null, |
| | | |
| | | // 查询参数 |
| | | queryParam: { |
| | | pageNum: 1, |
| | | pageSize: 10 |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | // 表单校验 |
| | | |
| | | rules: { |
| | | drugManufacturerId: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "change" }, |
| | | ], |
| | | reservationTime: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | dwDeptName: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "change" }, |
| | | ], |
| | | signingPic: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | contactPerson: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | contactPhone: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | taxNumber: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | legalPerson: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | registerAddress: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | bankAccount: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | countNum: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | principal: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | faxNumber: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | mailingAddress: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | email: [{ required: true, validator: checkPhoneNum, trigger: "blur" }], |
| | | pacName: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "change" }, |
| | | ], |
| | | payType: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "change" }, |
| | | ], |
| | | phoe: [ |
| | | { |
| | | required: true, |
| | | pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, |
| | | validator: checkPhoneNum, |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | |
| | | proPrice: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | createTime: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | cnName: [{ required: true, validator: checkPhoneNum, trigger: "blur" }], |
| | | businessLicenseNumber: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | createTime: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | updateTime: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | effective: [ |
| | | { |
| | | required: true, |
| | | validator: checkPhoneNum, |
| | | trigger: "change", |
| | | }, |
| | | ], |
| | | name: [{ required: true, validator: checkPhoneNum, trigger: "change" }], |
| | | contactPhone: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "change" }, |
| | | ], |
| | | }, |
| | | ListObj: {}, |
| | | // 遮罩层 |
| | | loading: true, |
| | | pacStatus: "启用", |
| | | |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | |
| | | // 总条数 |
| | | total: 0, |
| | | |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | open1: false, |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | cnName: null, |
| | | enName: null, |
| | | code: null, |
| | | }, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getCompanyList(); |
| | | }, |
| | | |
| | | watch: { |
| | | inputVal(newValue) { |
| | | if (newValue) { |
| | | this.searchData(true); |
| | | } else { |
| | | this.searchData(false); |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | handleQuery(){ |
| | | |
| | | }, |
| | | // 保存部门 |
| | | handleAddDept() { |
| | | let data = { |
| | | dwName: this.data.dwName, |
| | | dwId: this.data.dwId, |
| | | dwDeptName: this.form.dwDeptName, |
| | | signingPrice: this.form.signingPrice, |
| | | }; |
| | | addDept(data).then((response) => { |
| | | if (response.code == 200) { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open1 = false; |
| | | } |
| | | }); |
| | | }, |
| | | idFn(value) { |
| | | console.log(value); |
| | | if (value) { |
| | | this.data.dwId = value; |
| | | Deptlist(value).then((response) => { |
| | | this.deptList = response.data; |
| | | }); |
| | | } |
| | | }, |
| | | idFn1(value) { |
| | | console.log(value); |
| | | if (value) { |
| | | this.data.dwId = value; |
| | | this.CompanyList.forEach(item=>{ |
| | | console.log(item); |
| | | if(item.drugManufacturerId == this.data.dwId){ |
| | | this.data.dwName = item.cnName |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | idBm(value) { |
| | | this.data.dwDeptId = value; |
| | | }, |
| | | |
| | | getSummaries(param) { |
| | | const { columns, data } = param; |
| | | const sums = []; |
| | | columns.forEach((column, index) => { |
| | | if (index === 0) { |
| | | sums[index] = "合计"; |
| | | return; |
| | | } |
| | | if (index === 1) { |
| | | sums[index] = "总计人数"; |
| | | return; |
| | | } |
| | | if (index === 2) { |
| | | sums[index] = this.ListObj.count; |
| | | return; |
| | | } |
| | | if (index === 7) { |
| | | sums[index] = "男组人数"; |
| | | return; |
| | | } |
| | | if (index === 8) { |
| | | sums[index] = this.ListObj.manCount; |
| | | return; |
| | | } |
| | | if (index === 9) { |
| | | sums[index] = "男组金额"; |
| | | return; |
| | | } |
| | | if (index === 10) { |
| | | sums[index] = this.ListObj.manMoney; |
| | | return; |
| | | } |
| | | if (index === 12) { |
| | | sums[index] = "女组人数"; |
| | | return; |
| | | } |
| | | if (index === 13) { |
| | | sums[index] = this.ListObj.woManCount; |
| | | return; |
| | | } |
| | | if (index === 14) { |
| | | sums[index] = "女组金额"; |
| | | return; |
| | | } |
| | | if (index === 15) { |
| | | sums[index] = this.ListObj.woManMoney; |
| | | return; |
| | | } |
| | | if (index === 16) { |
| | | sums[index] = "合计金额"; |
| | | return; |
| | | } |
| | | if (index === 17) { |
| | | sums[index] = this.ListObj.hjMoney; |
| | | return; |
| | | } |
| | | }); |
| | | return sums; |
| | | }, |
| | | // 搜索 |
| | | getRemoteData(query) { |
| | | if (query) { |
| | | let compName = query; |
| | | queryCompany(compName).then((response) => { |
| | | this.CompanyList = response.data; |
| | | this.CompanyList.forEach((item) => { |
| | | this.objs = item; |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | // 获取单位信息集合 |
| | | getCompanyList() { |
| | | this.loading = true; |
| | | getCompany(this.queryParam).then((response) => { |
| | | this.CompanyList = response.data; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.open1 = false; |
| | | this.creaseopen = false; |
| | | this.reset(); |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.reset(); |
| | | this.open = true; |
| | | this.title = "添加体检单位信息维护"; |
| | | }, |
| | | /** 部门新增按钮操作 */ |
| | | handleAddbumen() { |
| | | this.reset(); |
| | | this.open1 = true; |
| | | this.title = "添加部门信息维护"; |
| | | }, |
| | | |
| | | /** 提交按钮 */ |
| | | submitFormS() { |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | addComp(this.form).then((response) => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open = false; |
| | | this.getCompanyList(); |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | | company: null, |
| | | payType: null, |
| | | name: null, |
| | | phoe: null, |
| | | signingPic: null, |
| | | pacStatus: "启用", |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.date = []; |
| | | this.objs.drugManufacturerId = ""; |
| | | this.objs.dwDeptName = ""; |
| | | this.objs.reservationTime = ""; |
| | | this.TotalPrice = ""; |
| | | this.tableData[0] = []; |
| | | this.TotalPrice1 = ""; |
| | | // this.resetForm("form"); |
| | | this.form = {}; |
| | | }, |
| | | |
| | | //获取时间 |
| | | selectTime(val) { |
| | | this.objs.reservationTime = val; |
| | | }, |
| | | |
| | | |
| | | /** 确认按钮 */ |
| | | submitForm() { |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | |
| | | <style> |
| | | .el-dialog:not(.is-fullscreen) { |
| | | margin-top: 6vh !important; |
| | | width: 600px; |
| | | } |
| | | |
| | | .upload-demo { |
| | | width: 100%; |
| | | } |
| | | |
| | | .el-icon-circle-plus-outline { |
| | | line-height: 20px; |
| | | font-size: 20px; |
| | | } |
| | | |
| | | .dia { |
| | | display: flex; |
| | | } |
| | | |
| | | .dialog-footer2 { |
| | | width: 960px; |
| | | height: 36px; |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .dialog-footer1 { |
| | | width: 860px; |
| | | height: 36px; |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | </style> |
| | | |
| | | |
| | |
| | | let cusSex = this.formIn.sex; |
| | | deptTreeSelect(cusSex).then((response) => { |
| | | this.newpacName = response.rows; |
| | | this.newpacName.forEach((item3) => { |
| | | this.tableData1.forEach((item4) => { |
| | | item4.list.forEach((item6) => { |
| | | if (item6.pacName === item3.pacName) { |
| | | this.$refs.tb.toggleRowSelection(item3, true); |
| | | throw Error(); |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | // this.newpacName.forEach((item3) => { |
| | | // this.tableData1.forEach((item4) => { |
| | | // item4.list.forEach((item6) => { |
| | | // if (item6.pacName === item3.pacName) { |
| | | // this.$refs.tb.toggleRowSelection(item3, true); |
| | | // throw Error(); |
| | | // } |
| | | // }); |
| | | // }); |
| | | // }); |
| | | this.loading = false; |
| | | }); |
| | | } else { |
| | | deptTreeSelect().then((response) => { |
| | | this.newpacName = response.rows; |
| | | this.newpacName.forEach((item3) => { |
| | | this.tableData1.forEach((item4) => { |
| | | item4.list.forEach((item6) => { |
| | | if (item6.pacName === item3.pacName) { |
| | | this.$nextTick(() => { |
| | | this.$refs.tb.toggleRowSelection(item3, true); |
| | | }); |
| | | throw Error(); |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | // this.newpacName.forEach((item3) => { |
| | | // this.tableData1.forEach((item4) => { |
| | | // item4.list.forEach((item6) => { |
| | | // if (item6.pacName === item3.pacName) { |
| | | // this.$nextTick(() => { |
| | | // this.$refs.tb.toggleRowSelection(item3, true); |
| | | // }); |
| | | // throw Error(); |
| | | // } |
| | | // }); |
| | | // }); |
| | | // }); |
| | | this.loading = false; |
| | | }); |
| | | } |
| | |
| | | } |
| | | }); |
| | | |
| | | /** 查询部门下拉树结构 */ |
| | | projectGetList().then((response) => { |
| | | this.treedataList = response.data.list; |
| | | this.dXData = response.data.list; |
| | | return; |
| | | }); |
| | | // /** 查询部门下拉树结构 */ |
| | | // projectGetList().then((response) => { |
| | | // this.treedataList = response.data.list; |
| | | // this.dXData = response.data.list; |
| | | // return; |
| | | // }); |
| | | } else { |
| | | this.$message.warning("已过期请重新预约"); |
| | | } |
New file |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form |
| | | :model="queryParams" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | v-show="showSearch" |
| | | label-width="68px" |
| | | > |
| | | <el-form-item label="姓名" prop="harmCode"> |
| | | <el-input |
| | | v-model="queryParams.harmCode" |
| | | placeholder="请输入编码" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="handleQuery" |
| | | >搜索</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
| | | >重置</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-refresh" |
| | | size="mini" |
| | | @click="handleExport" |
| | | :disabled="single" |
| | | v-hasPermi="['hosp:harmType:export']" |
| | | >恢复 |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="harmTypeList" |
| | | @selection-change="handleSelectionChange" |
| | | border |
| | | > |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="编码" align="center" prop="cusId" /> |
| | | <el-table-column label="姓名" align="center" prop="cusName" /> |
| | | <el-table-column label="性别" align="center" prop="cusSex"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.cusSex" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="电话号码" align="center" prop="cusPhone" /> |
| | | <el-table-column label="工作单位" align="center" prop="tjCompName" /> |
| | | <el-table-column label="创建人" align="center" prop="createBy" /> |
| | | <el-table-column label="创建时间" align="center" prop="createTime" /> |
| | | </el-table> |
| | | |
| | | <div class="pag"> |
| | | <div class="pag1"> |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getCustomerBlack, putCustomerBlack } from "@/api/system/blacklist"; |
| | | |
| | | export default { |
| | | dicts: ["sys_user_sex"], |
| | | name: "Blacklist", |
| | | data() { |
| | | let checkPhoneNum = (rule, value, callback) => { |
| | | console.log(value); |
| | | let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/); |
| | | if (value == "" && value == undefined && !value) { |
| | | return callback(""); |
| | | } else if (value != undefined && value != "") { |
| | | return callback(); |
| | | } else if (!patter.test(value)) { |
| | | return callback(""); |
| | | } |
| | | }; |
| | | return { |
| | | // 遮罩层 |
| | | loading: false, |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | | total: 0, |
| | | // 职业病表格数据 |
| | | harmTypeList: [], |
| | | selectionList: [], |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | harmpinyin: null, |
| | | harmtype: null, |
| | | sort: null, |
| | | harminfo: null, |
| | | externalcode: null, |
| | | harmcode: null, |
| | | type: null, |
| | | protection: null, |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | harmPinYin: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | |
| | | harmType: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | |
| | | protection: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | getList() { |
| | | getCustomerBlack().then((res) => { |
| | | this.harmTypeList = res.data; |
| | | }); |
| | | }, |
| | | |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | | aid: null, |
| | | harmpinyin: null, |
| | | harmtype: null, |
| | | sort: null, |
| | | harminfo: null, |
| | | externalcode: null, |
| | | harmcode: null, |
| | | type: null, |
| | | protection: null, |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.selectionList = selection; |
| | | this.ids = []; |
| | | this.ids = selection.map((item) => item.aid); |
| | | this.single = selection.length !== 1; |
| | | this.multiple = !selection.length; |
| | | }, |
| | | |
| | | handleAdd() {}, |
| | | |
| | | SelectionChange(selection) {}, |
| | | |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | | console.log(this.selectionList); |
| | | let data = { |
| | | days: -1, |
| | | cusId: this.selectionList[0].cusId, |
| | | id: this.selectionList[0].id, |
| | | }; |
| | | putCustomerBlack(data).then((res) => { |
| | | this.$modal.msgSuccess("已移出黑名单"); |
| | | this.getList(); |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | |
| | | <style> |
| | | .pag { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .pag1 { |
| | | width: 30%; |
| | | } |
| | | </style> |
| | | |
New file |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form |
| | | :model="queryParams" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | v-show="showSearch" |
| | | label-width="68px" |
| | | > |
| | | <el-form-item label="项目名称" prop="harmCode"> |
| | | <el-input |
| | | v-model="queryParams.harmCode" |
| | | placeholder="请输入项目名称" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="handleQuery" |
| | | >搜索</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
| | | >重置</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | >新增 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | >修改 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-refresh" |
| | | size="mini" |
| | | @click="handleDelete1" |
| | | v-hasPermi="['hosp:harmType:export']" |
| | | >删除 |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="harmTypeList" |
| | | @selection-change="handleSelectionChange" |
| | | border |
| | | > |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="项目名称" align="center" prop="" /> |
| | | <el-table-column label="最低值" align="center" prop="" /> |
| | | <el-table-column label="最高值" align="center" prop="" /> |
| | | <el-table-column label="单位" align="center" prop="" /> |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | class-name="small-padding fixed-width" |
| | | fixed="right" |
| | | width="80px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['catering:catering:edit']" |
| | | title="修改" |
| | | > |
| | | </el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete1(scope.row)" |
| | | v-hasPermi="['catering:catering:remove']" |
| | | title="删除" |
| | | > |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pag"> |
| | | <div class="pag1"> |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { listHarmType, delHarmType } from "@/api/hosp/harmType"; |
| | | |
| | | export default { |
| | | name: "HarmType", |
| | | data() { |
| | | let checkPhoneNum = (rule, value, callback) => { |
| | | console.log(value); |
| | | let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/); |
| | | if (value == "" && value == undefined && !value) { |
| | | return callback(""); |
| | | } else if (value != undefined && value != "") { |
| | | return callback(); |
| | | } else if (!patter.test(value)) { |
| | | return callback(""); |
| | | } |
| | | }; |
| | | return { |
| | | // 遮罩层 |
| | | loading: false, |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | | total: 0, |
| | | // 职业病表格数据 |
| | | harmTypeList: [], |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | harmpinyin: null, |
| | | harmtype: null, |
| | | sort: null, |
| | | harminfo: null, |
| | | externalcode: null, |
| | | harmcode: null, |
| | | type: null, |
| | | protection: null, |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | harmPinYin: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | |
| | | harmType: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | |
| | | protection: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | created() {}, |
| | | methods: { |
| | | getList() {}, |
| | | handleDelete1() {}, |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | | aid: null, |
| | | harmpinyin: null, |
| | | harmtype: null, |
| | | sort: null, |
| | | harminfo: null, |
| | | externalcode: null, |
| | | harmcode: null, |
| | | type: null, |
| | | protection: null, |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = []; |
| | | this.ids = selection.map((item) => item.aid); |
| | | this.single = selection.length !== 1; |
| | | this.multiple = !selection.length; |
| | | }, |
| | | |
| | | handleAdd() {}, |
| | | |
| | | SelectionChange(selection) {}, |
| | | |
| | | /** 导出按钮操作 */ |
| | | handleExport() {}, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | |
| | | <style> |
| | | .pag { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .pag1 { |
| | | width: 30%; |
| | | } |
| | | </style> |
| | | |
| | |
| | | <el-button type="primary" size="mini" :disabled="multiple" @click="jiankangReport">健康检查表打印</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" size="mini" :disabled="multiple" @click="jiankangReport">批量体检报告导出</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" size="mini" :disabled="single" @click="baogaoyulan">报告预览</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | |
| | | </label> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <el-button type="primary" size="mini" @click="tijiao" |
| | | <el-button type="primary" size="mini" @click="tijiao" |
| | | >提交</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | <div v-if="wenjuan == false"> |
| | | <Write :forms="formss" @fMethod="fatherSub"></Write> |
| | |
| | | getNewDateList, |
| | | getRecordByTjNumber, |
| | | listFormFieldsRequest, |
| | | listFormDataTableRequest, |
| | | listFormDataTableRequest,getTjrWnJuanMoBan |
| | | } from "@/api/hosp/order"; |
| | | import { addSurveyRecord } from "@/api/hosp/surveyRecord"; |
| | | import { listEmer, getDictEmerList } from "@/api/system/emer"; |
| | |
| | | investigation(row) { |
| | | this.gation = row; |
| | | this.formss.tjNumber = this.gation.tjNumber; |
| | | let mid = "22"; |
| | | printCode(mid).then((response) => { |
| | | let tjCategory = this.gation.tjCategory; |
| | | getTjrWnJuanMoBan(tjCategory).then((response) => { |
| | | console.log(response) |
| | | if (response.data) { |
| | | this.intList = response.data; |
| | | this.wenjuan = true; |
| | |
| | | } |
| | | |
| | | .drawer1 { |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: space-evenly; |
| | | align-items: flex-start; |
| | | // display: flex; |
| | | // flex-direction: row; |
| | | // justify-content: space-evenly; |
| | | // align-items: flex-start; |
| | | padding: 10px 20px; |
| | | } |
| | | .mx { |
| | |
| | | </script> |
| | | |
| | | <style> |
| | | #sig .el-table__header-wrapper .el-checkbox { |
| | | /* #sig .el-table__header-wrapper .el-checkbox { |
| | | display: none; |
| | | } |
| | | } */ |
| | | </style> |
| | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="17"> |
| | | <div class="grid-content bg-purple"> |
| | | <el-form :inline="true" ref="form" :model="form" :rules="rules" :label-position="labelPosition" |
| | | label-width="106px" v-show="top"> |
| | | |
| | | <el-form |
| | | :inline="true" |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | :label-position="labelPosition" |
| | | label-width="106px" |
| | | v-show="top" |
| | | > |
| | | <el-form-item label="匿名" prop="isNow"> |
| | | <el-select v-model="isNow" placeholder="是否匿名" @change="freezing(isNow)"> |
| | | <el-option v-for="dict in dictType" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | v-model="isNow" |
| | | placeholder="是否匿名" |
| | | @change="freezing(isNow)" |
| | | > |
| | | <el-option |
| | | v-for="dict in dictType" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="姓名" prop="cusName" :rules="[ |
| | | { |
| | | required: true, validator: (rule, value, callback) => { |
| | | if (!form.cusName) { |
| | | callback('') |
| | | } else if (form.cusName) { |
| | | callback() |
| | | } |
| | | |
| | | }, trigger: 'blur' |
| | | }]"> |
| | | <el-input v-model="form.cusName" placeholder="请输入姓名" :disabled="isDisabled" /> |
| | | <el-form-item |
| | | label="姓名" |
| | | prop="cusName" |
| | | :rules="[ |
| | | { |
| | | required: true, |
| | | validator: (rule, value, callback) => { |
| | | if (!form.cusName) { |
| | | callback(''); |
| | | } else if (form.cusName) { |
| | | callback(); |
| | | } |
| | | }, |
| | | trigger: 'blur', |
| | | }, |
| | | ]" |
| | | > |
| | | <el-input |
| | | v-model="form.cusName" |
| | | placeholder="请输入姓名" |
| | | :disabled="isDisabled" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="证件类型" prop="idType"> |
| | | <el-select :disabled="isDisabled" v-model="form.idType" placeholder="请选择证件类型"> |
| | | <el-option v-for="dict in dict.type.dict_user_cardtype" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | :disabled="isDisabled" |
| | | v-model="form.idType" |
| | | placeholder="请选择证件类型" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_user_cardtype" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="民族" prop="cusNational"> |
| | | <el-select filterable :disabled="isDisabled" v-model="form.cusNational" placeholder="请选择民族"> |
| | | <el-option v-for="dict in dict.type.dict_user_national" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | filterable |
| | | :disabled="isDisabled" |
| | | v-model="form.cusNational" |
| | | placeholder="请选择民族" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_user_national" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="性别" prop="cusSex" :rules="[ |
| | | { |
| | | required: true, validator: (rule, value, callback) => { |
| | | if (!form.cusSex && showHidden.has_sex === 'Y') { |
| | | callback('') |
| | | } else if (showHidden.has_sex === 'N') { |
| | | callback() |
| | | } else if (form.cusSex && showHidden.has_sex === 'Y') { |
| | | callback() |
| | | } |
| | | |
| | | }, trigger: 'blur' |
| | | }]"> |
| | | <el-select :disabled="isDisabled" v-model="form.cusSex" placeholder="性别"> |
| | | <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" |
| | | :value="parseInt(dict.value)"></el-option> |
| | | <el-form-item |
| | | label="性别" |
| | | prop="cusSex" |
| | | :rules="[ |
| | | { |
| | | required: true, |
| | | validator: (rule, value, callback) => { |
| | | if (!form.cusSex && showHidden.has_sex === 'Y') { |
| | | callback(''); |
| | | } else if (showHidden.has_sex === 'N') { |
| | | callback(); |
| | | } else if (form.cusSex && showHidden.has_sex === 'Y') { |
| | | callback(); |
| | | } |
| | | }, |
| | | trigger: 'blur', |
| | | }, |
| | | ]" |
| | | > |
| | | <el-select |
| | | :disabled="isDisabled" |
| | | v-model="form.cusSex" |
| | | placeholder="性别" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_user_sex" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="parseInt(dict.value)" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="证件号" prop="cusIdcard" :rules="[ |
| | | { |
| | | required: true, validator: (rule, value, callback) => { |
| | | if (!form.cusIdcard && showHidden.has_idcard === 'Y') { |
| | | callback('') |
| | | } else if (showHidden.has_idcard === 'N') { |
| | | callback() |
| | | } else if (form.cusIdcard && showHidden.has_idcard === 'Y') { |
| | | callback() |
| | | } |
| | | |
| | | }, trigger: 'blur' |
| | | }]"> |
| | | <span slot="label" style="display:inline-block;border-bottom: 2px solid blue;" @click="handleQuery"> |
| | | <el-form-item |
| | | label="证件号" |
| | | prop="cusIdcard" |
| | | :rules="[ |
| | | { |
| | | required: true, |
| | | validator: (rule, value, callback) => { |
| | | if (!form.cusIdcard && showHidden.has_idcard === 'Y') { |
| | | callback(''); |
| | | } else if (showHidden.has_idcard === 'N') { |
| | | callback(); |
| | | } else if ( |
| | | form.cusIdcard && |
| | | showHidden.has_idcard === 'Y' |
| | | ) { |
| | | callback(); |
| | | } |
| | | }, |
| | | trigger: 'blur', |
| | | }, |
| | | ]" |
| | | > |
| | | <span |
| | | slot="label" |
| | | style="display: inline-block; border-bottom: 2px solid blue" |
| | | @click="handleQuery" |
| | | > |
| | | 证件号 |
| | | </span> |
| | | <el-input :disabled="isDisabled" v-model="form.cusIdcard" placeholder="请输入身份证号" @input="inputChange" /> |
| | | <el-input |
| | | :disabled="isDisabled" |
| | | v-model="form.cusIdcard" |
| | | placeholder="请输入身份证号" |
| | | @input="inputChange" |
| | | /> |
| | | <!-- <i style=" |
| | | font-size: 1rem; |
| | | position: absolute; |
| | |
| | | " class="el-icon-search" @click="handleQuery"></i> --> |
| | | </el-form-item> |
| | | |
| | | |
| | | |
| | | <el-form-item label="婚姻" prop="cusMarryStatus"> |
| | | <el-select :disabled="isDisabled" v-model="form.cusMarryStatus" placeholder="婚姻状况"> |
| | | <el-option v-for="dict in dict.type.dict_user_marry" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | :disabled="isDisabled" |
| | | v-model="form.cusMarryStatus" |
| | | placeholder="婚姻状况" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_user_marry" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="电话" prop="cusPhone" :rules="[ |
| | | { |
| | | required: true, validator: (rule, value, callback) => { |
| | | if (!form.cusPhone && showHidden.is_phone === 'Y') { |
| | | callback('') |
| | | } else if (showHidden.is_phone === 'N') { |
| | | callback() |
| | | } else if (form.cusPhone && showHidden.is_phone === 'Y') { |
| | | callback() |
| | | } |
| | | |
| | | }, trigger: 'blur' |
| | | }]"> |
| | | <el-input v-model="form.cusPhone" placeholder="请输入联系电话" :disabled="isDisabled" /> |
| | | <el-form-item |
| | | label="电话" |
| | | prop="cusPhone" |
| | | :rules="[ |
| | | { |
| | | required: true, |
| | | validator: (rule, value, callback) => { |
| | | if (!form.cusPhone && showHidden.is_phone === 'Y') { |
| | | callback(''); |
| | | } else if (showHidden.is_phone === 'N') { |
| | | callback(); |
| | | } else if (form.cusPhone && showHidden.is_phone === 'Y') { |
| | | callback(); |
| | | } |
| | | }, |
| | | trigger: 'blur', |
| | | }, |
| | | ]" |
| | | > |
| | | <el-input |
| | | v-model="form.cusPhone" |
| | | placeholder="请输入联系电话" |
| | | :disabled="isDisabled" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="出生日期" prop="cusBrithday"> |
| | | <el-date-picker :disabled="isDisabled" clearable v-model="form.cusBrithday" type="date" |
| | | value-format="yyyy-MM-dd" placeholder="请选择出生日期"> |
| | | <el-date-picker |
| | | :disabled="isDisabled" |
| | | clearable |
| | | v-model="form.cusBrithday" |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="请选择出生日期" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="职业" prop="career"> |
| | | <el-select filterable :disabled="isDisabled" v-model="form.career" placeholder="请输入职业"> |
| | | <el-option v-for="dict in dict.type.dict_job" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | filterable |
| | | :disabled="isDisabled" |
| | | v-model="form.career" |
| | | placeholder="请输入职业" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_job" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="邮箱" prop="cusEmail"> |
| | | <el-input v-model="form.cusEmail" placeholder="请输入邮箱" :disabled="isDisabled" /> |
| | | <el-input |
| | | v-model="form.cusEmail" |
| | | placeholder="请输入邮箱" |
| | | :disabled="isDisabled" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="年龄 " prop="age"> |
| | | <el-input v-model="form.age" :disabled="isDisabled" style="width: 30%" /> |
| | | <el-select :disabled="isDisabled" v-model="form.ageUnit" style="width: 21%"> |
| | | <el-option v-for="dict in dict.type.dict_ageunit" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-input |
| | | v-model="form.age" |
| | | :disabled="isDisabled" |
| | | style="width: 30%" |
| | | /> |
| | | <el-select |
| | | :disabled="isDisabled" |
| | | v-model="form.ageUnit" |
| | | style="width: 21%" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_ageunit" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | |
| | | |
| | | </el-form-item> --> |
| | | </el-form> |
| | | <el-form ref="form" :model="form" :rules="rules" :label-position="labelPosition" label-width="106px" |
| | | v-show="top"> |
| | | <el-form |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | :label-position="labelPosition" |
| | | label-width="106px" |
| | | v-show="top" |
| | | > |
| | | <el-row :gutter="21"> |
| | | <el-col :span="19"> |
| | | <el-form-item label="户口地址" prop="addr"> |
| | | <el-input v-model="form.addr" placeholder="请输入户口地址" :disabled="isDisabled" /> |
| | | <el-input |
| | | v-model="form.addr" |
| | | placeholder="请输入户口地址" |
| | | :disabled="isDisabled" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | |
| | | <el-form ref="form" :model="form" :rules="rules" :label-position="labelPosition" label-width="106px" |
| | | v-show="top"> |
| | | <el-form |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | :label-position="labelPosition" |
| | | label-width="106px" |
| | | v-show="top" |
| | | > |
| | | <el-row :gutter="21"> |
| | | <el-col :span="19"> |
| | | <el-form-item label="现住址" prop="cusAddr"> |
| | | <el-input v-model="form.cusAddr" placeholder="请输入现居住地址" :disabled="isDisabled" /> |
| | | <el-input |
| | | v-model="form.cusAddr" |
| | | placeholder="请输入现居住地址" |
| | | :disabled="isDisabled" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-form :inline="true" ref="form" :model="form" :rules="rules" :label-position="labelPosition" |
| | | label-width="106px" v-show="top"> |
| | | <el-form |
| | | :inline="true" |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | :label-position="labelPosition" |
| | | label-width="106px" |
| | | v-show="top" |
| | | > |
| | | <el-form-item label="介绍人" prop="cusIntroduce"> |
| | | <el-input :disabled="isDisabled" v-model="form.cusIntroduce" placeholder="请输入介绍人" /> |
| | | <el-input |
| | | :disabled="isDisabled" |
| | | v-model="form.cusIntroduce" |
| | | placeholder="请输入介绍人" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="工作单位" prop="company"> |
| | | <el-input :disabled="isDisabled" v-model="form.company" placeholder="请输入工作单位" /> |
| | | <el-input |
| | | :disabled="isDisabled" |
| | | v-model="form.company" |
| | | placeholder="请输入工作单位" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="文化程度" prop="wenHua"> |
| | | <el-input :disabled="isDisabled" v-model="form.wenHua" placeholder="请输入文化程度" /> |
| | | <el-input |
| | | :disabled="isDisabled" |
| | | v-model="form.wenHua" |
| | | placeholder="请输入文化程度" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row v-show="top"> |
| | | <el-col :span="19"> |
| | | <div style="float: right;margin-bottom: 10px;"> |
| | | <el-button v-show="lishi" type="primary" @click="cope" size="mini">一键复制</el-button> |
| | | <el-button type="primary" @click="inputChanges" v-show="lishi" size="mini" |
| | | :disabled="confirm">历史体检记录</el-button> |
| | | <el-button :disabled="isDisabled" type="primary" size="mini" @click="submitForm">登记</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" @queryTable="getList">重置</el-button> |
| | | <div style="float: right; margin-bottom: 10px"> |
| | | <el-button |
| | | v-show="lishi" |
| | | type="primary" |
| | | @click="cope" |
| | | size="mini" |
| | | >一键复制</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | @click="inputChanges" |
| | | v-show="lishi" |
| | | size="mini" |
| | | :disabled="confirm" |
| | | >历史体检记录</el-button |
| | | > |
| | | <el-button |
| | | :disabled="isDisabled" |
| | | type="primary" |
| | | size="mini" |
| | | @click="submitForm" |
| | | >登记</el-button |
| | | > |
| | | <el-button |
| | | icon="el-icon-refresh" |
| | | size="mini" |
| | | @click="resetQuery" |
| | | @queryTable="getList" |
| | | >重置</el-button |
| | | > |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </el-col> |
| | | <el-col :span="7" v-show="top"> |
| | | <div class="content" v-show="showHidden.mall_hasPhoto == 'Y'"> |
| | | <div v-show="hide" style=" |
| | | border: 1px dashed #dcdfe6; |
| | | width: 180px; |
| | | height: 180px; |
| | | "> |
| | | <div |
| | | v-show="hide" |
| | | style="border: 1px dashed #dcdfe6; width: 180px; height: 180px" |
| | | > |
| | | <img v-if="imageUrl" :src="imageUrl" class="avatar" /> |
| | | </div> |
| | | <div v-if="imgSrc" class="img_bg_camera"> |
| | | <img style=" |
| | | <img |
| | | style=" |
| | | width: 200px; |
| | | height: 200px; |
| | | margin-left: -20px; |
| | | margin-top: 90px; |
| | | padding-top: 1px; |
| | | " :src="imgSrc" alt="" class="tx_img" /> |
| | | " |
| | | :src="imgSrc" |
| | | alt="" |
| | | class="tx_img" |
| | | /> |
| | | </div> |
| | | <video v-show="hides" id="videoCamera" :width="videoWidth" :height="videoHeight" autoplay |
| | | style="margin-top: 1px"></video> |
| | | <canvas style="display: none" id="canvasCamera" :width="videoWidth" :height="videoHeight"></canvas> |
| | | <video |
| | | v-show="hides" |
| | | id="videoCamera" |
| | | :width="videoWidth" |
| | | :height="videoHeight" |
| | | autoplay |
| | | style="margin-top: 1px" |
| | | ></video> |
| | | <canvas |
| | | style="display: none" |
| | | id="canvasCamera" |
| | | :width="videoWidth" |
| | | :height="videoHeight" |
| | | ></canvas> |
| | | <div class="camera_outer" style="margin-top: 10px"> |
| | | <el-button type="primary" plain size="mini" @click="getCompetence()">打开摄像头</el-button> |
| | | <el-button type="primary" plain size="mini" @click="setImage()">拍照</el-button><br /> |
| | | <el-button type="primary" plain size="mini" @click="getCompetence()" |
| | | >打开摄像头</el-button |
| | | > |
| | | <el-button type="primary" plain size="mini" @click="setImage()" |
| | | >拍照</el-button |
| | | ><br /> |
| | | </div> |
| | | </div> |
| | | |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-dialog title="选择套餐" :visible.sync="taocan" width="50%" height="700px"> |
| | | <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" @tab-click="handleClick"> |
| | | <el-dialog |
| | | title="选择套餐" |
| | | :visible.sync="taocan" |
| | | width="50%" |
| | | height="700px" |
| | | > |
| | | <el-tabs |
| | | type="border-card" |
| | | style="height: 560px; margin: 0 10px; width: 100%" |
| | | @tab-click="handleClick" |
| | | > |
| | | <el-tab-pane label="套餐"> |
| | | <el-form :model="queryParam" ref="queryForm" size="small" :inline="true" v-if="showSearch" |
| | | label-width="auto"> |
| | | <el-form |
| | | :model="queryParam" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | v-if="showSearch" |
| | | label-width="auto" |
| | | > |
| | | <el-form-item label="套餐名称" prop="pacName"> |
| | | <el-input v-model="queryParam.pacName" placeholder="请输入套餐名称" clearable @keyup.enter.native="handle" /> |
| | | <el-input |
| | | v-model="queryParam.pacName" |
| | | placeholder="请输入套餐名称" |
| | | clearable |
| | | @keyup.enter.native="handle" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handle">查询</el-button> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="handle" |
| | | >查询</el-button |
| | | > |
| | | <!-- <el-button type="primary" size="mini" @click="submit">确认</el-button> --> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div class="tab4"> |
| | | <div class="grid-content bg-purple" style="margin-left: 5px; width: 98%"> |
| | | <el-table v-loading="loading" element-loading-text="正在加载中..." element-loading-spinner="el-icon-loading" |
| | | border :data="newpacName" @selection-change="handleSelectionChange" height="450px" ref="tb" |
| | | style="width: 850px"> |
| | | <el-table-column type="selection" width="40px" align="center" label="选择" /> |
| | | <el-table-column label="套餐名称" align="center" prop="pacName" width="120px" /> |
| | | <el-table-column label="套餐价格" align="center" prop="price" width="120px" /> |
| | | <el-table-column label="套餐明细" align="center" prop="allProName" :show-overflow-tooltip="true" /> |
| | | <div |
| | | class="grid-content bg-purple" |
| | | style="margin-left: 5px; width: 98%" |
| | | > |
| | | <el-table |
| | | v-loading="loading" |
| | | element-loading-text="正在加载中..." |
| | | element-loading-spinner="el-icon-loading" |
| | | border |
| | | :data="newpacName" |
| | | @selection-change="handleSelectionChange" |
| | | height="450px" |
| | | ref="tb" |
| | | style="width: 850px" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="40px" |
| | | align="center" |
| | | label="选择" |
| | | /> |
| | | <el-table-column |
| | | label="套餐名称" |
| | | align="center" |
| | | prop="pacName" |
| | | width="120px" |
| | | /> |
| | | <el-table-column |
| | | label="套餐价格" |
| | | align="center" |
| | | prop="price" |
| | | width="120px" |
| | | /> |
| | | <el-table-column |
| | | label="套餐明细" |
| | | align="center" |
| | | prop="allProName" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <!-- :selectable="checkSelectable" --> |
| | | <!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | |
| | | @check-change="handleCurrentChecked"> |
| | | </el-tree> --> |
| | | <!-- </div> --> |
| | | <el-row :gutter="20"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6"> |
| | | <div |
| | | style=" |
| | |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <div class="grid-content bg-purple"> |
| | | <div style="text-align: center; margin-bottom: 10px;margin-top: 10px"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | margin-bottom: 10px; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | 已选项目列表 |
| | | </div> |
| | | <el-table |
| | | :data="DataList" |
| | | border |
| | | style="width: 100%" |
| | | height="400" :span-method="objectSpanMethod" |
| | | height="400" |
| | | :span-method="objectSpanMethod" |
| | | > |
| | | <el-table-column prop="propinName" label="检查项目"> |
| | | </el-table-column> |
| | |
| | | <el-collapse v-model="activeName" accordion v-if="list1"> |
| | | <div> |
| | | <el-collapse-item title="请选择项目"> |
| | | <el-table :data="DataList" border style="width: 100%" height="400" :span-method="objectSpanMethod"> |
| | | <el-table |
| | | :data="DataList" |
| | | border |
| | | style="width: 100%" |
| | | height="400" |
| | | :span-method="objectSpanMethod" |
| | | > |
| | | <el-table-column |
| | | prop="proName" |
| | | label="项目" |
| | |
| | | <el-button type="primary" @click="submit">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- --> |
| | | <el-row v-if="tcShow" > |
| | | <!-- --> |
| | | <el-row v-if="tcShow"> |
| | | <el-col :span="15"> |
| | | <div class="grid-content bg-purple"> |
| | | <!-- <el-table :data="fData" border height="220px" style="width: 100%; "> |
| | |
| | | </div> --> |
| | | |
| | | <template> |
| | | |
| | | <el-form :model="form" :inline="true" label-width="75px" style="margin-left: 20px;"> |
| | | <el-form |
| | | :model="form" |
| | | :inline="true" |
| | | label-width="75px" |
| | | style="margin-left: 20px" |
| | | > |
| | | <el-form-item label="体检类型"> |
| | | <el-select style="width:150px" v-model="form.tjType" placeholder="请选择体检类型"> |
| | | <el-option v-for="dict in dict.type.dict_team" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | style="width: 150px" |
| | | v-model="form.tjType" |
| | | placeholder="请选择体检类型" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_team" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <!-- <div class="tab1"> --> |
| | | <!-- <el-form :inline="true" class="tab1"> --> |
| | | <el-form-item label="应收金额"> |
| | | <el-input placeholder="应收金额" v-model="TotalPrice1" disabled style="width: 150px"></el-input> |
| | | <el-input |
| | | placeholder="应收金额" |
| | | v-model="TotalPrice1" |
| | | disabled |
| | | style="width: 150px" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="优惠"> |
| | | <!-- <el-input style="width: 100px" type="number" v-model="discount" :value="discount"></el-input> --> |
| | | <el-input-number ref="inputNumber" style="width: 150px" v-model="discount" :precision="2" :step="0.1" |
| | | :max="10" :min="1" @change="numberChange" :disabled="isfalse"></el-input-number> |
| | | <el-input-number |
| | | ref="inputNumber" |
| | | style="width: 150px" |
| | | v-model="discount" |
| | | :precision="2" |
| | | :step="0.1" |
| | | :max="10" |
| | | :min="1" |
| | | @change="numberChange" |
| | | :disabled="isfalse" |
| | | ></el-input-number> |
| | | </el-form-item> |
| | | <el-form-item label="实收金额"> |
| | | <el-input placeholder="实收金额" v-model="TotalPrice" style="width: 150px"></el-input> |
| | | <el-input |
| | | placeholder="实收金额" |
| | | v-model="TotalPrice" |
| | | style="width: 150px" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <br/> |
| | | <br /> |
| | | <!-- 140828199805050012 --> |
| | | <el-form-item label="领取方式"> |
| | | <!-- <el-input style="width: 100%;" v-model="form.getType" placeholder="请选择领取方式" /> --> |
| | | <el-select v-model="getType" style="width: 150px" @change="getmailType"> |
| | | <el-option v-for="dict in dict.type.report_get_type" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | v-model="getType" |
| | | style="width: 150px" |
| | | @change="getmailType" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.report_get_type" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="体检类别"> |
| | | <el-select style="width: 150px" v-model="tjCategory" placeholder="请选择体检类别"> |
| | | <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | style="width: 150px" |
| | | v-model="tjCategory" |
| | | placeholder="请选择体检类别" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_tjtype" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | <!-- <el-input v-model="form.category" placeholder="请输入体检类别" /> --> |
| | | </el-form-item> |
| | | |
| | | <el-form-item style="margin-left:269px ;"> |
| | | <el-button type="primary" @click="Package" size="mini" style="margin-right:20px ;">选择套餐</el-button> |
| | | <el-button type="primary" @click="submitPrice" :disabled="confirm" v-if="showHidden.has_charge == 'N'" |
| | | size="mini">签到登记</el-button> |
| | | <el-button type="primary" @click="submitCheckinfee" :disabled="confirm" |
| | | v-if="showHidden.has_charge == 'Y'" size="mini">登记收费</el-button> |
| | | |
| | | <el-form-item style="margin-left: 269px"> |
| | | <el-button |
| | | type="primary" |
| | | @click="Package" |
| | | size="mini" |
| | | style="margin-right: 20px" |
| | | >选择套餐</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | @click="submitPrice" |
| | | :disabled="confirm" |
| | | v-if="showHidden.has_charge == 'N'" |
| | | size="mini" |
| | | >签到登记</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | @click="submitCheckinfee" |
| | | :disabled="confirm" |
| | | v-if="showHidden.has_charge == 'Y'" |
| | | size="mini" |
| | | >登记收费</el-button |
| | | > |
| | | </el-form-item> |
| | | <!-- </el-form> --> |
| | | <!-- </div> --> |
| | | </el-form> |
| | | </template> |
| | | |
| | | <el-dialog title="邮寄" :visible.sync="malldisble" :close-on-click-modal="false"> |
| | | <el-form :model="addAddress" :rules="rules" label-width="78px" style="margin-left: 7px"> |
| | | <el-dialog |
| | | title="邮寄" |
| | | :visible.sync="malldisble" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <el-form |
| | | :model="addAddress" |
| | | :rules="rules" |
| | | label-width="78px" |
| | | style="margin-left: 7px" |
| | | > |
| | | <el-form-item label="姓名"> |
| | | <el-input placeholder="姓名" v-model="addAddress.getUser"></el-input> |
| | | <el-input |
| | | placeholder="姓名" |
| | | v-model="addAddress.getUser" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="电话"> |
| | | <el-input placeholder="电话" v-model="addAddress.phone"></el-input> |
| | | <el-input |
| | | placeholder="电话" |
| | | v-model="addAddress.phone" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="地址"> |
| | | <el-input placeholder="地址" v-model="addAddress.address"></el-input> |
| | | <el-input |
| | | placeholder="地址" |
| | | v-model="addAddress.address" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | |
| | | <div style="text-align: center; margin-bottom: 10px"> |
| | | 已选项目列表 |
| | | </div> |
| | | <div style=" |
| | | <div |
| | | style=" |
| | | padding: 0px 6px; |
| | | border: 1px solid #e6ebf5; |
| | | max-height: 420px; |
| | | overflow: auto; |
| | | width: 916px; |
| | | margin-left: 35px; |
| | | "> |
| | | " |
| | | > |
| | | <el-collapse v-model="index" accordion v-if="list3"> |
| | | <div class="info1" v-for="(item, index) in tableData1" :key="'info1-' + index"> |
| | | <div |
| | | class="info1" |
| | | v-for="(item, index) in tableData1" |
| | | :key="'info1-' + index" |
| | | > |
| | | <el-collapse-item :name="index"> |
| | | <template slot="title"> |
| | | {{ |
| | | item.pacName + |
| | | ":" + |
| | | item.parentName + |
| | | " (应收金额:" + |
| | | item.ordPrice + |
| | | "元 / 实收金额:" + |
| | | item.nowPrice + |
| | | "元)" |
| | | }} |
| | | item.pacName + |
| | | ":" + |
| | | item.parentName + |
| | | " (应收金额:" + |
| | | item.ordPrice + |
| | | "元 / 实收金额:" + |
| | | item.nowPrice + |
| | | "元)" |
| | | }} |
| | | </template> |
| | | <el-table :data="item.list" border style="width: 100%" height="270"> |
| | | <el-table |
| | | :data="item.list" |
| | | border |
| | | style="width: 100%" |
| | | height="270" |
| | | > |
| | | <el-table-column prop="proName" label="项目" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="proType" label="性别" width="180"> |
| | | <template slot-scope="scope" v-if="scope.row.proType == ''"> |
| | | <template |
| | | slot-scope="scope" |
| | | v-if="scope.row.proType == ''" |
| | | > |
| | | {{ scope.row.proType == "" ? "全部" : "" }} |
| | | </template> |
| | | <template slot-scope="scope" v-else> |
| | | <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.proType" /> |
| | | <dict-tag |
| | | :options="dict.type.sys_user_sex" |
| | | :value="scope.row.proType" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="ordPrice" label="应收金额"> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="proCheckMethod" label="是否空腹"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.proCheckMethod" /> |
| | | <dict-tag |
| | | :options="dict.type.sys_yes_no" |
| | | :value="scope.row.proCheckMethod" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </el-collapse> |
| | | |
| | | <div v-if="list2 == true"> |
| | | <el-table :data="tableData1" border style="width: 100%" height="250"> |
| | | <el-table |
| | | :data="tableData1" |
| | | border |
| | | style="width: 100%" |
| | | height="250" |
| | | > |
| | | <el-table-column prop="proName" label="项目" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="proType" label="性别" width="180"> |
| | |
| | | {{ scope.row.proType == "" ? "全部" : "" }} |
| | | </template> |
| | | <template slot-scope="scope" v-else> |
| | | <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.proType" /> |
| | | <dict-tag |
| | | :options="dict.type.sys_user_sex" |
| | | :value="scope.row.proType" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="ysPrice" label="应收金额"> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="proCheckMethod" label="是否空腹"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.proCheckMethod" /> |
| | | <dict-tag |
| | | :options="dict.type.sys_yes_no" |
| | | :value="scope.row.proCheckMethod" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <el-table-column prop="proName" label="项目" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="proType" label="性别" width="180"> |
| | | <template slot-scope="scope" v-if="scope.row.proType == ''"> |
| | | <template |
| | | slot-scope="scope" |
| | | v-if="scope.row.proType == ''" |
| | | > |
| | | {{ scope.row.proType == "" ? "全部" : "" }} |
| | | </template> |
| | | <template slot-scope="scope" v-else> |
| | | <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.proType" /> |
| | | <dict-tag |
| | | :options="dict.type.sys_user_sex" |
| | | :value="scope.row.proType" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="ordPrice" label="应收金额"> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="proCheckMethod" label="是否空腹"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.proCheckMethod" /> |
| | | <dict-tag |
| | | :options="dict.type.sys_yes_no" |
| | | :value="scope.row.proCheckMethod" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-dialog title="导检单预览" :visible.sync="dialogVisibles" :close-on-click-modal="false"> |
| | | <el-dialog |
| | | title="导检单预览" |
| | | :visible.sync="dialogVisibles" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <div class="main"> |
| | | <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe> |
| | | <iframe |
| | | id="printIframe" |
| | | :src="url" |
| | | frameborder="0" |
| | | style="width: 100%; height: 100%" |
| | | ></iframe> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="收费" :visible.sync="charge" width="59%" height="700px"> |
| | | <div> |
| | | <el-table id="sig" v-loading="loading" :data="feeitems" @selection-change="handleSelect" tooltip-effect="dark" |
| | | ref="multipleTable" border> |
| | | <el-table |
| | | id="sig" |
| | | v-loading="loading" |
| | | :data="feeitems" |
| | | @selection-change="handleSelect" |
| | | tooltip-effect="dark" |
| | | ref="multipleTable" |
| | | border |
| | | > |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="姓名" align="center" prop="tjName" width="100px" /> |
| | | <el-table-column |
| | | label="姓名" |
| | | align="center" |
| | | prop="tjName" |
| | | width="100px" |
| | | /> |
| | | <el-table-column label="性别" align="center" prop="sex" width="90px"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex" /> |
| | | <dict-tag |
| | | :options="dict.type.sys_user_sex" |
| | | :value="scope.row.sex" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="身份证" align="center" prop="idCard" width="150px" |
| | | :show-overflow-tooltip="true"></el-table-column> |
| | | <el-table-column label="手机号" align="center" prop="tjPhone" width="120px" |
| | | :show-overflow-tooltip="true"></el-table-column> |
| | | <el-table-column label="体检号" align="center" prop="tjNumber" width="160px" /> |
| | | <el-table-column label="登记时间" align="center" prop="tjFlowingWater.createTime" |
| | | :show-overflow-tooltip="true"></el-table-column> |
| | | <el-table-column label="单位名称" align="center" prop="tjComp"></el-table-column> |
| | | <el-table-column label="体检类型" align="center" prop="tjType" width="80px"> |
| | | <el-table-column |
| | | label="身份证" |
| | | align="center" |
| | | prop="idCard" |
| | | width="150px" |
| | | :show-overflow-tooltip="true" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | label="手机号" |
| | | align="center" |
| | | prop="tjPhone" |
| | | width="120px" |
| | | :show-overflow-tooltip="true" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | label="体检号" |
| | | align="center" |
| | | prop="tjNumber" |
| | | width="160px" |
| | | /> |
| | | <el-table-column |
| | | label="登记时间" |
| | | align="center" |
| | | prop="tjFlowingWater.createTime" |
| | | :show-overflow-tooltip="true" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | label="单位名称" |
| | | align="center" |
| | | prop="tjComp" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | label="体检类型" |
| | | align="center" |
| | | prop="tjType" |
| | | width="80px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.dict_team" :value="scope.row.tjType" /> |
| | | <dict-tag |
| | | :options="dict.type.dict_team" |
| | | :value="scope.row.tjType" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="订单流水号" align="center" prop="tjFlowingWater.waterId" width="200px" /> |
| | | <el-table-column label="收费员" align="center" prop="tjFlowingWater.updateBy" width="100px" /> |
| | | <el-table-column |
| | | label="订单流水号" |
| | | align="center" |
| | | prop="tjFlowingWater.waterId" |
| | | width="200px" |
| | | /> |
| | | <el-table-column |
| | | label="收费员" |
| | | align="center" |
| | | prop="tjFlowingWater.updateBy" |
| | | width="100px" |
| | | /> |
| | | </el-table> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="20"> |
| | | <el-form :inline="true" :model="formInline" class="demo-form-inline" style="margin: 12px 6px"> |
| | | <el-form |
| | | :inline="true" |
| | | :model="formInline" |
| | | class="demo-form-inline" |
| | | style="margin: 12px 6px" |
| | | > |
| | | <el-form-item label="应收金额"> |
| | | <el-input style="width: 86px" :value="formInline.price + '.00'" placeholder="金额" |
| | | :disabled="true"></el-input> |
| | | <el-input |
| | | style="width: 86px" |
| | | :value="formInline.price + '.00'" |
| | | placeholder="金额" |
| | | :disabled="true" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="优惠"> |
| | | <el-input-number style="width: 140px" v-model="discount" :precision="2" :step="0.1" :max="10" :min="1" |
| | | @change="numberChange" :disabled="isfalse"></el-input-number> |
| | | <el-input-number |
| | | style="width: 140px" |
| | | v-model="discount" |
| | | :precision="2" |
| | | :step="0.1" |
| | | :max="10" |
| | | :min="1" |
| | | @change="numberChange" |
| | | :disabled="isfalse" |
| | | ></el-input-number> |
| | | </el-form-item> |
| | | <el-form-item label="实收金额"> |
| | | <el-input v-model="formInline.paidIn" placeholder="实付" style="width: 94px"> |
| | | <el-input |
| | | v-model="formInline.paidIn" |
| | | placeholder="实付" |
| | | style="width: 94px" |
| | | > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="付款类型" prop="payType"> |
| | | <el-select style="width: 120px" v-model="formInline.payType" placeholder="请选择付款类型"> |
| | | <el-option v-for="dict in dict.type.dict_pay_type" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | <el-select |
| | | style="width: 120px" |
| | | v-model="formInline.payType" |
| | | placeholder="请选择付款类型" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_pay_type" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button style="margin-left: 15px" type="primary" size="mini" @click="SubmitEvent">收费</el-button> |
| | | <el-button |
| | | style="margin-left: 15px" |
| | | type="primary" |
| | | size="mini" |
| | | @click="SubmitEvent" |
| | | >收费</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | |
| | | </div> |
| | | </el-dialog> |
| | | <div style="position: absolute; bottom: 100px; width: 360px; display: none"> |
| | | <div id="printBill" style="width: 280px; font-size: 1px" ref="printContent"> |
| | | <div |
| | | id="printBill" |
| | | style="width: 280px; font-size: 1px" |
| | | ref="printContent" |
| | | > |
| | | <div style="font-size: 1px"> |
| | | <div style="text-align: center"> |
| | | <h3>{{ hospName }}小票</h3> |
| | |
| | | </span> --> |
| | | <!-- </el-dialog> --> |
| | | <historyTj :cusIdCard="form.cusIdcard" ref="historyTj"></historyTj> |
| | | <el-dialog title="提示" :visible.sync="dialogVisiblese" width="30%" :before-close="handleClose"> |
| | | <el-dialog |
| | | title="提示" |
| | | :visible.sync="dialogVisiblese" |
| | | width="30%" |
| | | :before-close="handleClose" |
| | | > |
| | | <span>是否复制最近一次的体检项目?</span> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogVisiblese = false">取 消</el-button> |
| | |
| | | import { |
| | | deptTreeSelect, |
| | | projectGetList, |
| | | getOrder, getProParentIdDxList, |
| | | getOrder, |
| | | getProParentIdDxList, |
| | | getProSonDxList, |
| | | getCusIdcard, |
| | | getPackageListName, |
| | |
| | | getTransitionList, |
| | | getByTeamNo, |
| | | getLoadFile, |
| | | getIsRequired, getconfigKey, |
| | | getIsRequired, |
| | | getconfigKey, |
| | | getHistryTjOrderProByCusIdCard, |
| | | } from "@/api/system/tijian"; |
| | | import Packages from "@/components/Packages"; |
| | |
| | | components: { |
| | | VTreeTransfer, |
| | | historyTj, |
| | | Packages |
| | | Packages, |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | // 表单校验 |
| | | rules: { |
| | | cusName: [{ required: true, message: "", trigger: "blur" }], |
| | | cusSex: [ |
| | | { required: true, message: "", trigger: "change" }, |
| | | ], |
| | | cusSex: [{ required: true, message: "", trigger: "change" }], |
| | | address: [{ required: true, message: "", trigger: "blur" }], |
| | | phone: [{ required: true, message: "", trigger: "blur" }], |
| | | cusPhone: [ |
| | | { required: true, message: "", trigger: "change" }, |
| | | ], |
| | | cusBrithday: [ |
| | | { required: true, message: "", trigger: "change" }, |
| | | ], |
| | | cusPhone: [{ required: true, message: "", trigger: "change" }], |
| | | cusBrithday: [{ required: true, message: "", trigger: "change" }], |
| | | // cusNational: [ |
| | | // { required: true, message: "民族不能为空", trigger: "change" }, |
| | | // ], |
| | | cusIdcard: [ |
| | | { required: true, message: "", trigger: "change" }, |
| | | ], |
| | | cusIdcard: [{ required: true, message: "", trigger: "change" }], |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | d.getFullYear() - |
| | | birthdays.getFullYear() - |
| | | (d.getMonth() < birthdays.getMonth() || |
| | | (d.getMonth() == birthdays.getMonth() && |
| | | d.getDate() < birthdays.getDate()) |
| | | (d.getMonth() == birthdays.getMonth() && |
| | | d.getDate() < birthdays.getDate()) |
| | | ? 1 |
| | | : 0); |
| | | this.form.cusSex = sex; |
| | |
| | | _this.thisVideo.play(); |
| | | }; |
| | | }) |
| | | .catch((err) => { }); |
| | | .catch((err) => {}); |
| | | }, |
| | | // 绘制图片(拍照功能) |
| | | |
| | |
| | | .then((_) => { |
| | | done(); |
| | | }) |
| | | .catch((_) => { }); |
| | | .catch((_) => {}); |
| | | }, |
| | | |
| | | /** 查询信息列表 */ |
| | |
| | | pacId: "", |
| | | proIds: [], |
| | | }; |
| | | getaddtTransition(data).then((response) => { }); |
| | | getaddtTransition(data).then((response) => {}); |
| | | this.$tab.refreshPage(); |
| | | }); |
| | | } else { |
| | |
| | | if (this.tableData1) { |
| | | this.tableData1.forEach((item) => { |
| | | this.TotalPrice1 += item.ysPrice; |
| | | console.log(this.TotalPrice1); |
| | | this.TotalPrice = ( |
| | | this.TotalPrice1 * |
| | | (this.discount / 10) |
| | |
| | | this.TotalPrice1 = 0; |
| | | this.tableData1.forEach((item) => { |
| | | this.TotalPrice1 += item.nowPrice; |
| | | console.log(this.TotalPrice1); |
| | | this.TotalPrice = ( |
| | | this.TotalPrice1 * |
| | | (this.discount / 10) |
| | |
| | | // this.$message.error("此用户不存在"); |
| | | // }); |
| | | } else { |
| | | let configKey = "getInfoFromSqlData" |
| | | getconfigKey(configKey).then(res => { |
| | | let configKey = "getInfoFromSqlData"; |
| | | getconfigKey(configKey).then((res) => { |
| | | if (res.code == 200) { |
| | | if (res.msg == "N") { |
| | | var websocket = null; |
| | |
| | | _this.form.cusAddr = resultObj.resultContent.certAddress; |
| | | _this.form.cusIdcard = resultObj.resultContent.certNumber; |
| | | _this.imageUrl = |
| | | "data:image/jpeg;base64," + resultObj.resultContent.identityPic; |
| | | "data:image/jpeg;base64," + |
| | | resultObj.resultContent.identityPic; |
| | | if ( |
| | | resultObj.name == "readCert" || |
| | | resultObj.name == "PushWithImg" |
| | |
| | | this.$refs.aaa.title = "证件字典"; |
| | | } |
| | | } |
| | | }) |
| | | |
| | | }); |
| | | } |
| | | }, |
| | | |
| | |
| | | |
| | | // this.form.cusName = param1[0].pacName; |
| | | // this.form.cusPhone = param1[0].pacRemark; |
| | | |
| | | }, |
| | | |
| | | // selected(row, index) { |
| | |
| | | // let del_row = selection.shift(); |
| | | // this.$refs.tb.toggleRowSelection(del_row, false); //设置这一行取消选中 |
| | | // } |
| | | // this.single = selection.length !== 1; |
| | | // this.multiple = !selection.length; |
| | | // this.tableData.forEach((item) => { |
| | | // this.fData = item.tjProjectList; |
| | | // }); |
| | | // if (selection[0]) { |
| | | // this.DataList = []; |
| | | // this.data = JSON.parse(JSON.stringify(this.dXData)); |
| | | // this.single = selection.length !== 1; |
| | | // this.multiple = !selection.length; |
| | | // this.tableData.forEach((item) => { |
| | | // this.fData = item.tjProjectList; |
| | | // }); |
| | | // if (selection[0]) { |
| | | // this.DataList = []; |
| | | // this.data = JSON.parse(JSON.stringify(this.dXData)); |
| | | // if (selection[0].tjProjectList) { |
| | | // selection[0].tjProjectList.forEach((selectionitem) => { |
| | | // this.treedataList.forEach((item) => { |
| | |
| | | this.loading = true; |
| | | deptTreeSelect(cusSex).then((response) => { |
| | | this.newpacName = response.rows; |
| | | |
| | | |
| | | try { |
| | | if (this.tableData1.length >= 1) { |
| | | this.newpacName.forEach((item3) => { |
| | |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | } catch (error) { } |
| | | } catch (error) {} |
| | | this.loading = false; |
| | | }); |
| | | // this.getData(); |
| | | }, |
| | | |
| | | // 点击多选框获取选中数据 |
| | | handleSelectionChange(selection, row) { |
| | | // 点击多选框获取选中数据 |
| | | handleSelectionChange(selection, row) { |
| | | this.tableData = selection; |
| | | if (selection.length > 1) { |
| | | let del_row = selection.shift(); |
| | |
| | | }, |
| | | handleClick(tab, event) { |
| | | if (tab.label == "单项") { |
| | | this.DataList =[] |
| | | this.getDataList(); |
| | | this.DataList = []; |
| | | this.getDataList(); |
| | | } |
| | | }, |
| | | getDataList() { |
| | | this.loading = true |
| | | this.loading = true; |
| | | getProParentIdDxList().then((response) => { |
| | | this.Treedata = response.data.list; |
| | | if (this.tableData[0]) { |
| | |
| | | }, |
| | | // // 默认接受四个值 { 当前行的值, 当前列的值, 行的下标, 列的下标 } |
| | | objectSpanMethod({ row, column, rowIndex, columnIndex }) { |
| | | console.log(row, column, rowIndex, columnIndex) |
| | | console.log(row, column, rowIndex, columnIndex); |
| | | let fields = ["propinName"]; |
| | | let cellValue = row[column.property]; |
| | | if (cellValue && fields.includes(column.property)) { |
| | |
| | | } |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 项目提交 |
| | | submit() { |
| | |
| | | // changeCategoryKeys(val) { |
| | | // this.proIds = []; |
| | | // this.proIds = val; |
| | | // if (this.DataList.length != 0) { |
| | | // this.DataList.forEach((item) => { |
| | | // this.proIds.push(item.proId); |
| | | // }); |
| | | // } else { |
| | | // this.proIds = []; |
| | | // } |
| | | // if (this.DataList.length != 0) { |
| | | // this.DataList.forEach((item) => { |
| | | // this.proIds.push(item.proId); |
| | | // }); |
| | | // } else { |
| | | // this.proIds = []; |
| | | // } |
| | | // }, |
| | | submitCheckinfee() { |
| | | let _this = this; |
| | | let List = _this.tableData1; //单个项目信息 |
| | | if (this.responseList.cusId) { |
| | | var userId = this.responseList.cusId; |
| | | } else { |
| | | var userId = _this.form.cusId; |
| | | } |
| | | let tjType = _this.form.tjType; |
| | | if (this.tableData[0]) { |
| | | var pacId = this.tableData[0].pacId; |
| | | } |
| | | |
| | | //tjOrderList//这个是处理完的每一项套餐信息 |
| | | List.forEach((item) => { |
| | | if (item.list) { |
| | | item.list.forEach((item1) => { |
| | | this.tjOrderList.push({ |
| | | proName: item1.proName, |
| | | proPrice: item1.nowPrice, |
| | | proId: item1.proId, |
| | | }); |
| | | }); |
| | | } else if (item.tjProjectList) { |
| | | item.tjProjectList.forEach((item1) => { |
| | | this.tjOrderList.push({ |
| | | proName: item1.proName, |
| | | proPrice: item1.priceNow, |
| | | proId: item1.proId, |
| | | }); |
| | | }); |
| | | if (_this.tjCategory !== "") { |
| | | let List = _this.tableData1; //单个项目信息 |
| | | if (this.responseList.cusId) { |
| | | var userId = this.responseList.cusId; |
| | | } else { |
| | | this.tjOrderList.push({ |
| | | proName: item.proName, |
| | | proPrice: item.ysPrice, |
| | | proId: item.proId, |
| | | }); |
| | | var userId = _this.form.cusId; |
| | | } |
| | | }); |
| | | let copeWith = this.TotalPrice1; |
| | | let paidIn = this.TotalPrice.toString(); |
| | | let discount = this.discount; |
| | | this.tjFlowingWater = { copeWith, paidIn, discount }; |
| | | let tjType = _this.form.tjType; |
| | | if (this.tableData[0]) { |
| | | var pacId = this.tableData[0].pacId; |
| | | } |
| | | |
| | | let data; |
| | | if (pacId || this.getType == "2") { |
| | | data = { |
| | | photo: this.srcUrl, |
| | | pacId, |
| | | tjOrderList: this.tjOrderList, |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | getType: this.getType, |
| | | addAddress: this.addAddress, |
| | | tjCategory: this.tjCategory, |
| | | }; |
| | | } else { |
| | | data = { |
| | | photo: this.srcUrl, |
| | | tjOrderList: this.tjOrderList, |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | getType: this.getType, |
| | | tjCategory: this.tjCategory, |
| | | }; |
| | | } |
| | | getOrder(data).then((res) => { |
| | | this.$modal.msgSuccess("提交成功"); |
| | | this.tjNumbers = res.msg; |
| | | this.charge = true; |
| | | let data = { |
| | | tjNum: res.msg, |
| | | }; |
| | | getfindTj(data).then((response) => { |
| | | if (response.data) { |
| | | this.feeitems = response.data; |
| | | if (this.feeitems.length != 0) { |
| | | this.$nextTick(() => { |
| | | this.$refs.multipleTable.toggleRowSelection( |
| | | this.feeitems[0], |
| | | true |
| | | ); |
| | | //tjOrderList//这个是处理完的每一项套餐信息 |
| | | List.forEach((item) => { |
| | | if (item.list) { |
| | | item.list.forEach((item1) => { |
| | | this.tjOrderList.push({ |
| | | proName: item1.proName, |
| | | proPrice: item1.nowPrice, |
| | | proId: item1.proId, |
| | | }); |
| | | } else { |
| | | this.$refs.multipleTable.clearSelection(); |
| | | } |
| | | this.loading = false; |
| | | }); |
| | | } else if (item.tjProjectList) { |
| | | item.tjProjectList.forEach((item1) => { |
| | | this.tjOrderList.push({ |
| | | proName: item1.proName, |
| | | proPrice: item1.priceNow, |
| | | proId: item1.proId, |
| | | }); |
| | | }); |
| | | } else { |
| | | this.feeitems = []; |
| | | this.loading = false; |
| | | this.tjOrderList.push({ |
| | | proName: item.proName, |
| | | proPrice: item.ysPrice, |
| | | proId: item.proId, |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | let copeWith = this.TotalPrice1; |
| | | let paidIn = this.TotalPrice.toString(); |
| | | let discount = this.discount; |
| | | this.tjFlowingWater = { copeWith, paidIn, discount }; |
| | | |
| | | let data; |
| | | if (pacId || this.getType == "2") { |
| | | data = { |
| | | photo: this.srcUrl, |
| | | pacId, |
| | | tjOrderList: this.tjOrderList, |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | getType: this.getType, |
| | | addAddress: this.addAddress, |
| | | tjCategory: this.tjCategory, |
| | | }; |
| | | } else { |
| | | data = { |
| | | photo: this.srcUrl, |
| | | tjOrderList: this.tjOrderList, |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | getType: this.getType, |
| | | tjCategory: this.tjCategory, |
| | | }; |
| | | } |
| | | getOrder(data).then((res) => { |
| | | this.$modal.msgSuccess("提交成功"); |
| | | this.tjNumbers = res.msg; |
| | | this.charge = true; |
| | | let data = { |
| | | tjNum: res.msg, |
| | | }; |
| | | getfindTj(data).then((response) => { |
| | | if (response.data) { |
| | | this.feeitems = response.data; |
| | | if (this.feeitems.length != 0) { |
| | | this.$nextTick(() => { |
| | | this.$refs.multipleTable.toggleRowSelection( |
| | | this.feeitems[0], |
| | | true |
| | | ); |
| | | }); |
| | | } else { |
| | | this.$refs.multipleTable.clearSelection(); |
| | | } |
| | | this.loading = false; |
| | | } else { |
| | | this.feeitems = []; |
| | | this.loading = false; |
| | | } |
| | | }); |
| | | }); |
| | | } else { |
| | | this.$modal.msgError("请选择体检类别"); |
| | | } |
| | | }, |
| | | |
| | | // 表格单选 |
| | |
| | | const viewNum = "792931586196398080"; |
| | | const params = { viewNum, tjNumber }; |
| | | this.$tab.openPage("导诊单", "/report/breDailyReport", params); |
| | | _this.confirm = true; |
| | | this.confirm = true; |
| | | }); |
| | | this.$tab.refreshPage(); |
| | | }, |
| | |
| | | // 最后提交按钮 |
| | | submitPrice() { |
| | | let _this = this; |
| | | let List = _this.tableData1; //单个项目信息 |
| | | if (this.responseList.cusId) { |
| | | var userId = this.responseList.cusId; |
| | | } else { |
| | | var userId = _this.form.cusId; |
| | | } |
| | | let tjType = _this.form.tjType; |
| | | if (this.tableData[0]) { |
| | | var pacId = this.tableData[0].pacId; |
| | | } |
| | | |
| | | //tjOrderList//这个是处理完的每一项套餐信息 |
| | | List.forEach((item) => { |
| | | if (item.list) { |
| | | item.list.forEach((item1) => { |
| | | this.tjOrderList.push({ |
| | | proName: item1.proName, |
| | | proPrice: item1.nowPrice, |
| | | proId: item1.proId, |
| | | }); |
| | | }); |
| | | } else if (item.tjProjectList) { |
| | | item.tjProjectList.forEach((item1) => { |
| | | this.tjOrderList.push({ |
| | | proName: item1.proName, |
| | | proPrice: item1.priceNow, |
| | | proId: item1.proId, |
| | | }); |
| | | }); |
| | | if (_this.tjCategory !== "") { |
| | | let List = _this.tableData1; //单个项目信息 |
| | | if (this.responseList.cusId) { |
| | | var userId = this.responseList.cusId; |
| | | } else { |
| | | this.tjOrderList.push({ |
| | | proName: item.proName, |
| | | proPrice: item.ysPrice, |
| | | proId: item.proId, |
| | | var userId = _this.form.cusId; |
| | | } |
| | | let tjType = _this.form.tjType; |
| | | if (this.tableData[0]) { |
| | | var pacId = this.tableData[0].pacId; |
| | | } |
| | | |
| | | //tjOrderList//这个是处理完的每一项套餐信息 |
| | | List.forEach((item) => { |
| | | if (item.list) { |
| | | item.list.forEach((item1) => { |
| | | this.tjOrderList.push({ |
| | | proName: item1.proName, |
| | | proPrice: item1.nowPrice, |
| | | proId: item1.proId, |
| | | }); |
| | | }); |
| | | } else if (item.tjProjectList) { |
| | | item.tjProjectList.forEach((item1) => { |
| | | this.tjOrderList.push({ |
| | | proName: item1.proName, |
| | | proPrice: item1.priceNow, |
| | | proId: item1.proId, |
| | | }); |
| | | }); |
| | | } else { |
| | | this.tjOrderList.push({ |
| | | proName: item.proName, |
| | | proPrice: item.ysPrice, |
| | | proId: item.proId, |
| | | }); |
| | | } |
| | | }); |
| | | let copeWith = this.TotalPrice1; |
| | | let paidIn = this.TotalPrice.toString(); |
| | | let discount = this.discount; |
| | | this.tjFlowingWater = { copeWith, paidIn, discount }; |
| | | |
| | | let data; |
| | | if (pacId || this.tjOrderList.length > 0) { |
| | | data = { |
| | | photo: this.srcUrl, |
| | | pacId, |
| | | tjOrderList: this.tjOrderList, |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | tjCategory: this.tjCategory, |
| | | }; |
| | | this.listgetOrder(data); |
| | | } else if (pacId || this.tjOrderList.length > 0) { |
| | | data = { |
| | | photo: this.srcUrl, |
| | | tjOrderList: this.tjOrderList, |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | tjCategory: this.tjCategory, |
| | | }; |
| | | this.listgetOrder(data); |
| | | } else { |
| | | this.$message({ |
| | | type: "warning ", |
| | | message: "请选择套餐!", |
| | | }); |
| | | } |
| | | }); |
| | | let copeWith = this.TotalPrice1; |
| | | let paidIn = this.TotalPrice.toString(); |
| | | let discount = this.discount; |
| | | this.tjFlowingWater = { copeWith, paidIn, discount }; |
| | | |
| | | let data; |
| | | if (pacId || this.tjOrderList.length > 0) { |
| | | data = { |
| | | photo: this.srcUrl, |
| | | pacId, |
| | | tjOrderList: this.tjOrderList, |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | tjCategory: this.tjCategory |
| | | }; |
| | | this.listgetOrder(data) |
| | | } else if (pacId || this.tjOrderList.length > 0) { |
| | | data = { |
| | | photo: this.srcUrl, |
| | | tjOrderList: this.tjOrderList, |
| | | tjFlowingWater: this.tjFlowingWater, |
| | | userId, |
| | | tjType, |
| | | tjCategory: this.tjCategory |
| | | }; |
| | | this.listgetOrder(data) |
| | | } else { |
| | | this.$message({ |
| | | type: "warning ", |
| | | message: "请选择套餐!", |
| | | }); |
| | | }else { |
| | | this.$modal.msgError("请选择体检类别"); |
| | | } |
| | | |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | display: flex; |
| | | } |
| | | |
| | | |
| | | .tab3 { |
| | | .tab3 { |
| | | max-height: 400px; |
| | | overflow-y: auto; |
| | | border: 1px solid #d9d9d9; |
| | |
| | | investigation(row) { |
| | | this.gation = row; |
| | | this.formss.tjNumber = this.gation.tjNumber; |
| | | let mid = "18"; |
| | | let mid = "2"; |
| | | printCode(mid).then((response) => { |
| | | if (response.data) { |
| | | this.intList = response.data; |
| | |
| | | } |
| | | |
| | | .drawer1 { |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: space-evenly; |
| | | align-items: flex-start; |
| | | // display: flex; |
| | | // flex-direction: row; |
| | | // justify-content: space-evenly; |
| | | // align-items: flex-start; |
| | | // margin-top: 20px; |
| | | padding:10px 20px; |
| | | } |
| | |
| | | // detail: https://cli.vuejs.org/config/#devserver-proxy |
| | | [process.env.VUE_APP_BASE_API]: { |
| | | //target: `https://ltpeis.xaltjdkj.cn:5501/prod-api/getInfo`, |
| | | // target: `http://192.168.1.113:5011`, |
| | | target: `http://192.168.1.113:5011`, |
| | | // // target: `http://192.168.0.99:8080/ltkj-admin`, |
| | | target: `https://ltpeis.xaltjdkj.cn:5011/ltkj-admin`, |
| | | // target: `https://ltpeis.xaltjdkj.cn:5011/ltkj-admin`, |
| | | // target: `http://10.168.0.9:5011`, |
| | | changeOrigin: true, |
| | | pathRewrite: { |