From 295e96d06f1c397df40bc82614041636d69b9ee2 Mon Sep 17 00:00:00 2001 From: qx <2540746708@qq.com> Date: 星期三, 13 十二月 2023 10:10:47 +0800 Subject: [PATCH] qxtj --- vue.config.js | 158 ++++---- src/views/doctor/examination/index.vue | 259 +++++++++++-- src/views/system/tijianall/index.vue | 671 ++++++++++++++++++++++++++-------- 3 files changed, 796 insertions(+), 292 deletions(-) diff --git a/src/views/doctor/examination/index.vue b/src/views/doctor/examination/index.vue index 2d3d9ff..104e652 100644 --- a/src/views/doctor/examination/index.vue +++ b/src/views/doctor/examination/index.vue @@ -1,72 +1,210 @@ <template> <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px"> + <el-form + :model="queryParams" + ref="queryForm" + size="small" + :inline="true" + label-width="68px" + > <el-form-item label="浣撴鍙�" prop="tjNumber"> - <el-input v-model="queryParams.tjNumber" placeholder="璇疯緭鍏ヤ綋妫�鍙�" clearable @keyup.enter.native="handleQuery" - style="width: 170px" /> + <el-input + v-model="queryParams.tjNumber" + placeholder="璇疯緭鍏ヤ綋妫�鍙�" + clearable + @keyup.enter.native="handleQuery" + style="width: 170px" + /> </el-form-item> <el-form-item label="濮撳悕" prop="name"> - <el-input v-model="queryParams.name" placeholder="璇疯緭鍏ュ鍚�" clearable @keyup.enter.native="handleQuery" - style="width: 110px" /> + <el-input + v-model="queryParams.name" + placeholder="璇疯緭鍏ュ鍚�" + clearable + @keyup.enter.native="handleQuery" + style="width: 110px" + /> </el-form-item> <el-form-item label="鐧昏鏃堕棿" prop="createTimeList"> - <el-date-picker v-model="createTimeList" type="datetimerange" align="right" :picker-options="pickerOptions" - style="width: 310px" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" :default-time="['00:00:00', '23:00:00']" - format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" @change="dateChangebirthday1"> + <el-date-picker + v-model="createTimeList" + type="datetimerange" + align="right" + :picker-options="pickerOptions" + style="width: 310px" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + :default-time="['00:00:00', '23:00:00']" + format="yyyy-MM-dd HH:mm" + value-format="yyyy-MM-dd HH:mm" + @change="dateChangebirthday1" + > </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-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-radio-group v-model="checkStatus" @input="radioChange" style="margin: 10px 15px"> + <el-radio-group + v-model="checkStatus" + @input="radioChange" + style="margin: 10px 15px" + > <el-radio-button label="0">鏈鏍�</el-radio-button> <el-radio-button label="1">宸插鏍�</el-radio-button> </el-radio-group> <div style="width: 100%; margin-left: 10px; display: flex"> <div style="width: 40%; margin-right: 20px"> - <el-table id="ta" v-loading="loading" ref="tb" :data="exaList" border height="520px" - @selection-change="handleSelectionChange" :row-class-name="tableRowClassName"> + <el-table + id="ta" + v-loading="loading" + ref="tb" + :data="exaList" + border + height="520px" + @selection-change="handleSelectionChange" + :row-class-name="tableRowClassName" + > <el-table-column type="selection" width="40" align="center" /> - <el-table-column label="浣撴鍙�" align="center" prop="tjNumber" width="160px" /> - <el-table-column label="濮撳悕" align="center" prop="cusName" width="80px" /> - <el-table-column label="鎬у埆" align="center" prop="cusSex" width="60px"> + <el-table-column + label="浣撴鍙�" + align="center" + prop="tjNumber" + width="160px" + /> + <el-table-column + label="濮撳悕" + align="center" + prop="cusName" + width="80px" + /> + <el-table-column + label="鎬у埆" + align="center" + prop="cusSex" + width="60px" + > <template slot-scope="scope"> <!-- {{scope.row.customer.cusSex}} --> {{ scope.row.cusSex === 0 ? "鐢�" : "濂�" }} <!-- <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.cusSex " /> --> </template> </el-table-column> - <el-table-column label="鎵嬫満鍙�" align="center" prop="cusPhone" width="120px" /> - <el-table-column label="鐧昏鏃堕棿" align="center" prop="tjTime" width="120px" /> - <el-table-column v-if="checkStatus == '1'" label="瀹℃牳鐘舵��" align="center" prop="confirmStatus" width="110px"> + <el-table-column + label="鎵嬫満鍙�" + align="center" + prop="cusPhone" + width="120px" + /> + <el-table-column + label="鐧昏鏃堕棿" + align="center" + prop="tjTime" + width="120px" + /> + <el-table-column + v-if="checkStatus == '1'" + label="瀹℃牳鐘舵��" + align="center" + prop="confirmStatus" + width="110px" + > <template slot-scope="scope"> - <span :style="{ color: scope.row.confirmStatus == '301' ? '#0CB618' : '#EA1B29', }" - v-if="scope.row.confirmStatus == '301'">宸查�氳繃</span> - <span :style="{ color: scope.row.confirmStatus == '301' ? '#0CB618' : '#EA1B29', }" - v-if="scope.row.confirmStatus == '299'">宸查┏鍥�</span> + <span + :style="{ + color: + scope.row.confirmStatus == '301' ? '#0CB618' : '#EA1B29', + }" + v-if="scope.row.confirmStatus == '301'" + >宸查�氳繃</span + > + <span + :style="{ + color: + scope.row.confirmStatus == '301' ? '#0CB618' : '#EA1B29', + }" + v-if="scope.row.confirmStatus == '299'" + >宸查┏鍥�</span + > </template> </el-table-column> <el-table-column label="鎿嶄綔" align="center"> <template slot-scope="scope"> - <el-button size="mini" type="text" v-hasPermi="['reservation:reservation:edit']" - v-show="scope.row.confirmStatus == '299' || scope.row.confirmStatus == 288" - @click="tongguo(scope.row)">閫氳繃</el-button> - <el-button size="mini" type="text" v-hasPermi="['reservation:reservation:edit']" - v-show="scope.row.confirmStatus == '301' || scope.row.confirmStatus == 288" - @click="bohui(scope.row)">鎾ら攢</el-button> + <el-button + size="mini" + type="text" + v-hasPermi="['reservation:reservation:edit']" + v-show=" + scope.row.confirmStatus == '299' || + scope.row.confirmStatus == 288 + " + @click="tongguo(scope.row)" + >閫氳繃</el-button + > + <el-button + size="mini" + type="text" + v-hasPermi="['reservation:reservation:edit']" + v-show=" + scope.row.confirmStatus == '301' || + scope.row.confirmStatus == 288 + " + @click="bohui(scope.row)" + >椹冲洖</el-button + > + <el-button + size="mini" + type="text" + v-hasPermi="['reservation:reservation:edit']" + v-show=" + scope.row.confirmStatus == '299' || + scope.row.confirmStatus == 288 + " + @click="tongbu(scope.row)" + >鍚屾</el-button + > </template> </el-table-column> </el-table> </div> <div style="width: 50%"> - <el-table v-loading="loading" border height="520px" ref="tab1" :data="xiangmuList"> + <el-table + v-loading="loading" + border + height="520px" + ref="tab1" + :data="xiangmuList" + > <!-- <el-table-column type="selection" width="40" align="center" /> --> - <el-table-column label="閮ㄩ棬" align="center" prop="deptName" :show-overflow-tooltip="true" /> - <el-table-column label="椤圭洰" align="center" prop="proName" width="140" /> - <el-table-column label="鐘舵��" align="center" prop="type" :show-overflow-tooltip="true" width="60"> + <el-table-column + label="閮ㄩ棬" + align="center" + prop="deptName" + :show-overflow-tooltip="true" + /> + <el-table-column + label="椤圭洰" + align="center" + prop="proName" + width="140" + /> + <el-table-column + label="鐘舵��" + align="center" + prop="type" + :show-overflow-tooltip="true" + width="60" + > <template slot-scope="scope"> <span v-if="scope.row.type == '0'">鏈</span> <span v-if="scope.row.type == '1'">宸叉</span> @@ -75,23 +213,49 @@ </template> </el-table-column> - <el-table-column label="鏀惰垂鏂瑰紡" align="center" prop="sffs" :show-overflow-tooltip="true" width="80" /> - <el-table-column label="鏄惁鏀惰垂" align="center" prop="isPay" :show-overflow-tooltip="true" /> + <el-table-column + label="鏀惰垂鏂瑰紡" + align="center" + prop="sffs" + :show-overflow-tooltip="true" + width="80" + /> + <el-table-column + label="鏄惁鏀惰垂" + align="center" + prop="isPay" + :show-overflow-tooltip="true" + /> <!-- <el-table-column label="绛惧埌鏃堕棿" align="center" prop="qdcreateTime" width="160" /> --> - <el-table-column label="妫�鏌ュ尰鐢�" align="center" prop="doctorName" width="100" /> - <el-table-column label="妫�鏌ユ椂闂�" align="center" prop="bcupdateTime" width="160" /> + <el-table-column + label="妫�鏌ュ尰鐢�" + align="center" + prop="doctorName" + width="100" + /> + <el-table-column + label="妫�鏌ユ椂闂�" + align="center" + prop="bcupdateTime" + width="160" + /> <!-- <el-table-column label="淇濆瓨鍖荤敓" align="center" prop="bcdoctorName" width="120" /> --> - <el-table-column label="鏈�鍚庝慨鏀规椂闂�" align="center" prop="zhupdateTime" width="160" /> + <el-table-column + label="鏈�鍚庝慨鏀规椂闂�" + align="center" + prop="zhupdateTime" + width="160" + /> </el-table> </div> </div> @@ -99,8 +263,13 @@ <!-- <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :pager-count="5" :current-page.sync="currentPage1" :current-page="page" :page-sizes="pageSize" :page-size="size" layout="total, sizes, prev, pager, next, jumper" :total="total"> </el-pagination> --> - <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.pageSize" - @pagination="getList" /> + <pagination + v-show="total > 0" + :total="total" + :page.sync="queryParams.page" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> </div> </div> </template> @@ -211,13 +380,13 @@ this.startTime = val; }, getList() { - this.loading = true - this.queryParams.checkStatus = "0"; + this.loading = true; + this.queryParams.checkStatus = this.checkStatus; this.queryParams.beginTime = this.createTimeList[0]; this.queryParams.endTime = this.createTimeList[1]; getCsList(this.queryParams).then((res) => { if (res.code == 200) { - this.loading = false + this.loading = false; if (res.data) { this.exaList = res.data.customers; this.total = res.data.total; @@ -234,7 +403,6 @@ this.tableList = []; } } - }); }, // 鍗曢�夋寜閽� @@ -255,7 +423,6 @@ this.total = response.data.total; this.loading = false; } - }); }, /** 鎼滅储鎸夐挳鎿嶄綔 */ @@ -309,12 +476,14 @@ }; confirmOrder(data).then((res) => { if (res.code == 200) { + // this.$forceUpdate(); this.getList(); this.$modal.msgSuccess("鎻愪氦鎴愬姛锛�"); } }); }); }, + tongbu() {}, // 椹冲洖鎸夐挳 bohui(row) { this.tjNumbers = row.tjNumber; diff --git a/src/views/system/tijianall/index.vue b/src/views/system/tijianall/index.vue index 6a6304f..970ab55 100644 --- a/src/views/system/tijianall/index.vue +++ b/src/views/system/tijianall/index.vue @@ -3,63 +3,153 @@ <el-row> <el-col :span="18"> <div> - <el-form style="margin: 4px 8px" :inline="true" ref="form" :model="form" :rules="rules" - :label-position="labelPosition" class="demo-form-inline" label-width="78px"> - <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="璇疯緭鍏ュ鍚�" style="width: 160px" /> - </el-form-item> - <el-form-item label="璇佷欢绫诲瀷" prop="idType"> - <el-select style="width: 160px" 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="cusIdcard" :rules="[ - { - required: true, validator: (rule, value, callback) => { - if (!form.cusIdcard) { - callback('') - } else if (form.cusIdcard) { - callback() - } - - }, trigger: 'blur' - }]"> - <span slot="label" style="display:inline-block;border-bottom: 2px solid blue;" @click="handleQuery"> - 璇佷欢鍙� - </span> - <el-input style="width: 186px" v-model="form.cusIdcard" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" @input="inputChange" /> - <!-- <i + <el-form + style="margin: 4px 8px" + :inline="true" + ref="form" + :model="form" + :rules="rules" + :label-position="labelPosition" + class="demo-form-inline" + label-width="84px" + > + <el-row> + <el-col :span="5"> + <el-form-item + style="display: flex" + 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="璇疯緭鍏ュ鍚�" /> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item + label="璇佷欢绫诲瀷" + prop="idType" + style="display: flex" + > + <el-select 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-col> + <el-col :span="7"> + <el-form-item + style="display: flex" + label="璇佷欢鍙�" + prop="cusIdcard" + :rules="[ + { + required: true, + validator: (rule, value, callback) => { + if (!form.cusIdcard) { + callback(''); + } else if (form.cusIdcard) { + callback(); + } + }, + trigger: 'blur', + }, + ]" + > + <span + slot="label" + style="display: inline-block; border-bottom: 2px solid blue" + @click="handleQuery" + > + 璇佷欢鍙� + </span> + <el-input + v-model="form.cusIdcard" + placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" + @input="inputChange" + /> + <!-- <i style="font-size: 17px; margin-left: 3px" class="el-icon-search" @click="handleQuery" ></i> --> - </el-form-item> - <el-form-item label="骞撮緞" prop="age"> - <el-input style="width: 55px" v-model="form.age" /> - </el-form-item> - <el-form-item prop="ageUnit"> - <el-select style="width: 60px" v-model="form.ageUnit" @change="formchang"> - <el-option v-for="dict in dict.type.dict_ageunit" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> - </el-select> - </el-form-item> - <el-form-item label="鎬у埆" prop="cusSex"> - <el-select style="width: 160px" v-model="form.cusSex" placeholder="璇烽�夋嫨鎬у埆" @change="formchang"> - <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> + </el-col> + </el-row> + <el-row> + <el-col :span="5"> + <el-form-item + label="姘戞棌" + prop="cusNational" + style="display: flex" + > + <el-select + filterable + 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-col> + <el-col :span="6"> + <el-form-item label="鎬у埆" prop="cusSex" style="display: flex"> + <el-select + v-model="form.cusSex" + placeholder="璇烽�夋嫨鎬у埆" + @change="formchang" + > + <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-col> + <el-col :span="5"> + <el-form-item label="骞撮緞" prop="age" style="display: flex"> + <el-input v-model="form.age" /> + </el-form-item> + </el-col> + <el-col :span="2"> + <el-form-item prop="ageUnit"> + <el-select + v-model="form.ageUnit" + @change="formchang" + style="width: 80%" + > + <el-option + v-for="dict in dict.type.dict_ageunit" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> <!-- <input name="ReadBlockBtn" type="button" size="5px" @click="readblock" value="璇诲崱" /> --> <!-- <el-form-item label="鍑虹敓鏃ユ湡" prop="cusBrithday"> @@ -67,37 +157,149 @@ value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨鍑虹敓鏃ユ湡"> </el-date-picker> </el-form-item> --> - <el-form-item label="鑱旂郴鐢佃瘽" prop="cusPhone" :rules="[ - { - required: true, validator: (rule, value, callback) => { - if (!form.cusPhone) { - callback('') - } else if (form.cusPhone) { - callback() - } - }, trigger: 'blur' - }]"> - <el-input v-model="form.cusPhone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" style="width: 160px" /> - </el-form-item> - <el-form-item label="姘戞棌" prop="cusNational"> - <el-select filterable v-model="form.cusNational" placeholder="璇烽�夋嫨姘戞棌" style="width: 130px"> - <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="cusEmail"> - <el-input v-model="form.cusEmail" placeholder="璇疯緭鍏ラ偖绠�" style="width: 200px" /> - </el-form-item> - <el-form-item label="濠氬Щ" prop="cusMarryStatus"> - <el-select style="width: 160px" 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="cusAddr"> - <el-input v-model="form.cusAddr" placeholder="璇疯緭鍏ョ幇灞呬綇鍦板潃" style="width: 440px" /> - </el-form-item> + <el-row> + <el-col :span="5"> + <el-form-item + label="濠氬Щ" + prop="cusMarryStatus" + style="display: flex" + > + <el-select + 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-col> + + <el-col :span="6"> + <el-form-item + label="浣撴绫诲埆" + prop="category" + style="display: flex" + > + <el-select + v-model="form.category" + 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-col> + <el-col :span="7"> + <el-form-item + style="display: flex" + label="鑱旂郴鐢佃瘽" + prop="cusPhone" + :rules="[ + { + required: true, + validator: (rule, value, callback) => { + if (!form.cusPhone) { + callback(''); + } else if (form.cusPhone) { + callback(); + } + }, + trigger: 'blur', + }, + ]" + > + <el-input + v-model="form.cusPhone" + placeholder="璇疯緭鍏ヨ仈绯荤數璇�" + /> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="5"> + <el-form-item + label="浣撴绫诲瀷" + prop="tjType" + style="display: flex" + > + <el-select v-model="form.tjType" placeholder="璇烽�夋嫨浣撴绫诲瀷"> + <el-option + v-for="dict in dict.type.dict_team" + :key="dict.value" + :label="dict.label" + :value="parseInt(dict.value)" + ></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鑱屼笟" prop="career" style="display: flex"> + <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-col> + <el-col :span="7"> + <el-form-item + label="閭" + prop="cusEmail" + style="display: flex" + > + <el-input v-model="form.cusEmail" placeholder="璇疯緭鍏ラ偖绠�" /> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="5"> + <el-form-item + label="鐜颁綇鍧�" + prop="cusAddr" + style="display: flex" + > + <el-input + v-model="form.cusAddr" + placeholder="璇疯緭鍏ョ幇灞呬綇鍦板潃" + /> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item + label="宸ヤ綔鍗曚綅" + prop="company" + style="display: flex" + > + <el-input + v-model="form.company" + placeholder="璇疯緭鍏ュ伐浣滃崟浣�" + /> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="鍗″彿" prop="indexCard"> + <el-input v-model="form.indexCard" placeholder="璇疯緭鍏ュ崱鍙�" /> + </el-form-item> + </el-col> + </el-row> <!-- <el-form-item label="鎴峰彛鍦板潃" prop="cusAddr"> <el-input v-model="form.cusAddr" placeholder="璇疯緭鍏ユ埛鍙e湴鍧�" /> </el-form-item> --> @@ -111,72 +313,134 @@ <!-- <el-form-item label="绱㈠紩鍗″彿" prop="indexCard"> <el-input v-model="form.indexCard" placeholder="璇疯緭鍏ョ储寮曞崱鍙�" /> </el-form-item> --> - <el-form-item label="浣撴绫诲埆" prop="category"> - <el-select style="width: 140px" v-model="form.category" 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 label="閮ㄩ棬" prop="department"> - <el-input v-model="form.department" placeholder="璇疯緭鍏ラ儴闂�" style="width: 160px" /> - </el-form-item> - <el-form-item label="宸ヤ綔鍗曚綅" prop="company"> - <el-input v-model="form.company" placeholder="璇疯緭鍏ュ伐浣滃崟浣�" style="width: 440px" /> - </el-form-item> - <el-form-item label="鑱屼笟" prop="career"> - <el-select filterable :disabled="isDisabled" v-model="form.career" placeholder="璇疯緭鍏ヨ亴涓�" style="width: 140px"> - <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="reservationTime"> - <el-date-picker v-model="form.reservationTime" type="date" value-format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" - :picker-options="setDisabled" style="width: 160px"> - </el-date-picker> - </el-form-item> - <el-form-item label="鏃堕棿" prop="timeRegion"> - <el-select style="width: 160px" v-model="form.timeRegion" placeholder="璇烽�夋嫨棰勭害鏃堕棿"> - <el-option v-for="dict in dict.type.tj_time_region" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> - </el-select> - </el-form-item> - <el-form-item label="鍗″彿" prop="indexCard"> - <el-input v-model="form.indexCard" placeholder="璇疯緭鍏ュ崱鍙�" style="width: 190px" /> - </el-form-item> - <el-form-item label="浣撴绫诲瀷" prop="tjType" style="margin-right: 20px"> - <el-select style="width: 145px" v-model="form.tjType" placeholder="璇烽�夋嫨浣撴绫诲瀷"> - <el-option v-for="dict in dict.type.dict_team" :key="dict.value" :label="dict.label" - :value="parseInt(dict.value)"></el-option> - </el-select> - </el-form-item> + + <el-row> + <el-col :span="5"> + <el-form-item + label="閮ㄩ棬" + prop="department" + style="display: flex" + > + <el-input + v-model="form.department" + placeholder="璇疯緭鍏ラ儴闂�" + /> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item + label="鏃堕棿" + prop="timeRegion" + style="display: flex" + > + <el-select + v-model="form.timeRegion" + placeholder="璇烽�夋嫨棰勭害鏃堕棿" + > + <el-option + v-for="dict in dict.type.tj_time_region" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="棰勭害鏃ユ湡" prop="reservationTime"> + <el-date-picker + v-model="form.reservationTime" + type="date" + value-format="yyyy-MM-dd" + placeholder="閫夋嫨鏃ユ湡" + :picker-options="setDisabled" + > + </el-date-picker> + </el-form-item> + </el-col> + </el-row> </el-form> </div> </el-col> </el-row> - <el-dialog title="閫夋嫨濂楅" :visible.sync="taocan" width="42%" height="700px"> - <el-tabs type="border-card" style="height: 538px; margin: 0 10px; width: 100%"> + <el-dialog + title="閫夋嫨濂楅" + :visible.sync="taocan" + width="42%" + height="700px" + > + <el-tabs + type="border-card" + style="height: 538px; margin: 0 10px; width: 100%" + > <el-tab-pane label="濂楅"> - <el-form :model="queryParam" ref="queryForm" size="small" :inline="true" v-show="showSearch" - @submit.native.prevent label-width="auto"> + <el-form + :model="queryParam" + ref="queryForm" + size="small" + :inline="true" + v-show="showSearch" + @submit.native.prevent + 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="tab9"> <div class="grid-content bg-purple" style="width: 100%"> - <el-table v-loading="loading" element-loading-text="姝e湪鍔犺浇涓�..." element-loading-spinner="el-icon-loading" - border :data="newpacName" @select="handleSelectionChange" height="430" ref="tb" style="width: 1000px"> + <el-table + v-loading="loading" + element-loading-text="姝e湪鍔犺浇涓�..." + element-loading-spinner="el-icon-loading" + border + :data="newpacName" + @select="handleSelectionChange" + height="430" + ref="tb" + style="width: 1000px" + > <template slot="empty">鏁版嵁姝e湪鍔犺浇涓�</template> - <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" /> + <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" + /> <!-- <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-circle-check" @click="handleSeach(scope.row)" @@ -199,8 +463,13 @@ <el-tab-pane label="鍗曢」"> <div class="tab8"> <div class="tab7"> - <v-tree-transfer :treeData="treedataList" :defaultProps="{ children: 'tjProjectList', label: 'proName' }" - :defaultKeys="defaultKeys" @changeKeys="changeCategoryKeys" :key="datekey"></v-tree-transfer> + <v-tree-transfer + :treeData="treedataList" + :defaultProps="{ children: 'tjProjectList', label: 'proName' }" + :defaultKeys="defaultKeys" + @changeKeys="changeCategoryKeys" + :key="datekey" + ></v-tree-transfer> <!-- <el-tree :data="data" show-checkbox node-key="proId" :props="defaultProps" :default-checked-keys="treeList" @check-change="handleCurrentChecked"> </el-tree> --> @@ -267,9 +536,19 @@ </div> --> <template> - <el-form :model="form" :inline="true" label-width="75px" style="margin-left: 10px"> + <el-form + :model="form" + :inline="true" + label-width="75px" + style="margin-left: 10px" + > <el-form-item label="搴旀敹閲戦" style="margin-right: 20px"> - <el-input placeholder="搴旀敹閲戦" :value="TotalPrice1 + '.00'" disabled style="width: 150px"></el-input> + <el-input + placeholder="搴旀敹閲戦" + :value="TotalPrice1 + '.00'" + disabled + style="width: 150px" + ></el-input> </el-form-item> <!-- <el-form-item label="浼樻儬鎶樻墸" style="margin-right: 20px"> <el-input style="width: 100px" text="number" v-model="discount" :value="discount/100"></el-input> @@ -277,15 +556,40 @@ @change="numberChange" :disabled="isfalse"></el-input-number> </el-form-item> --> <el-form-item label="瀹炴敹閲戦" style="margin-right: 20px"> - <el-input placeholder="瀹炴敹閲戦" v-model="TotalPrice" disabled style="width: 190px"></el-input> + <el-input + placeholder="瀹炴敹閲戦" + v-model="TotalPrice" + disabled + style="width: 190px" + ></el-input> </el-form-item> <el-form-item> - <el-button type="primary" @click="Package" size="mini">閫夋嫨濂楅</el-button> + <el-button type="primary" @click="Package" size="mini" + >閫夋嫨濂楅</el-button + > - <el-button type="primary" @click="submitPrice" size="mini" :disabled="confirm">棰勭害鐧昏</el-button> - <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 + type="primary" + @click="submitPrice" + size="mini" + :disabled="confirm" + >棰勭害鐧昏</el-button + > + <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-form-item> </el-form> </template> @@ -293,14 +597,16 @@ <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: 1020px; margin-left: 20px; - "> + " + > <el-collapse v-model="index" accordion> <div v-for="(item, index) in tableData1" :key="index"> <el-collapse-item :name="index"> @@ -316,15 +622,26 @@ ".00鍏�)" }} </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="搴旀敹閲戦"> @@ -333,7 +650,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> @@ -360,13 +680,15 @@ </el-collapse> </div> - <div style=" + <div + style=" position: absolute; bottom: 100px; left: 500px; width: 700px; display: none; - "> + " + > <div id="printBill"> <div style="font-size: 13px; color: #000000"> <div style="width: 48%; margin-top: 10px"> @@ -418,12 +740,26 @@ </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="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> @@ -454,7 +790,8 @@ import historyTj from "@/components/historyTj/index"; export default { components: { - VTreeTransfer, historyTj + VTreeTransfer, + historyTj, }, dicts: [ "dict_user_national", @@ -472,14 +809,14 @@ data() { let checkPhoneNum = (rule, value, callback) => { - console.log( value) + 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(""); } }; // const isCnNewID = (rule, value, callback) => { @@ -652,7 +989,9 @@ }, // 琛ㄥ崟鏍¢獙 rules: { - cusName: [{ required: true, validator: checkPhoneNum, trigger: "blur" }], + cusName: [ + { required: true, validator: checkPhoneNum, trigger: "blur" }, + ], cusSex: [ { required: true, validator: checkPhoneNum, trigger: "change" }, ], @@ -722,8 +1061,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; @@ -821,7 +1160,7 @@ .then((_) => { done(); }) - .catch((_) => { }); + .catch((_) => {}); }, getList1() { getInfo().then((response) => { @@ -1051,7 +1390,7 @@ }); }); }); - } catch (error) { } + } catch (error) {} this.loading = false; }); }, diff --git a/vue.config.js b/vue.config.js index 6c2da31..3603595 100644 --- a/vue.config.js +++ b/vue.config.js @@ -1,15 +1,15 @@ -'use strict' -const path = require('path') +"use strict"; +const path = require("path"); function resolve(dir) { - return path.join(__dirname, dir) + return path.join(__dirname, dir); } -const CompressionPlugin = require('compression-webpack-plugin') +const CompressionPlugin = require("compression-webpack-plugin"); -const name = process.env.VUE_APP_TITLE || '鏅烘収鍋ュ悍浣撴绠$悊绯荤粺' // 缃戦〉鏍囬 +const name = process.env.VUE_APP_TITLE || "鏅烘収鍋ュ悍浣撴绠$悊绯荤粺"; // 缃戦〉鏍囬 -const port = process.env.port || process.env.npm_config_port || 80 // 绔彛 +const port = process.env.port || process.env.npm_config_port || 80; // 绔彛 // vue.config.js 閰嶇疆璇存槑 //瀹樻柟vue.config.js 鍙傝�冩枃妗� https://cli.vuejs.org/zh/config/#css-loaderoptions @@ -20,121 +20,117 @@ // 渚嬪 https://www.ruoyi.vip/銆傚鏋滃簲鐢ㄨ閮ㄧ讲鍦ㄤ竴涓瓙璺緞涓婏紝浣犲氨闇�瑕佺敤杩欎釜閫夐」鎸囧畾杩欎釜瀛愯矾寰勩�備緥濡傦紝濡傛灉浣犵殑搴旂敤琚儴缃插湪 https://www.ruoyi.vip/admin/锛屽垯璁剧疆 baseUrl 涓� /admin/銆� publicPath: process.env.NODE_ENV === "production" ? "/" : "/", // 鍦╪pm run build 鎴� yarn build 鏃� 锛岀敓鎴愭枃浠剁殑鐩綍鍚嶇О锛堣鍜宐aseUrl鐨勭敓浜х幆澧冭矾寰勪竴鑷达級锛堥粯璁ist锛� - outputDir: 'dist', + outputDir: "dist", // 鐢ㄤ簬鏀剧疆鐢熸垚鐨勯潤鎬佽祫婧� (js銆乧ss銆乮mg銆乫onts) 鐨勶紱锛堥」鐩墦鍖呬箣鍚庯紝闈欐�佽祫婧愪細鏀惧湪杩欎釜鏂囦欢澶逛笅锛� - assetsDir: 'static', + assetsDir: "static", // 鏄惁寮�鍚痚slint淇濆瓨妫�娴嬶紝鏈夋晥鍊硷細ture | false | 'error' - lintOnSave: process.env.NODE_ENV === 'development', + lintOnSave: process.env.NODE_ENV === "development", // 濡傛灉浣犱笉闇�瑕佺敓浜х幆澧冪殑 source map锛屽彲浠ュ皢鍏惰缃负 false 浠ュ姞閫熺敓浜х幆澧冩瀯寤恒�� productionSourceMap: false, // webpack-dev-server 鐩稿叧閰嶇疆 devServer: { - host: '0.0.0.0', + host: "0.0.0.0", port: port, open: true, proxy: { // 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.0.104:5011`, + target: `http://192.168.0.111:5011`, // // target: `http://192.168.0.99:8080/ltkj-admin`, // target: `https://ltpeis.xaltjdkj.cn:5011/ltkj-admin`, + // target: `http://10.168.0.9:5011`, changeOrigin: true, pathRewrite: { - ['^' + process.env.VUE_APP_BASE_API]: '' - } - } + ["^" + process.env.VUE_APP_BASE_API]: "", + }, + }, }, - disableHostCheck: true + disableHostCheck: true, }, css: { extract: false, loaderOptions: { sass: { - sassOptions: { outputStyle: "expanded" } - } - } + sassOptions: { outputStyle: "expanded" }, + }, + }, }, configureWebpack: { name: name, resolve: { alias: { - '@': resolve('src') - } + "@": resolve("src"), + }, }, plugins: [ // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#浣跨敤gzip瑙e帇缂╅潤鎬佹枃浠� new CompressionPlugin({ - cache: false, // 涓嶅惎鐢ㄦ枃浠剁紦瀛� - test: /\.(js|css|html)?$/i, // 鍘嬬缉鏂囦欢鏍煎紡 - filename: '[path].gz[query]', // 鍘嬬缉鍚庣殑鏂囦欢鍚� - algorithm: 'gzip', // 浣跨敤gzip鍘嬬缉 - minRatio: 0.8 // 鍘嬬缉鐜囧皬浜�1鎵嶄細鍘嬬缉 - }) + cache: false, // 涓嶅惎鐢ㄦ枃浠剁紦瀛� + test: /\.(js|css|html)?$/i, // 鍘嬬缉鏂囦欢鏍煎紡 + filename: "[path].gz[query]", // 鍘嬬缉鍚庣殑鏂囦欢鍚� + algorithm: "gzip", // 浣跨敤gzip鍘嬬缉 + minRatio: 0.8, // 鍘嬬缉鐜囧皬浜�1鎵嶄細鍘嬬缉 + }), ], }, chainWebpack(config) { - config.plugins.delete('preload') // TODO: need test - config.plugins.delete('prefetch') // TODO: need test + config.plugins.delete("preload"); // TODO: need test + config.plugins.delete("prefetch"); // TODO: need test // set svg-sprite-loader + config.module.rule("svg").exclude.add(resolve("src/assets/icons")).end(); config.module - .rule('svg') - .exclude.add(resolve('src/assets/icons')) - .end() - config.module - .rule('icons') + .rule("icons") .test(/\.svg$/) - .include.add(resolve('src/assets/icons')) + .include.add(resolve("src/assets/icons")) .end() - .use('svg-sprite-loader') - .loader('svg-sprite-loader') + .use("svg-sprite-loader") + .loader("svg-sprite-loader") .options({ - symbolId: 'icon-[name]' + symbolId: "icon-[name]", }) - .end() + .end(); - config - .when(process.env.NODE_ENV !== 'development', - config => { - config - .plugin('ScriptExtHtmlWebpackPlugin') - .after('html') - .use('script-ext-html-webpack-plugin', [{ - // `runtime` must same as runtimeChunk name. default is `runtime` - inline: /runtime\..*\.js$/ - }]) - .end() - config - .optimization.splitChunks({ - chunks: 'all', - cacheGroups: { - libs: { - name: 'chunk-libs', - test: /[\\/]node_modules[\\/]/, - priority: 10, - chunks: 'initial' // only package third parties that are initially dependent - }, - elementUI: { - name: 'chunk-elementUI', // split elementUI into a single package - priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app - test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm - }, - commons: { - name: 'chunk-commons', - test: resolve('src/components'), // can customize your rules - minChunks: 3, // minimum common number - priority: 5, - reuseExistingChunk: true - } - } - }) - config.optimization.runtimeChunk('single'), + config.when(process.env.NODE_ENV !== "development", (config) => { + config + .plugin("ScriptExtHtmlWebpackPlugin") + .after("html") + .use("script-ext-html-webpack-plugin", [ { - from: path.resolve(__dirname, './public/robots.txt'), //闃茬埇铏枃浠� - to: './' //鍒版牴鐩綍涓� - } - } - ) - } -} + // `runtime` must same as runtimeChunk name. default is `runtime` + inline: /runtime\..*\.js$/, + }, + ]) + .end(); + config.optimization.splitChunks({ + chunks: "all", + cacheGroups: { + libs: { + name: "chunk-libs", + test: /[\\/]node_modules[\\/]/, + priority: 10, + chunks: "initial", // only package third parties that are initially dependent + }, + elementUI: { + name: "chunk-elementUI", // split elementUI into a single package + priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app + test: /[\\/]node_modules[\\/]_?element-ui(.*)/, // in order to adapt to cnpm + }, + commons: { + name: "chunk-commons", + test: resolve("src/components"), // can customize your rules + minChunks: 3, // minimum common number + priority: 5, + reuseExistingChunk: true, + }, + }, + }); + config.optimization.runtimeChunk("single"), + { + from: path.resolve(__dirname, "./public/robots.txt"), //闃茬埇铏枃浠� + to: "./", //鍒版牴鐩綍涓� + }; + }); + }, +}; -- Gitblit v1.8.0