From edb5616505a118523882a83f53f00e88d03bd373 Mon Sep 17 00:00:00 2001 From: qinxianzhangyao <11053546+qinxianzhangyao@user.noreply.gitee.com> Date: 星期一, 20 五月 2024 12:07:51 +0800 Subject: [PATCH] qxtj --- src/api/hosp/surveyTemplate.js | 9 src/views/index.vue | 12 src/views/doctor/test/index.vue | 5 src/views/system/Blacklist/index.vue | 227 ++ vue.config.js | 4 src/components/proposal/index.vue | 5 src/views/reservation/groupcheck/index.vue | 782 +++++++ src/api/hosp/order.js | 33 src/views/hosp/project/index.vue | 760 ++++++- src/views/hosp/question/index.vue | 768 ++++++- src/views/system/tijian/index.vue | 1343 +++++++++---- src/views/doctor/checkAll/index.vue | 4 src/views/hosp/surveyTemplate copy/editor/TduckFormMixin.js | 24 src/views/system/refund/index.vue | 4 src/views/hosp/surveyTemplate copy/editor/preview/ProjectForm.vue | 43 src/views/system/biol/index.vue | 3 src/views/hosp/surveyTemplate copy/index.vue | 582 +++++ src/views/hosp/question1/index.vue | 394 ++++ src/views/system/visit/index.vue | 10 src/views/doctor/check/index.vue | 2 src/views/reservation/reservations/index.vue | 56 src/api/system/blacklist.js | 19 src/api/hosp/question.js | 36 src/views/hosp/surveyTemplate copy/editor/preview/index.vue | 178 + src/views/hosp/order/index.vue | 21 src/views/system/Criticalvalue/index.vue | 245 ++ src/views/hosp/surveyTemplate copy/editor/index.vue | 49 src/views/system/circle/index.vue | 19 src/views/hosp/customer/index.vue | 27 src/views/hosp/surveyTemplate/index.vue | 200 + 30 files changed, 5,041 insertions(+), 823 deletions(-) diff --git a/src/api/hosp/order.js b/src/api/hosp/order.js index d71517a..57cb84f 100644 --- a/src/api/hosp/order.js +++ b/src/api/hosp/order.js @@ -202,6 +202,28 @@ }) } + +//鑾峰彇闂嵎妯℃澘淇℃伅 +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({ @@ -309,4 +331,13 @@ method: 'post', data: data }) - } \ No newline at end of file + } + + // 鎵归噺鍙戦�侀偖浠� +export function addCustomerBlack(data) { + return request({ + url: '/hosp/cusBlack/addCustomerBlack', + method: 'post', + data: data + }) +} \ No newline at end of file diff --git a/src/api/hosp/question.js b/src/api/hosp/question.js index aaa29b2..d2683e1 100644 --- a/src/api/hosp/question.js +++ b/src/api/hosp/question.js @@ -17,6 +17,32 @@ }) } +// 闂嵎璇︽儏 +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({ @@ -42,3 +68,13 @@ method: 'delete' }) } + + +// 鏍规嵁閮ㄩ棬id鏌ラ棶鍗锋ā鏉垮垪琛� +export function listByDeptId(deptId) { + return request({ + url: 'hosp/surveyTemplate/listByDeptId', + method: 'get', + params: {deptId:deptId} + }) +} diff --git a/src/api/hosp/surveyTemplate.js b/src/api/hosp/surveyTemplate.js index 5c2fc5f..4c201bc 100644 --- a/src/api/hosp/surveyTemplate.js +++ b/src/api/hosp/surveyTemplate.js @@ -17,6 +17,15 @@ }) } +// 鑾峰彇闂嵎妯℃澘淇℃伅 +export function getQuesByMid(mid) { + return request({ + url: 'hosp/surveyTemplate/getQuesByMids', + method: 'get', + params: { mid: mid } + }) + } + // 鏂板闂嵎妯℃澘 export function addSurveyTemplate(data) { return request({ diff --git a/src/api/system/blacklist.js b/src/api/system/blacklist.js new file mode 100644 index 0000000..d1496d6 --- /dev/null +++ b/src/api/system/blacklist.js @@ -0,0 +1,19 @@ +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 + }) + } \ No newline at end of file diff --git a/src/components/proposal/index.vue b/src/components/proposal/index.vue index 0a477ef..d588d59 100644 --- a/src/components/proposal/index.vue +++ b/src/components/proposal/index.vue @@ -99,14 +99,12 @@ }, 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() { @@ -128,6 +126,7 @@ }); }, getList() { + console.log(1111) this.loading = true; getKjTjAdviceKjbqBySex(this.queryParams).then((res) => { this.dataList = res.data.records; diff --git a/src/views/doctor/check/index.vue b/src/views/doctor/check/index.vue index 30dd5d2..2d726cb 100644 --- a/src/views/doctor/check/index.vue +++ b/src/views/doctor/check/index.vue @@ -801,7 +801,7 @@ // 灏忕粨鑾峰彇澶囨敞 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) => { diff --git a/src/views/doctor/checkAll/index.vue b/src/views/doctor/checkAll/index.vue index f1043aa..ec7cccd 100644 --- a/src/views/doctor/checkAll/index.vue +++ b/src/views/doctor/checkAll/index.vue @@ -1491,6 +1491,10 @@ }, eventchange(data) { this.dataText = data + console.log(this.textarea1 ) + if(this.textarea1 == null ){ + this.textarea1 = "" + } data.forEach((item) => { this.textarea1 += item.advice; }); diff --git a/src/views/doctor/test/index.vue b/src/views/doctor/test/index.vue index 1ce7991..f348c76 100644 --- a/src/views/doctor/test/index.vue +++ b/src/views/doctor/test/index.vue @@ -718,7 +718,6 @@ }); }, hb(){ - console.log(this.queryParams.tjNumber); if (this.queryParams.tjNumber != "") { this.submitForm(); } @@ -835,7 +834,6 @@ }, submitFormapply() { - console.log(this.form) let data = {} this.userList.forEach(item1 => { if (this.form.hzDoctorId == item1.userId) { @@ -949,7 +947,6 @@ // if(newRows[0].hzReplyLogsList){ // this.hzReplyLogsList = newRows[0].hzReplyLogsList // } - // console.log(this.hzReplyLogsList) // this.allList = newRows } else { this.allList = [] @@ -1074,7 +1071,7 @@ 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 { diff --git a/src/views/hosp/customer/index.vue b/src/views/hosp/customer/index.vue index 086c560..52f5760 100644 --- a/src/views/hosp/customer/index.vue +++ b/src/views/hosp/customer/index.vue @@ -99,6 +99,16 @@ 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> @@ -142,6 +152,11 @@ <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" /> @@ -340,7 +355,7 @@ updateCustomer, getHistryTjOrderByCusIdCard } from "@/api/hosp/customer"; -import { getPdf } from "@/api/hosp/order"; +import { getPdf ,addCustomerBlack} from "@/api/hosp/order"; export default { name: "Customer", @@ -551,6 +566,16 @@ }) }, + 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() diff --git a/src/views/hosp/order/index.vue b/src/views/hosp/order/index.vue index 88b2a51..e48c0cf 100644 --- a/src/views/hosp/order/index.vue +++ b/src/views/hosp/order/index.vue @@ -96,6 +96,16 @@ >瀵煎嚭</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" @@ -106,6 +116,7 @@ >琛ュ綍椤圭洰</el-button > </el-col> + <el-col :span="1.5"> <el-button type="primary" @@ -801,7 +812,7 @@ hasReport, getPdf, getOrderList, - getNewDateList, + getNewDateList,revokeTjOrderByTjNum, } from "@/api/hosp/order"; import moment from "moment"; import { getwater } from "@/api/hosp/customer"; @@ -1059,6 +1070,13 @@ } }); }, + + handleRevoke(){ + revokeTjOrderByTjNum(this.tjnumbers).then(res => { + this.$modal.msgSuccess("鎾ら攢鎴愬姛") + this.getList(); + }) + }, /** 鐐瑰嚮鏄剧ず浣撴鎶ュ憡鎶ヨ〃*/ // viewReport(row) { // const tjNumber = row.tjNumber; @@ -1276,6 +1294,7 @@ this.Projectopen1 = true; this.title = "琛ュ綍椤圭洰"; }, + // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐� handleCurrentChecked(data, checked, checkedNodes) { this.dataObj = data diff --git a/src/views/hosp/project/index.vue b/src/views/hosp/project/index.vue index c296482..2615b50 100644 --- a/src/views/hosp/project/index.vue +++ b/src/views/hosp/project/index.vue @@ -3,39 +3,91 @@ <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> @@ -44,58 +96,180 @@ <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> @@ -103,14 +277,38 @@ </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" /> @@ -128,21 +326,41 @@ <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"> @@ -152,9 +370,18 @@ </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"> @@ -162,45 +389,114 @@ </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" /> @@ -211,18 +507,48 @@ </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> @@ -231,51 +557,109 @@ </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> @@ -292,32 +676,76 @@ <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" /> @@ -325,22 +753,48 @@ <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> @@ -584,7 +1038,7 @@ this.form.lisXmmc = param1[0].pacName; }, //鏄惁鏄剧ず閫変腑鐨勫�� - display(value) { }, + display(value) {}, /** 鏌ヨ浣撴椤圭洰鍒楄〃 */ getList() { // this.loading = true; @@ -621,7 +1075,7 @@ 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; @@ -635,19 +1089,35 @@ 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; } } @@ -657,7 +1127,7 @@ 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"; @@ -696,7 +1166,7 @@ } }, changeType() { - this.$forceUpdate() + this.$forceUpdate(); }, obtain(vals) { @@ -707,7 +1177,7 @@ 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; } @@ -807,7 +1277,7 @@ }, // 鑺傜偣鍗曞嚮浜嬩欢 handleNodeClick(date) { - this.treeDate = date + this.treeDate = date; if (date.qf == "0") { this.xiugais = true; } else { @@ -1034,7 +1504,7 @@ handleUpdate1() { this.open = true; this.form = this.xiugaiList; - this.proParent = true + this.proParent = true; // if(){ // this.proParent = true // } @@ -1047,7 +1517,7 @@ this.key = response.data.key; this.projectOptions.push(project); } - }) + }); }, /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { @@ -1055,7 +1525,7 @@ 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") { @@ -1117,7 +1587,7 @@ this.key = response.data.key; this.projectOptions.push(project); } - }) + }); this.open = true; this.title = "浣撴椤圭洰淇℃伅缁存姢"; }); @@ -1200,7 +1670,6 @@ this.cancel(); this.getList(); } - }); } else { if (this.form.proParentId === 0) { @@ -1270,7 +1739,6 @@ this.cancel(); this.getList(); } - }); } else { if (this.form.proParentId === 0) { @@ -1323,7 +1791,7 @@ this.getList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }) - .catch(() => { }); + .catch(() => {}); }, /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { @@ -1362,7 +1830,7 @@ 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; } diff --git a/src/views/hosp/question/index.vue b/src/views/hosp/question/index.vue index 084600e..0baf6ec 100644 --- a/src/views/hosp/question/index.vue +++ b/src/views/hosp/question/index.vue @@ -1,89 +1,417 @@ <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="璇疯緭鍏ュ娉�" /> @@ -91,15 +419,30 @@ <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"> @@ -128,11 +471,13 @@ <script> import { - listQuestion, - getQuestion, + PostTemplentList, + getQuestionsByMid, delQuestion, addQuestion, updateQuestion, + listByDeptId, + listByDeptId1 } from "@/api/hosp/question"; import { Message } from "element-ui"; export default { @@ -140,17 +485,61 @@ 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, // 閫変腑鏁扮粍 @@ -166,7 +555,7 @@ // 鎬绘潯鏁� total: 0, // 闂嵎闂琛ㄦ牸鏁版嵁 - questionList: [], + // questionList: [], // 闂嵎閫夐」琛ㄦ牸鏁版嵁 tjSurveyOptionsList: [], selectionList: [], @@ -182,6 +571,11 @@ type: null, isRequired: null, }, + Objdata:{}, + queryParamse: { + pageNum: 1, + pageSize: 10000, + }, // 琛ㄥ崟鍙傛暟 form: {}, // 琛ㄥ崟鏍¢獙 @@ -189,53 +583,114 @@ 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; @@ -261,7 +716,34 @@ /** 鎼滅储鎸夐挳鎿嶄綔 */ 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() { @@ -299,26 +781,24 @@ 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; @@ -327,13 +807,18 @@ /** 淇敼鎸夐挳鎿嶄綔 */ 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() { @@ -343,13 +828,15 @@ 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) }); } } @@ -359,15 +846,16 @@ 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() { @@ -379,6 +867,9 @@ `hosp_${new Date().getTime()}.xlsx` ); }, + tiaozhuan() { + this.$router.push({ path: "/wemjuan" }); + }, }, }; </script> @@ -386,9 +877,26 @@ .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> diff --git a/src/views/hosp/question1/index.vue b/src/views/hosp/question1/index.vue new file mode 100644 index 0000000..084600e --- /dev/null +++ b/src/views/hosp/question1/index.vue @@ -0,0 +1,394 @@ +<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> diff --git a/src/views/hosp/surveyTemplate copy/editor/TduckFormMixin.js b/src/views/hosp/surveyTemplate copy/editor/TduckFormMixin.js new file mode 100644 index 0000000..6123889 --- /dev/null +++ b/src/views/hosp/surveyTemplate copy/editor/TduckFormMixin.js @@ -0,0 +1,24 @@ +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()) + } + } +} diff --git a/src/views/hosp/surveyTemplate copy/editor/index.vue b/src/views/hosp/surveyTemplate copy/editor/index.vue new file mode 100644 index 0000000..7710a56 --- /dev/null +++ b/src/views/hosp/surveyTemplate copy/editor/index.vue @@ -0,0 +1,49 @@ +<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> diff --git a/src/views/hosp/surveyTemplate copy/editor/preview/ProjectForm.vue b/src/views/hosp/surveyTemplate copy/editor/preview/ProjectForm.vue new file mode 100644 index 0000000..2b954b7 --- /dev/null +++ b/src/views/hosp/surveyTemplate copy/editor/preview/ProjectForm.vue @@ -0,0 +1,43 @@ +<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> diff --git a/src/views/hosp/surveyTemplate copy/editor/preview/index.vue b/src/views/hosp/surveyTemplate copy/editor/preview/index.vue new file mode 100644 index 0000000..cee0540 --- /dev/null +++ b/src/views/hosp/surveyTemplate copy/editor/preview/index.vue @@ -0,0 +1,178 @@ +<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> diff --git a/src/views/hosp/surveyTemplate copy/index.vue b/src/views/hosp/surveyTemplate copy/index.vue new file mode 100644 index 0000000..14c0dc5 --- /dev/null +++ b/src/views/hosp/surveyTemplate copy/index.vue @@ -0,0 +1,582 @@ +<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="璇疯緭鍏ラ棶棰榠d" /> + </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("闂嵎姝e湪浣跨敤涓�"); + } + }); + // return delSurveyTemplate(mids); + }) + .then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => { + this.$modal.msgError("闂嵎姝e湪浣跨敤涓�"); + }); + }, + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + 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> diff --git a/src/views/hosp/surveyTemplate/index.vue b/src/views/hosp/surveyTemplate/index.vue index 14c0dc5..e0c6917 100644 --- a/src/views/hosp/surveyTemplate/index.vue +++ b/src/views/hosp/surveyTemplate/index.vue @@ -194,59 +194,98 @@ /> </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="璇疯緭鍏ラ棶棰榠d" /> - </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" @@ -269,6 +308,7 @@ getneedDesign, getcanDelete, updateQybz, + getQuesByMid } from "@/api/hosp/surveyTemplate"; import { Message } from "element-ui"; export default { @@ -292,10 +332,14 @@ } }; return { + inpu:"", + num: 0, + myscore: null, // 閬僵灞� loading: true, + drawer:false, previewKey: +new Date(), - previewDialogVisible:false, + previewDialogVisible: false, // 閫変腑鏁扮粍 ids: [], // 瀛愯〃閫変腑鏁版嵁 @@ -315,6 +359,7 @@ selectionList: [], // 寮瑰嚭灞傛爣棰� title: "", + intList: [], // 鏄惁鏄剧ず寮瑰嚭灞� open: false, DaTianYa: false, @@ -404,6 +449,7 @@ handleAdd() { this.reset(); this.title = "娣诲姞闂嵎妯℃澘"; + getneedDesign().then((res) => { if (res.msg == "false") { this.DaTianYa = false; @@ -443,7 +489,6 @@ 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) { @@ -454,17 +499,31 @@ } }, 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(); @@ -487,22 +546,23 @@ /** 淇敼鎸夐挳鎿嶄綔 */ 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"); + } }); }, /** 鎻愪氦鎸夐挳 */ @@ -517,8 +577,12 @@ }); } 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(); }); diff --git a/src/views/index.vue b/src/views/index.vue index aa18226..a31432c 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -189,7 +189,17 @@ 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 = [ diff --git a/src/views/reservation/groupcheck/index.vue b/src/views/reservation/groupcheck/index.vue new file mode 100644 index 0000000..22f3993 --- /dev/null +++ b/src/views/reservation/groupcheck/index.vue @@ -0,0 +1,782 @@ +<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="璇疯緭鍏ヨ礋璐d汉" /> + </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> + + \ No newline at end of file diff --git a/src/views/reservation/reservations/index.vue b/src/views/reservation/reservations/index.vue index dda05d6..19811da 100644 --- a/src/views/reservation/reservations/index.vue +++ b/src/views/reservation/reservations/index.vue @@ -1114,33 +1114,33 @@ 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; }); } @@ -1181,12 +1181,12 @@ } }); - /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ - 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("宸茶繃鏈熻閲嶆柊棰勭害"); } diff --git a/src/views/system/Blacklist/index.vue b/src/views/system/Blacklist/index.vue new file mode 100644 index 0000000..d3ae434 --- /dev/null +++ b/src/views/system/Blacklist/index.vue @@ -0,0 +1,227 @@ +<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> + \ No newline at end of file diff --git a/src/views/system/Criticalvalue/index.vue b/src/views/system/Criticalvalue/index.vue new file mode 100644 index 0000000..825df52 --- /dev/null +++ b/src/views/system/Criticalvalue/index.vue @@ -0,0 +1,245 @@ +<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> + \ No newline at end of file diff --git a/src/views/system/biol/index.vue b/src/views/system/biol/index.vue index 8173577..abb6d00 100644 --- a/src/views/system/biol/index.vue +++ b/src/views/system/biol/index.vue @@ -42,6 +42,9 @@ <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"> diff --git a/src/views/system/circle/index.vue b/src/views/system/circle/index.vue index 4270eba..4242328 100644 --- a/src/views/system/circle/index.vue +++ b/src/views/system/circle/index.vue @@ -514,10 +514,10 @@ </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> @@ -572,7 +572,7 @@ getNewDateList, getRecordByTjNumber, listFormFieldsRequest, - listFormDataTableRequest, + listFormDataTableRequest,getTjrWnJuanMoBan } from "@/api/hosp/order"; import { addSurveyRecord } from "@/api/hosp/surveyRecord"; import { listEmer, getDictEmerList } from "@/api/system/emer"; @@ -972,8 +972,9 @@ 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; @@ -1222,10 +1223,10 @@ } .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 { diff --git a/src/views/system/refund/index.vue b/src/views/system/refund/index.vue index 7569b60..12c6ae7 100644 --- a/src/views/system/refund/index.vue +++ b/src/views/system/refund/index.vue @@ -347,7 +347,7 @@ </script> <style> -#sig .el-table__header-wrapper .el-checkbox { +/* #sig .el-table__header-wrapper .el-checkbox { display: none; -} +} */ </style> \ No newline at end of file diff --git a/src/views/system/tijian/index.vue b/src/views/system/tijian/index.vue index 126ab39..a881c9e 100644 --- a/src/views/system/tijian/index.vue +++ b/src/views/system/tijian/index.vue @@ -3,79 +3,152 @@ <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; @@ -85,53 +158,100 @@ " 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> @@ -139,50 +259,113 @@ </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="璇疯緭鍏ユ埛鍙e湴鍧�" :disabled="isDisabled" /> + <el-input + v-model="form.addr" + placeholder="璇疯緭鍏ユ埛鍙e湴鍧�" + :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> @@ -190,56 +373,131 @@ </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="姝e湪鍔犺浇涓�..." 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="姝e湪鍔犺浇涓�..." + 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"> @@ -279,7 +537,7 @@ @check-change="handleCurrentChecked"> </el-tree> --> <!-- </div> --> - <el-row :gutter="20"> + <el-row :gutter="20"> <el-col :span="6"> <div style=" @@ -335,14 +593,21 @@ </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> @@ -376,7 +641,13 @@ <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="椤圭洰" @@ -400,8 +671,8 @@ <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%; "> @@ -446,67 +717,149 @@ </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"> @@ -518,38 +871,55 @@ <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="搴旀敹閲戦"> @@ -558,7 +928,10 @@ </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> @@ -567,7 +940,12 @@ </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"> @@ -575,7 +953,10 @@ {{ 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="搴旀敹閲戦"> @@ -584,7 +965,10 @@ </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> @@ -597,11 +981,17 @@ <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="搴旀敹閲戦"> @@ -610,7 +1000,10 @@ </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> @@ -622,63 +1015,163 @@ </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> @@ -693,7 +1186,11 @@ </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> @@ -723,7 +1220,12 @@ </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> @@ -748,7 +1250,8 @@ import { deptTreeSelect, projectGetList, - getOrder, getProParentIdDxList, + getOrder, + getProParentIdDxList, getProSonDxList, getCusIdcard, getPackageListName, @@ -756,7 +1259,8 @@ getTransitionList, getByTeamNo, getLoadFile, - getIsRequired, getconfigKey, + getIsRequired, + getconfigKey, getHistryTjOrderProByCusIdCard, } from "@/api/system/tijian"; import Packages from "@/components/Packages"; @@ -781,7 +1285,7 @@ components: { VTreeTransfer, historyTj, - Packages + Packages, }, data() { return { @@ -971,23 +1475,15 @@ // 琛ㄥ崟鏍¢獙 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" }], }, }; }, @@ -1079,8 +1575,8 @@ 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; @@ -1243,7 +1739,7 @@ _this.thisVideo.play(); }; }) - .catch((err) => { }); + .catch((err) => {}); }, // 缁樺埗鍥剧墖锛堟媿鐓у姛鑳斤級 @@ -1297,7 +1793,7 @@ .then((_) => { done(); }) - .catch((_) => { }); + .catch((_) => {}); }, /** 鏌ヨ淇℃伅鍒楄〃 */ @@ -1377,7 +1873,7 @@ pacId: "", proIds: [], }; - getaddtTransition(data).then((response) => { }); + getaddtTransition(data).then((response) => {}); this.$tab.refreshPage(); }); } else { @@ -1468,6 +1964,7 @@ if (this.tableData1) { this.tableData1.forEach((item) => { this.TotalPrice1 += item.ysPrice; + console.log(this.TotalPrice1); this.TotalPrice = ( this.TotalPrice1 * (this.discount / 10) @@ -1496,6 +1993,7 @@ this.TotalPrice1 = 0; this.tableData1.forEach((item) => { this.TotalPrice1 += item.nowPrice; + console.log(this.TotalPrice1); this.TotalPrice = ( this.TotalPrice1 * (this.discount / 10) @@ -1533,8 +2031,8 @@ // 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; @@ -1600,7 +2098,8 @@ _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" @@ -1638,8 +2137,7 @@ this.$refs.aaa.title = "璇佷欢瀛楀吀"; } } - }) - + }); } }, @@ -1652,7 +2150,6 @@ // this.form.cusName = param1[0].pacName; // this.form.cusPhone = param1[0].pacRemark; - }, // selected(row, index) { @@ -1728,14 +2225,14 @@ // 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) => { @@ -1776,7 +2273,7 @@ this.loading = true; deptTreeSelect(cusSex).then((response) => { this.newpacName = response.rows; - + try { if (this.tableData1.length >= 1) { this.newpacName.forEach((item3) => { @@ -1792,15 +2289,14 @@ }); }); } - - } 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(); @@ -1847,12 +2343,12 @@ }, 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]) { @@ -1977,7 +2473,7 @@ }, // // 榛樿鎺ュ彈鍥涗釜鍊� { 褰撳墠琛岀殑鍊�, 褰撳墠鍒楃殑鍊�, 琛岀殑涓嬫爣, 鍒楃殑涓嬫爣 } 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)) { @@ -1996,7 +2492,6 @@ } } }, - // 椤圭洰鎻愪氦 submit() { @@ -2070,109 +2565,113 @@ // 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("璇烽�夋嫨浣撴绫诲埆"); + } }, // 琛ㄦ牸鍗曢�� @@ -2328,7 +2827,7 @@ const viewNum = "792931586196398080"; const params = { viewNum, tjNumber }; this.$tab.openPage("瀵艰瘖鍗�", "/report/breDailyReport", params); - _this.confirm = true; + this.confirm = true; }); this.$tab.refreshPage(); }, @@ -2336,77 +2835,80 @@ // 鏈�鍚庢彁浜ゆ寜閽� 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("璇烽�夋嫨浣撴绫诲埆"); } - }, }, }; @@ -2458,8 +2960,7 @@ display: flex; } - -.tab3 { +.tab3 { max-height: 400px; overflow-y: auto; border: 1px solid #d9d9d9; diff --git a/src/views/system/visit/index.vue b/src/views/system/visit/index.vue index fc655f9..5e1efb4 100644 --- a/src/views/system/visit/index.vue +++ b/src/views/system/visit/index.vue @@ -703,7 +703,7 @@ 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; @@ -965,10 +965,10 @@ } .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; } diff --git a/vue.config.js b/vue.config.js index 5a1d21f..2f2ec9c 100644 --- a/vue.config.js +++ b/vue.config.js @@ -53,9 +53,9 @@ // 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: { -- Gitblit v1.8.0