From c140987b3ef6fd47e3b795fc3a2c6f880f49f9c2 Mon Sep 17 00:00:00 2001 From: qx <1084500556@qq.com> Date: 星期三, 12 三月 2025 13:41:28 +0800 Subject: [PATCH] qx --- src/views/system/Checkout/index.vue | 513 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 414 insertions(+), 99 deletions(-) diff --git a/src/views/system/Checkout/index.vue b/src/views/system/Checkout/index.vue index 2807dab..dda798a 100644 --- a/src/views/system/Checkout/index.vue +++ b/src/views/system/Checkout/index.vue @@ -1,64 +1,174 @@ <template> <div class="app-container"> - <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="name"> - <el-input style="width: 116px" ref="inputName" v-model="queryParams.name" placeholder="璇疯緭鍏ュ鍚�" - @keyup.enter.native="handleQuery" /> + <el-input + style="width: 116px" + ref="inputName" + v-model="queryParams.name" + placeholder="璇疯緭鍏ュ鍚�" + @keyup.enter.native="handleQuery" + @input="queryParams.name = $event.replace(/\s/g, '')" + /> </el-form-item> <el-form-item label="浣撴鍙�" prop="tjNum"> - <el-input ref="inputName" v-model="queryParams.tjNum" placeholder="璇疯緭鍏ヤ綋妫�鍙�" @keyup.enter.native="handleQuery" @blur="handleQuery" - style="width:170px" clearable /> + <el-input + ref="inputName" + v-model="queryParams.tjNum" + placeholder="璇疯緭鍏ヤ綋妫�鍙�" + @keyup.enter.native="handleQuery" + @blur="hb" + style="width: 170px" + clearable + @input="queryParams.tjNum = $event.replace(/\s/g, '')" + /> </el-form-item> <el-form-item label="鐧昏鏃堕棿" prop="createTimeList"> - <el-date-picker clearable v-model="createTimeList" @change="dateChangebirthday1" style="width: 240px" - value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" - :picker-options="pickerOptions"></el-date-picker> + <el-date-picker + clearable + v-model="createTimeList" + @change="dateChangebirthday1" + :default-time="['00:00:00', '23:59:00']" + format="yyyy-MM-dd HH:mm" + value-format="yyyy-MM-dd HH:mm" + type="daterange" + range-separator="-" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + :picker-options="pickerOptions" + ></el-date-picker> </el-form-item> <!-- <el-form-item label="鎶ュ憡鏃堕棿" prop="reportTimeList"> <el-date-picker clearable v-model="queryParams.reportTimeList" type="daterange" range-separator="-" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" :picker-options="pickerOptions" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨鍑烘姤鍛婃椂闂�" style="width: 240px"> </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-row :gutter="10" style="margin: 0 16px;"> + <el-row :gutter="10" style="margin: 0 16px"> <!-- <el-col :span="1.5"> <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['hosp:order:export']" style="margin-left:14px">瀵煎嚭</el-button> </el-col> --> <el-col :span="1.5"> - <el-button type="primary" size="mini" @click="handleDelete" :disabled="multiple">绛剧鐧昏</el-button> + <el-button + type="primary" + size="mini" + @click="handleDelete" + :disabled="multiple" + >绛剧鐧昏</el-button + > </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" style="margin-right:40px"></right-toolbar> + <right-toolbar + :showSearch.sync="showSearch" + @queryTable="getList" + style="margin-right: 40px" + ></right-toolbar> </el-row> <template> - <el-table ref="tb" border style="margin: 14px; width: 98%" v-loading="loading" :data="orderList" - @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="tjCustomerName" width="100px" :show-overflow-tooltip="true" - fixed="left" /> - <el-table-column label="鎬у埆" align="center" prop="tjCustomerSex" width="55px" :show-overflow-tooltip="true"> + <el-table + ref="tb" + border + style="margin: 14px; width: 98%" + v-loading="loading" + :data="orderList" + @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="tjCustomerName" + width="100px" + :show-overflow-tooltip="true" + fixed="left" + /> + <el-table-column + label="鎬у埆" + align="center" + prop="tjCustomerSex" + width="55px" + :show-overflow-tooltip="true" + > <template slot-scope="scope"> - <span v-if="scope.row.tjCustomerSex == '0'">鐢�</span> - <span v-if="scope.row.tjCustomerSex == '1'">濂�</span> + <dict-tag + :options="dict.type.sys_user_sex" + :value="scope.row.tjCustomerSex" + /> </template> </el-table-column> - <el-table-column label="骞撮緞" align="center" prop="tjCustomerAge" width="55px" :show-overflow-tooltip="true" /> - <el-table-column label="鐢佃瘽" align="center" prop="tjCustomerPhone" width="120px" :show-overflow-tooltip="true" /> - <el-table-column label="浣撴绫诲瀷" align="center" prop="tjType" width="80px" :show-overflow-tooltip="true"> + <el-table-column + label="骞撮緞" + align="center" + prop="tjCustomerAge" + width="55px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鐢佃瘽" + align="center" + prop="tjCustomerPhone" + width="120px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="浣撴绫诲瀷" + align="center" + prop="tjType" + width="80px" + :show-overflow-tooltip="true" + > <template slot-scope="scope"> <span v-if="scope.row.tjType == '2'">涓汉</span> <span v-if="scope.row.tjType == '1'">鍥㈤槦</span> </template> </el-table-column> - <el-table-column label="浣撴鍙�" align="center" prop="tjNumber" width="160px" :show-overflow-tooltip="true" /> + <el-table-column + label="浣撴鍙�" + align="center" + prop="tjNumber" + width="160px" + :show-overflow-tooltip="true" + /> - <el-table-column label="鐧昏鏃堕棿" align="center" prop="createTime" width="155px" :show-overflow-tooltip="true"> + <el-table-column + label="鐧昏鏃堕棿" + align="center" + prop="createTime" + width="155px" + :show-overflow-tooltip="true" + > <template slot-scope="scope"> <span>{{ parseTime(scope.row.createTime) }}</span> </template> @@ -73,89 +183,205 @@ <span>{{ parseTime(scope.row.reportTime) }}</span> </template> </el-table-column> --> - <el-table-column label="鎵�閫夊椁�" align="center" prop="pacName" width="150px" :show-overflow-tooltip="true" /> - <el-table-column label="鍗曚綅宸ュ彿" align="center" prop="firmWorkId" width="100px" :show-overflow-tooltip="true" /> - <el-table-column label="鍗曚綅鍚嶇О" align="center" prop="dictCompName" :show-overflow-tooltip="true" height="10px" /> - - + <el-table-column + label="鎵�閫夊椁�" + align="center" + prop="pacName" + width="150px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鍗曚綅宸ュ彿" + align="center" + prop="firmWorkId" + width="100px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鍗曚綅鍚嶇О" + align="center" + prop="dictCompName" + :show-overflow-tooltip="true" + height="10px" + /> </el-table> </template> <div class="pag"> <div class="pag1"> - <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" - :current-page="queryParams.pageNum" :page-sizes="[10, 20, 30, 40]" :page-size="queryParams.pageSize" - layout="total, sizes, prev, pager, next, jumper" :total="total"> + <el-pagination + background + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :current-page="queryParams.pageNum" + :page-sizes="[10, 20, 30, 40]" + :page-size="queryParams.pageSize" + layout="total, sizes, prev, pager, next, jumper" + :total="total" + > </el-pagination> </div> </div> - <el-dialog title="PDF 棰勮" :visible.sync="dialogVisible" :close-on-click-modal="false"> + <el-dialog + title="PDF 棰勮" + :visible.sync="dialogVisible" + :close-on-click-modal="false" + > <div class="main"> - <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe> + <iframe + id="printIframe" + :src="url" + frameborder="0" + style="width: 100%; height: 100%" + ></iframe> </div> </el-dialog> - <el-dialog title="瀵艰瘖鍗�" :visible.sync="daoZhenDan" :close-on-click-modal="false"> + <el-dialog + title="瀵艰瘖鍗�" + :visible.sync="daoZhenDan" + :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="title" :visible.sync="open" width="660px"> - <el-form :model="formIn" ref="queryForm" size="small" :inline="true" label-width="68px"> + <el-dialog + :title="title" + :visible.sync="open" + width="660px" + :close-on-click-modal="false" + > + <el-form + :model="formIn" + ref="queryForm" + size="small" + :inline="true" + label-width="68px" + > <el-form-item label="浣撴鍙�" prop="tjNumber"> - <el-input ref="inputName" v-model="formIn.tjNumber" style="width:212px" clearable /> + <el-input + ref="inputName" + v-model="formIn.tjNumber" + style="width: 212px" + clearable + /> </el-form-item> <el-form-item label="鐧昏鏃堕棿" prop="createTime"> - <el-input ref="inputName" v-model="formIn.createTime" style="width:212px" clearable /> + <el-input + ref="inputName" + v-model="formIn.createTime" + style="width: 212px" + clearable + /> </el-form-item> - <br> + <br /> <el-form-item label="濮撳悕" prop="tjCustomerName"> - <el-input style="width: 116px" ref="inputName" v-model="formIn.tjCustomerName" /> + <el-input + style="width: 116px" + ref="inputName" + v-model="formIn.tjCustomerName" + /> </el-form-item> <el-form-item label="鎬у埆" prop="tjCustomerSex"> - <el-input style="width: 116px" ref="inputName" v-model="formIn.tjCustomerSex" /> + <el-input + style="width: 116px" + ref="inputName" + v-model="formIn.tjCustomerSex" + > + </el-input> </el-form-item> <el-form-item label="骞撮緞" prop="tjCustomerAge"> - <el-input style="width: 116px" ref="inputName" v-model="formIn.tjCustomerAge" placeholder="璇疯緭鍏ュ鍚�" /> + <el-input + style="width: 116px" + ref="inputName" + v-model="formIn.tjCustomerAge" + placeholder="璇疯緭鍏ュ鍚�" + /> </el-form-item> </el-form> - <el-table :data="numberList" style="width: 100%;margin-bottom: 10px;" height="400px" border :row-class-name="tableRowClassName"> - <el-table-column prop="proCheckType" label="妫�鏌ョ被鍨�" width="180" align="center"> + <el-table + :data="numberList" + style="width: 100%; margin-bottom: 10px" + height="400px" + border + :row-class-name="tableRowClassName" + > + <el-table-column + prop="proCheckType" + label="妫�鏌ョ被鍨�" + width="180" + align="center" + > </el-table-column> <el-table-column prop="proName" label="椤圭洰" width="180" align="center"> </el-table-column> <el-table-column label="瀹屾垚" prop="type" width="86" align="center"> <template slot-scope="scope"> - <el-checkbox v-model="scope.row.type" disabled></el-checkbox> + <el-checkbox + @change="handelcheckbox1(scope.row)" + v-model="scope.row.type" + :disabled="scope.row.leave" + ></el-checkbox> </template> </el-table-column> <el-table-column label="寮冩" prop="type2" width="86" align="center"> <template slot-scope="scope"> - <el-checkbox @change="handelcheckbox" v-model="scope.row.type2" :disabled="leave"> + <el-checkbox + @change="handelcheckbox(scope.row)" + v-model="scope.row.type2" + :disabled="scope.row.leave" + > <!-- <el-checkbox v-model="scope.row.type2"></el-checkbox> --> </el-checkbox> </template> </el-table-column> <el-table-column label="寤舵湡" prop="type3" width="86" align="center"> <template slot-scope="scope"> - <el-checkbox @change="handelcheck" v-model="scope.row.type3" :disabled="leave"> + <el-checkbox + @change="handelcheck(scope.row)" + v-model="scope.row.type3" + :disabled="scope.row.leave" + > </el-checkbox> </template> </el-table-column> </el-table> <div v-show="tcShow"> - <el-form :model="postpone" ref="queryForm" v-show="postpone" size="small" label-width="68px"> + <el-form + :model="postpone" + ref="queryForm" + v-show="postpone" + size="small" + label-width="68px" + > <el-form-item label="寤舵湡澶╂暟" prop="day"> - <el-input ref="inputName" v-model="postpone.day" style="width:170px" clearable /> + <el-input + ref="inputName" + v-model="postpone.day" + style="width: 170px" + clearable + /> </el-form-item> - <br> + <br /> <el-form-item label="寤舵湡鍘熷洜" prop="cause"> - <el-input style="width:100%" ref="inputName" v-model="postpone.cause" maxlength="10" show-word-limit /> + <el-input + style="width: 100%" + ref="inputName" + v-model="postpone.cause" + maxlength="10" + show-word-limit + /> </el-form-item> </el-form> </div> @@ -163,7 +389,7 @@ <!-- 寮冩2锛屽欢鏈�3 --> <div slot="footer" class="dialog-footer"> <!-- <el-button @click="cancel">寤舵湡</el-button> --> - <el-button @click="canaffirm">纭绛剧</el-button> + <el-button :loading = isLoading @click="canaffirm">纭绛剧</el-button> </div> </el-dialog> </div> @@ -178,7 +404,9 @@ goOut, getPdf, goabandon, + getNewDateList, } from "@/api/hosp/order"; +import moment from "moment"; import { getwater } from "@/api/hosp/customer"; import ViewPdf from "@/components/ViewPdf"; import { projectGetList, getaddtTransition } from "@/api/system/tijian"; @@ -186,15 +414,16 @@ components: { ViewPdf, }, - dicts: ["dict_pay_type"], + dicts: ["dict_pay_type","sys_user_sex"], name: "Order", data() { return { - selectList:[], - leave:false, + selectList: [], + leave: false, checked: false, radioId1: false, - createTimeList: "", + isLoading:false, + createTimeList: [], cusId: "", payType: "0", dialogVisible: false, @@ -205,7 +434,7 @@ flag: true, bill: null, Treedata: [], - DataList:[], + DataList: [], defaultProps: { children: "tjProjectList", label: "proName", @@ -216,13 +445,14 @@ List: [], postpone: { day: null, - caches: null + caches: null, }, tcShow: false, // remarkId: "", // remarkId1: "", type: null, type1: null, + types: null, // 濂楅鎻愪氦鎸夐挳 confirm: false, list1: true, @@ -307,8 +537,9 @@ }; }, created() { - this.getNowTime(); - this.getList(); + // this.getNowTime(); + + this.getdate(); }, mounted() { this.$nextTick(() => { @@ -316,6 +547,15 @@ }); }, methods: { + getdate() { + getNewDateList().then((res) => { + this.createTimeList = [ + moment(res.data).format("YYYY-MM-DD 00:00:00"), + moment(res.data).format("YYYY-MM-DD 23:59:00"), + ]; + this.getList(); + }); + }, // / 澶勭悊榛樿閫変腑褰撳墠鏃ユ湡 getNowTime() { var curDate = new Date().getTime(); @@ -340,8 +580,17 @@ }, /** 鏌ヨ浣撴璁板綍鍒楄〃 */ getList() { - this.queryParams.djbeginTime = this.startTime[0]; - this.queryParams.djendTime = this.startTime[1]; + if (this.startTime) { + this.queryParams.djbeginTime = this.startTime[0]; + this.queryParams.djendTime = this.startTime[1]; + } else if (this.createTimeList) { + this.queryParams.djbeginTime = this.createTimeList[0]; + this.queryParams.djendTime = this.createTimeList[1]; + } else if (this.createTimeList == null) { + this.queryParams.djbeginTime = null; + this.queryParams.djendTime = null; + } + this.loading = true; getQianLiList(this.queryParams).then((response) => { this.orderList = response.data.list; @@ -425,6 +674,11 @@ }; this.resetForm("form"); }, + hb() { + if (this.queryParams.tjNum != undefined) { + this.handleQuery(); + } + }, /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { this.queryParams.pageNum = 1; @@ -432,6 +686,8 @@ }, /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { + this.createTimeList = []; + this.startTime = []; this.resetForm("queryForm"); this.handleQuery(); }, @@ -525,17 +781,56 @@ }); }, - handelcheckbox(val) { + handelcheckbox1(val) { // this.numberList.forEach(item => { // if(item.type2 === true){ // item.type3 = false // } // }) for (let i = 0; i <= this.numberList.length; i++) { - if (this.numberList[i].type2 === true) { - this.numberList[i].type3 = false - this.tcShow = false - return + if (val.proId == this.numberList[i].proId) { + if (this.numberList[i].type === true) { + this.numberList[i].type3 = false; + this.numberList[i].type2 = false; + this.tcShow = false; + return; + } else { + return; + } + } + } + // this.type2 = val + // this.numberList.forEach(item => { + // if (item.type === true) { + // item.type2 = false; + // item.type3 = false; + // } else{ + // this.type2 = val + // if (this.type2 === true) { + // item.type = false + // item.type3 = false + // } + // } + // }) + }, + + handelcheckbox(val) { + // this.numberList.forEach(item => { + // if(item.type2 === true){ + // item.type3 = false + // } + // }) + + for (let i = 0; i <= this.numberList.length; i++) { + if (val.proId == this.numberList[i].proId) { + if (this.numberList[i].type2 === true) { + this.numberList[i].type3 = false; + this.numberList[i].type = false; + this.tcShow = false; + return; + } else { + return; + } } } // this.type2 = val @@ -563,10 +858,17 @@ // } // }) for (let i = 0; i <= this.numberList.length; i++) { - if (this.numberList[i].type3 === true) { - this.numberList[i].type2 = false - this.tcShow = true - return + if (val.proId == this.numberList[i].proId) { + if (this.numberList[i].type3) { + if (this.numberList[i].type3 === true) { + this.numberList[i].type2 = false; + this.numberList[i].type = false; + this.tcShow = true; + return; + } + } else { + return; + } } } // this.numberList.forEach(item => { @@ -584,19 +886,21 @@ // } // } // }) - }, - /** 绛剧鎸夐挳鎿嶄綔 */ handleDelete() { this.title = "绛剧鐧昏"; - this.List.forEach((item) => { - this.formIn = item + this.numberList = []; + let list = JSON.parse(JSON.stringify(this.List)) + list.forEach((item) => { + this.formIn = item; if (this.formIn.tjCustomerSex === 0) { - this.formIn.tjCustomerSex = "鐢�" - } else { - this.formIn.tjCustomerSex = "濂�" + this.formIn.tjCustomerSex = "鐢�"; + } else if (this.formIn.tjCustomerSex === 1) { + this.formIn.tjCustomerSex = "濂�"; + } else if (this.formIn.tjCustomerSex === 2) { + this.formIn.tjCustomerSex = "鏈煡"; } this.tjNumber = item.tjNumber; }); @@ -606,20 +910,21 @@ goabandon(data).then((res) => { if (res.data.length != 0) { this.numberList = res.data; - this.numberList.forEach(item => { + this.numberList.forEach((item) => { if (item.type === 1) { item.type = true; item.type2 = false; item.type3 = false; - this.leave = true; - }else{ - this.leave = false; + item.leave = true; + } else { + item.leave = false; } item = { type2: false, type3: false, - } - }) + leave: false, + }; + }); this.open = true; } else { let data = { @@ -635,39 +940,49 @@ } }); }, + // 纭寮冩 canaffirm() { this.List.forEach((item) => { this.tjNumber = item.tjNumber; }); - this.numberList.forEach(element => { - if (element.type2 === true) { - this.type = 2 + this.numberList.forEach((element) => { + if (element.type === true) { + this.types = 1; + this.DataList.push({ + tjNumber: this.tjNumber, + type: this.types, + remarkId: element.remarkId, + }); + } else if (element.type2 === true) { + this.type = 2; this.DataList.push({ tjNumber: this.tjNumber, type: this.type, - remarkId: element.remarkId - }) + remarkId: element.remarkId, + }); } else if (element.type3 === true) { - this.type1 = 3 + this.type1 = 3; this.DataList.push({ tjNumber: this.tjNumber, day: this.postpone.day, remark: this.postpone.cause, type: this.type1, remarkId: element.remarkId, - }) + }); } }); let data = { - domainVos:this.DataList, - tjNumber:this.tjNumber - } + domainVos: this.DataList, + tjNumber: this.tjNumber, + }; + this.isLoading = true gettjGoOut(data).then((res) => { if (res.code === 200) { this.$modal.msgSuccess("鎿嶄綔鎴愬姛"); this.open = false; this.multiple = true; + this.isLoading = false this.getList(); } }); -- Gitblit v1.8.0