diff --git a/src/components/myOrdersAllType/components/OrderList.vue b/src/components/myOrdersAllType/components/OrderList.vue index dd3c3118383d032d135dba1ce6fcdf65eaefc839..243327e97e9c73f9fe9d372063ca9367edfe0d85 100644 --- a/src/components/myOrdersAllType/components/OrderList.vue +++ b/src/components/myOrdersAllType/components/OrderList.vue @@ -1,691 +1,1107 @@ <template> - <el-table border ref="multipleTable" :data="OrderList" style="width: 100%" - :default-sort="{prop: 'null', order: 'null'}" - :sort-by="['Money','Income','PreferTipAmount','PlatformTax','Refund','CostMoney','OrderProfit','DueInMoney']"> - <el-table-column width="200" prop="CreateTimeStr" label="订å•Id" show-overflow-tooltip> - <template slot-scope="scope"> - <div> - <p class="cursor-pointer c059FF6 fz18 row-c" @click="goDetails(scope.row)"> - <el-tag style="margin-right: 5px;" size="mini">{{scope.row.OrderTypeName}}</el-tag> - <span>{{scope.row.OrderId}}</span> - </p> - <p>{{scope.row.CreateTimeStr}}</p> - </div> + <div> + <el-table + border + ref="multipleTable" + :data="OrderList" + style="width: 100%" + :default-sort="{ prop: 'null', order: 'null' }" + :sort-by="[ + 'Money', + 'Income', + 'PreferTipAmount', + 'PlatformTax', + 'Refund', + 'CostMoney', + 'OrderProfit', + 'DueInMoney' + ]" + > + <el-table-column + width="200" + prop="CreateTimeStr" + label="订å•Id" + show-overflow-tooltip + > + <template slot-scope="scope"> + <div> + <p + class="cursor-pointer c059FF6 fz18 row-c" + @click="goDetails(scope.row)" + > + <el-tag style="margin-right: 5px;" size="mini">{{ + scope.row.OrderTypeName + }}</el-tag> + <span>{{ scope.row.OrderId }}</span> + </p> + <p>{{ scope.row.CreateTimeStr }}</p> + <p style="font-size: 13px;" v-if="scope.row.SaleRemarks"> + <span>销售备注:</span> + <span style="color: red;">{{ + scope.row.SaleRemarks ? scope.row.SaleRemarks : "æ— " + }}</span> + </p> + <p style="font-size: 13px;" v-if="scope.row.OP_Remarks"> + <span>OP备注:</span> + <span style="color: red;">{{ + scope.row.OP_Remarks ? scope.row.OP_Remarks : "æ— " + }}</span> + </p> + </div> + </template> + </el-table-column> + <el-table-column + width="200" + prop="CreateTimeStr" + label="团å·" + show-overflow-tooltip + > + <template slot-scope="scope"> + <div> + <p + class=" fz14" + :class="{ 'cursor-pointer c059FF6': scope.row.OrderType == 2 }" + @click="scope.row.OrderType == 2 ? goTuanDetails(scope.row) : ''" + > + {{ scope.row.TCNUM }} + </p> + <p>å‡ºå‘æ—¥æœŸï¼š{{ scope.row.StartDate }}</p> + <p v-if="scope.row.OrderType == 2 && scope.row.Status >= 0"> + {{ + scope.row.Status == 1 + ? "未结团" + : scope.row.Status == 2 + ? "已结团 " + : scope.row.Status == 5 + ? "å¾…ç»“å›¢å®¡æ ¸" + : "" + }}{{ scope.row.Status == 2 ? scope.row.OutGroupAuditDate : "" }} + </p> + </div> + </template> + </el-table-column> + <el-table-column label="客人" show-overflow-tooltip> + <template slot-scope="scope"> + <span + :class="{ 'colorblue font-color-link': pagesTitle != '详情' }" + @click="pagesTitle != '详情' ? openNameDetails(scope.row) : ''" + > + {{ scope.row.GuestName }} + </span> + </template> + </el-table-column> + <el-table-column prop="SaleName" label="销售"> </el-table-column> + <el-table-column prop="LureEmpName" label="引æµ"> </el-table-column> + <el-table-column label="商å“åç§°" show-overflow-tooltip> + <template slot-scope="scope"> + <div + style="max-width: 100px;overflow: hidden;text-overflow: ellipsis" + > + {{ scope.row.Name }} + </div> + </template> + </el-table-column> + <el-table-column label="商å“详情" show-overflow-tooltip> + <template slot-scope="scope"> + <div + style="max-width: 100px;overflow: hidden;text-overflow: ellipsis" + > + {{ scope.row.Description }} + </div> + </template> + </el-table-column> + <el-table-column + sortable + prop="Money" + label="总金é¢" + min-width="100" + show-overflow-tooltip + > + <template slot-scope="scope"> + {{ scope.row.Money }} ({{ scope.row.CurrencyName }}) + </template> + </el-table-column> + <el-table-column sortable prop="Income" label="实收"> </el-table-column> + <el-table-column + sortable + prop="PlatformMoney" + label="在途金é¢" + min-width="110" + > + </el-table-column> + <el-table-column + sortable + prop="PreferTipAmount" + label="人头å°è´¹" + min-width="110" + > + </el-table-column> + <el-table-column + sortable + prop="PlatformTax" + label="手ç»è´¹" + min-width="100" + > + </el-table-column> + <el-table-column sortable prop="Refund" label="退款"> </el-table-column> + <el-table-column sortable prop="CostMoney" label="æˆæœ¬"> + </el-table-column> + <el-table-column sortable prop="DueInMoney" label="å¾…æ”¶"> + <template slot-scope="scope"> + <span :class="{ red: scope.row.DueInMoney > 0 }">{{ + scope.row.DueInMoney + }}</span> + </template> + </el-table-column> + <el-table-column + sortable + prop="OrderProfit" + label="预期利润" + min-width="110" + > + <template slot-scope="scope"> + <span :class="{ red: scope.row.OrderProfit > 0 }">{{ + scope.row.OrderProfit + }}</span> + </template> + </el-table-column> + <el-table-column sortable prop="DiscountsMoney" label="ä¼˜æƒ "> + </el-table-column> + <template v-if="pagesTitle == 'å®¡æ ¸'"> + <el-table-column + prop="Money" + label="申请金é¢" + min-width="100" + show-overflow-tooltip + > + <template slot-scope="scope"> + <span> {{ scope.row.ApplyForMoney }}</span> + </template> + </el-table-column> + <el-table-column + prop="ApplyForReason" + label="申请ç†ç”±" + min-width="100" + show-overflow-tooltip + > + <template slot-scope="scope"> + {{ scope.row.ApplyForReason }} + </template> + </el-table-column> + <el-table-column + prop="ApplyForState" + label="改价状æ€" + show-overflow-tooltip + > + <template slot-scope="scope"> + <span + >{{ + scope.row.ApplyForState == 1 + ? "å¾…å®¡æ ¸" + : scope.row.ApplyForState == 2 + ? "已通过" + : scope.row.ApplyForState == 3 + ? "已拒ç»" + : "" + }} + </span> + </template> + </el-table-column> </template> - </el-table-column> - <el-table-column width="200" prop="CreateTimeStr" label="团å·" show-overflow-tooltip> - <template slot-scope="scope"> - <div> - <p class=" fz14" :class="{'cursor-pointer c059FF6':scope.row.OrderType==2}" - @click="scope.row.OrderType==2?goTuanDetails(scope.row):''">{{scope.row.TCNUM}}</p> - <p>å‡ºå‘æ—¥æœŸï¼š{{scope.row.StartDate}}</p> - <p v-if="scope.row.OrderType==2&&scope.row.Status>=0">{{scope.row.Status==1?"未结团":(scope.row.Status==2?"已结团 ":(scope.row.Status==5?"å¾…ç»“å›¢å®¡æ ¸":""))}}{{scope.row.Status==2?scope.row.OutGroupAuditDate:""}}</p> - </div> - </template> - </el-table-column> - <el-table-column label="客人" show-overflow-tooltip> - <template slot-scope="scope"> - <span :class="{'colorblue font-color-link':pagesTitle!='详情'}" - @click="pagesTitle!='详情'?openNameDetails(scope.row):''"> - {{scope.row.GuestName}} - </span> - </template> - </el-table-column> - <el-table-column prop="SaleName" label="销售"> - </el-table-column> - <el-table-column prop="LureEmpName" label="引æµ"> - </el-table-column> - <el-table-column label="商å“åç§°" show-overflow-tooltip> - <template slot-scope="scope"> - <div style="max-width: 100px;overflow: hidden;text-overflow: ellipsis">{{scope.row.Name}}</div> - </template> - </el-table-column> - <el-table-column label="商å“详情" show-overflow-tooltip> - <template slot-scope="scope"> - <div style="max-width: 100px;overflow: hidden;text-overflow: ellipsis">{{scope.row.Description}}</div> - </template> - </el-table-column> - <el-table-column sortable prop="Money" label="总金é¢" min-width="100" show-overflow-tooltip> - <template slot-scope="scope"> - {{scope.row.Money}} ({{scope.row.CurrencyName}}) - </template> - </el-table-column> - <el-table-column sortable prop="Income" label="实收"> - </el-table-column> - <el-table-column sortable prop="PlatformMoney" label="在途金é¢" min-width="100"> - </el-table-column> - <el-table-column sortable prop="PreferTipAmount" label="人头å°è´¹" min-width="101"> - </el-table-column> - <el-table-column sortable prop="PlatformTax" label="手ç»è´¹" min-width="100"> - </el-table-column> - <el-table-column sortable prop="Refund" label="退款"> - </el-table-column> - <el-table-column sortable prop="CostMoney" label="æˆæœ¬" > - </el-table-column> - <el-table-column sortable prop="DueInMoney" label="å¾…æ”¶"> - <template slot-scope="scope"> - <span :class="{'red':scope.row.DueInMoney>0}">{{scope.row.DueInMoney}}</span> - </template> - </el-table-column> - <el-table-column sortable prop="OrderProfit" label="预期利润" min-width="100"> - <template slot-scope="scope"> - <span :class="{'red':scope.row.OrderProfit>0}">{{scope.row.OrderProfit}}</span> - </template> - </el-table-column> - <el-table-column sortable prop="DiscountsMoney" label="ä¼˜æƒ "> - </el-table-column> - <el-table-column prop="StateName" label="状æ€" show-overflow-tooltip> - <template slot-scope="scope"> - <span>{{scope.row.StateName}}</span> - </template> - </el-table-column> - - <!-- <el-table-column - label="æ“作" - show-overflow-tooltip> - <template slot-scope="scope"> - <el-button size="mini" type="primary" @click="goDetails(scope.row)">查看</el-button> - </template> - </el-table-column> --> - </el-table> + <el-table-column + v-if="pagesTitle != 'å®¡æ ¸'" + prop="StateName" + label="状æ€" + show-overflow-tooltip + > + <template slot-scope="scope"> + <span>{{ scope.row.StateName }}</span> + </template> + </el-table-column> + + <el-table-column label="æ“作" show-overflow-tooltip> + <template slot-scope="scope"> + <!-- <el-button size="mini" type="primary" @click="goDetails(scope.row)">查看</el-button> --> + <template v-if="pagesTitle == '申请'"> + <el-button + v-if="scope.row.OrderChangePriceId == 0" + size="mini" + type="primary" + @click="ckChangePrice(scope.row)" + >申请改价</el-button + > + <el-button + v-else + size="mini" + type="primary" + @click="ckChangePrice(scope.row, 1)" + >修改改价</el-button + > + </template> + <template v-if="pagesTitle == 'å®¡æ ¸'"> + <el-button + v-if="scope.row.ApplyForState == 1" + size="mini" + type="primary" + @click="ckChangePrice(scope.row, 2)" + >å®¡æ ¸</el-button + > + <p + v-else + class=" fz14" + :class="{ 'cursor-pointer c059FF6': scope.row.OrderType > 0 }" + @click="ckChangePrice(scope.row, 3)" + > + 查看详情 + </p> + </template> + </template> + </el-table-column> + </el-table> + <!-- 申请弹窗 --> + <div class="combottomDiv OPremarkDiv" v-if="changePriceMsg.outerVisible"> + <div class="combottomTitle">{{ titlePrice }}</div> + <el-form label-width="100px"> + <el-col :span="8"> + <el-form-item label="应收总金é¢" prop=""> + <el-input + type="textarea" + v-model="changePriceMsg.Money" + rows="6" + ></el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="æ”¹ä»·åŽŸå› " prop=""> + <el-input + type="textarea" + v-model="changePriceMsg.ApplyForReason" + rows="6" + ></el-input> + </el-form-item> + </el-col> + </el-form> + <div slot="footer" class="dialog-footer"> + <button + class="hollowFixedBtn" + @click="changePriceMsg.outerVisible = false" + > + {{ $t("pub.cancelBtn") }} + </button> + <button class="normalBtn" type="primary" @click="setChangePrice"> + {{ $t("pub.sureBtn") }} + </button> + </div> + </div> + <!-- å®¡æ ¸å¼¹çª— --> + <div + class="combottomDiv OPremarkDiv" + v-if="changePriceMsg.outerVisible2" + style="height: 300px;" + > + <div class="combottomTitle"> + {{ titlePrice }} + </div> + <div + slot="footer" + class="dialog-footer" + style="float: right;margin-right: 5%;position: relative; z-index: 1;" + > + <button + :class="[ + changePriceMsg.ApplyForState == 2 ? 'normalBtn' : 'hollowFixedBtn' + ]" + type="primary" + @click=" + changePriceMsg.DialogType == 1 + ? '' + : (changePriceMsg.ApplyForState = 2), + setChangePrice() + " + > + 通过 + </button> + <button + :class="[ + changePriceMsg.ApplyForState == 3 ? 'normalBtn' : 'hollowFixedBtn' + ]" + type="primary" + @click=" + changePriceMsg.DialogType == 1 + ? '' + : (changePriceMsg.ApplyForState = 3), + setChangePrice() + " + > + æ‹’ç» + </button> + <button + class="hollowFixedBtn" + @click="changePriceMsg.outerVisible2 = false" + > + {{ $t("pub.cancelBtn") }} + </button> + <!-- <button class="normalBtn" v-if="changePriceMsg.DialogType==0" + type="primary" @click="setChangePrice">ä¿å˜</button> --> + </div> + <el-form label-width="120px"> + <el-row> + <el-col :span="4"> + <el-form-item label="订å•应收总金é¢"> + <span rows="6"> + {{ changePriceMsg.Money2 }} + </span> + </el-form-item></el-col + > + + <el-col :span="8"> + <el-form-item label="申请ç†ç”±"> + <span rows="6">{{ changePriceMsg.ApplyForReason }} </span> + </el-form-item></el-col + > + </el-row> + <el-row> + <el-col :span="4"> + <el-form-item label="申请总金é¢"> + <span rows="6">{{ changePriceMsg.PreferPrice }}</span> + </el-form-item></el-col + > + <el-col :span="4"> + <el-form-item label="应收总金é¢" prop="Money"> + <el-input + type="number" + :readonly="changePriceMsg.DialogType == 1 ? true : false" + v-model="changePriceMsg.Money" + rows="6" + ></el-input> </el-form-item + ></el-col> + <el-col :span="4" v-if="false"> + <el-form-item label="å®¡æ ¸çŠ¶æ€" prop=""> + <el-radio-group + v-model="changePriceMsg.ApplyForState" + :readonly="changePriceMsg.DialogType == 1 ? true : false" + > + <el-radio :label="2">通过</el-radio> + <el-radio :label="3">æ‹’ç»</el-radio> + </el-radio-group> + </el-form-item></el-col + > + <el-col :span="8"> + <el-form-item label="å®¡æ ¸ç†ç”±" prop=""> + <el-input + :readonly="changePriceMsg.DialogType == 1 ? true : false" + type="textarea" + v-model="changePriceMsg.RefuseReason" + rows="6" + ></el-input> </el-form-item + ></el-col> + </el-row> + </el-form> + </div> + </div> </template> <script> - import offset from '../../public/offset.vue'; - export default { - components: { - offset - }, - props: ["OrderList", "pagesTitle"], - data() { - return { - S_CheckBranchOrder: false, - S_CheckAllOrder: false, - queryObj: null, - cdState: false, - copyId: 0, - loading0: false, - loading1: false, - loading2: false, - loading3: false, - BillMakingMsg: { - // PeroidsId: null, - // Type: null, - // EmpIds:'', - OtherType: 61, - ReFinanceId: "", - ReFinanceId2: "" - }, - userInfo: {}, - msg: { - OrderId: "", - LossMoney: 0, - State: '', //çŠ¶æ€ 1确认 2已邮寄 3设置自æ 4æ”¶æŸ - SelffetchAddress: '' - }, - msgParameter: { - IsUpdateMailing: 1, - OrderId: 0, - Money: 0.0, - Remark: '', - MailingState: '1', //é‚®å¯„çŠ¶æ€ 1è‡ªå– 2邮寄 - MailingAddress: '', //MailingState =2 填写邮寄 - UseDate: '', //门票日期 - Name: '', - EName: '', - Sex: '1', //1ç”·2女 - Birthday: '', - Mobile: '', - CouponsId: '', //景点id - DetailList: [], - }, - rules2: { - Name: [{ +import offset from "../../public/offset.vue"; +export default { + components: { + offset + }, + props: ["OrderList", "pagesTitle"], + data() { + return { + titlePrice: "", + S_CheckBranchOrder: false, + S_CheckAllOrder: false, + queryObj: null, + cdState: false, + copyId: 0, + loading0: false, + loading1: false, + loading2: false, + loading3: false, + BillMakingMsg: { + // PeroidsId: null, + // Type: null, + // EmpIds:'', + OtherType: 61, + ReFinanceId: "", + ReFinanceId2: "" + }, + userInfo: {}, + changePriceMsg: { + ID: 0, + OrderId: 0, + OrderType: 0, + PreferPrice: 0, + Money: 0, + ApplyForReason: "", + RefuseReason: "", + ApplyForState: 1, + setPlatDialog: false, //æ˜¯å¦æ˜¾ç¤ºå¼¹å‡ºæ¡† + outerVisible: false, + outerVisible2: false + }, + msg: { + OrderId: "", + LossMoney: 0, + State: "", //çŠ¶æ€ 1确认 2已邮寄 3设置自æ 4æ”¶æŸ + SelffetchAddress: "" + }, + msgParameter: { + IsUpdateMailing: 1, + OrderId: 0, + Money: 0.0, + Remark: "", + MailingState: "1", //é‚®å¯„çŠ¶æ€ 1è‡ªå– 2邮寄 + MailingAddress: "", //MailingState =2 填写邮寄 + UseDate: "", //门票日期 + Name: "", + EName: "", + Sex: "1", //1ç”·2女 + Birthday: "", + Mobile: "", + CouponsId: "", //景点id + DetailList: [] + }, + rules2: { + Name: [ + { required: true, - message: 'è¯·è¾“å…¥ä¸æ–‡å', - trigger: 'blur' - }], - EName: [{ + message: "è¯·è¾“å…¥ä¸æ–‡å", + trigger: "blur" + } + ], + EName: [ + { required: true, - message: '请输入英文å', - trigger: 'blur' - }], - Mobile: [{ - required: true, - message: "请输入è”系电è¯", - trigger: "blur" - }, - { - pattern: this.$commonUtils.Regex.el_ISphone, - message: "请输入æ£ç¡®çš„电è¯" - } - ], - MailingAddress: [{ + message: "请输入英文å", + trigger: "blur" + } + ], + Mobile: [ + { required: true, - message: '请输入邮寄地å€', - trigger: 'blur' - }], - }, - outerVisible: false, - rules: { - State: [{ + message: "请输入è”系电è¯", + trigger: "blur" + }, + { + pattern: this.$commonUtils.Regex.el_ISphone, + message: "请输入æ£ç¡®çš„电è¯" + } + ], + MailingAddress: [ + { + required: true, + message: "请输入邮寄地å€", + trigger: "blur" + } + ] + }, + outerVisible: false, + rules: { + State: [ + { required: true, message: "请选择订å•状æ€", trigger: "change" - }], - SelffetchAddress: [{ + } + ], + SelffetchAddress: [ + { required: true, message: "请输入自æåœ°å€", trigger: "blur" - }], - LossMoney: [{ + } + ], + LossMoney: [ + { required: true, message: "请输入收æŸé‡‘é¢", trigger: "blur" - }] - }, - cancelOrderDialog: false, - cancelRemark: "", - cancelOrderId: 0, - uploadOrderId: 0, - loading: false, - fileList: [], - GuestFile: '', - ChangeOrderDialog: false, - OrderStatusType: [{ - Name: this.$t('OrderList.orderStatus.apply'), - ID: '1' - }, - { - Name: this.$t('OrderList.orderStatus.check'), - ID: '2' - }, - { - Name: this.$t('OrderList.orderStatus.cancel'), - ID: '3' - }, - { - Name: this.$t('OrderList.orderStatus.sun'), - ID: '4' - }, - ], - items: null, - typeState: '', - Title: '' - }; - }, - watch: { - pagesTitle(val, oldval) { - this.Title = val + } + ] }, - OrderList: { - handler(val, oldVal) { - + cancelOrderDialog: false, + cancelRemark: "", + cancelOrderId: 0, + uploadOrderId: 0, + loading: false, + fileList: [], + GuestFile: "", + ChangeOrderDialog: false, + OrderStatusType: [ + { + Name: this.$t("OrderList.orderStatus.apply"), + ID: "1" + }, + { + Name: this.$t("OrderList.orderStatus.check"), + ID: "2" + }, + { + Name: this.$t("OrderList.orderStatus.cancel"), + ID: "3" + }, + { + Name: this.$t("OrderList.orderStatus.sun"), + ID: "4" } - } + ], + items: null, + typeState: "", + Title: "" + }; + }, + watch: { + pagesTitle(val, oldval) { + this.Title = val; }, - methods: { - goTuanDetails(row) { - let name = '' - if (row.IsOneDayOrder == 1) { - name = 'groupTourOrderByTuanOne' - } else { - name = 'groupTourOrderByTuan' + OrderList: { + handler(val, oldVal) {} + } + }, + methods: { + setChangePrice() { + this.apipost( + "CarSingle_post_SetOrderChangePrice", + this.changePriceMsg, + res => { + if (res.data.resultCode == 1) { + this.changePriceMsg.setPlatDialog = true; + this.changePriceMsg.outerVisible = false; + this.changePriceMsg.outerVisible2 = false; + this.$message.info(res.data.message); + this.$emit("success"); + } else { + this.$message.info(res.data.message); + } } - this.$router.push({ - name: name, - query: { - id: row.TCID, - tcmun: row.TCNUM, - blank: "y", + ); + }, + //ç‚¹å‡»ä¿®æ”¹è®¢å•æ€»ä»· + ckChangePrice(item, type) { + if (!type) this.titlePrice = "申请改价"; + if (type == 1) this.titlePrice = "修改改价"; + if (type == 2) this.titlePrice = "åº”æ”¶æ€»é‡‘é¢æ”¹ä»·å®¡æ ¸"; + if (type == 3) this.titlePrice = "改价详情"; + this.changePriceMsg.ID = type ? item.OrderChangePriceId : 0; + this.changePriceMsg.OrderId = item.OrderId; + this.changePriceMsg.OrderType = item.OrderType; + // this.changePriceMsg.PreferPrice = item.PreferPrice; + // this.changePriceMsg.Money = item.Money; + this.changePriceMsg.setPlatDialog = false; + if (!type || type == 1) this.changePriceMsg.outerVisible = true; + if (type == 2 || type == 3) this.changePriceMsg.outerVisible2 = true; + this.getGetOrderChangePriceDetai(item); + }, + getGetOrderChangePriceDetai(item) { + this.apipost( + "CarSingle_post_GetOrderChangePriceDetail", + { + ID: item.OrderChangePriceId + }, + res => { + if (res.data.resultCode == 1) { + let data = res.data.data; + this.changePriceMsg.Money2 = item.Money; + this.changePriceMsg.Money = data.Money; + this.changePriceMsg.ApplyForState = data.ApplyForState; + this.changePriceMsg.ApplyForReason = data.ApplyForReason; + this.changePriceMsg.PreferPrice = data.ApplyForMoney; + + this.changePriceMsg.RefuseReason = data.RefuseReason; } - }); - }, - goDetails(row) { - let data = [{ + } + ); + }, + + goTuanDetails(row) { + let name = ""; + if (row.IsOneDayOrder == 1) { + name = "groupTourOrderByTuanOne"; + } else { + name = "groupTourOrderByTuan"; + } + this.$router.push({ + name: name, + query: { + id: row.TCID, + tcmun: row.TCNUM, + blank: "y" + } + }); + }, + goDetails(row) { + let data = [ + { path: "", OrderId: row.OrderId, - Type: '' - }] - let href - let url = this.domainManager().crmRoutingUrl; - - if (row.OrderType == 1) { - - if (this.pagesTitle == '销售' || (!this.S_CheckBranchOrder && !this.S_CheckAllOrder)) { - data[0].path = 'myCustomerOrderAllType' + Type: "" + } + ]; + let href; + let url = this.domainManager().crmRoutingUrl; + + if (row.OrderType == 1) { + if ( + this.pagesTitle == "销售" || + (!this.S_CheckBranchOrder && !this.S_CheckAllOrder) + ) { + data[0].path = "myCustomerOrderAllType"; + } else { + data[0].path = "customerOrderAllType"; + } + href = + url + + "automaticLogin?token=" + + this.getLocalStorage().token + + "&data=" + + JSON.stringify(data); + window.open(href); + } else { + let name = ""; + if (row.OrderType == 6) { + if ( + this.pagesTitle == "销售" || + (!this.S_CheckBranchOrder && !this.S_CheckAllOrder) + ) { + name = "VisaProductEditOrder"; } else { - data[0].path = 'customerOrderAllType' + name = "VisaProductEditOrderOP"; } - href = url + 'automaticLogin?token=' + this.getLocalStorage().token + '&data=' + JSON.stringify(data) - window.open(href); - - } else { - let name = '' - if (row.OrderType == 6) { - if (this.pagesTitle == '销售' || (!this.S_CheckBranchOrder && !this.S_CheckAllOrder)) { - name = 'VisaProductEditOrder' + this.$router.push({ + name: name + }); + } else if (row.OrderType == 2) { + //跟团 一日游 + if ( + this.pagesTitle == "销售" || + (!this.S_CheckBranchOrder && !this.S_CheckAllOrder) + ) { + if (row.IsOneDayOrder == 1) { + name = "groupTourOrderOne"; } else { - name = 'VisaProductEditOrderOP' + name = "groupTourOrder"; } - this.$router.push({ - name: name, - }); - } else if (row.OrderType == 2) { //跟团 一日游 - if (this.pagesTitle == '销售' || (!this.S_CheckBranchOrder && !this.S_CheckAllOrder)) { - if (row.IsOneDayOrder == 1) { - name = 'groupTourOrderOne' - } else { - name = 'groupTourOrder' - } - } else { - name = 'enrollTotal' - } - } else if (row.OrderType == 3) { //酒店 - if (this.pagesTitle == '销售' || (!this.S_CheckBranchOrder && !this.S_CheckAllOrder)) { - name = 'singleProductHotelOrder' - } else { - name = 'singleProductHotelOrderOP' - } - } else if (row.OrderType == 4) { //门票 - if (this.pagesTitle == '销售' || (!this.S_CheckBranchOrder && !this.S_CheckAllOrder)) { - name = 'SingleticketOrderList' - } else { - name = 'SingleticketOrderListOP' - } - } else if (row.OrderType == 5) { //包车 - if(row.CarType==''||row.CarType==null){ - this.GetAdminCarOrderPageList(row,url,href,data) - }else{ - if(this.pagesTitle=='销售'){ - name = 'CharterOrderList' - }else{ - name = 'CharterOrderListOP' - } - data[0].Type = row.CarType==null||!row.CarType?4:row.CarType - } - } else if (row.OrderType == 7) { //jalan酒店 - this.$message.info('jalané…’åº—æš‚ä¸æ”¯æŒæŸ¥çœ‹') - // if(this.pagesTitle=='销售'){ - // name = 'CharterOrderList' - // }else{ - // name = 'CharterOrderListOP' - // } + } else { + name = "enrollTotal"; } - if (name) { - this.$router.push({ - name: name, - query: { - OrderId: row.OrderId, - OrderType: data[0].Type?data[0].Type:null, - blank: "y", - } - }); + } else if (row.OrderType == 3) { + //酒店 + if ( + this.pagesTitle == "销售" || + (!this.S_CheckBranchOrder && !this.S_CheckAllOrder) + ) { + name = "singleProductHotelOrder"; + } else { + name = "singleProductHotelOrderOP"; } - - } - }, - GetAdminCarOrderPageList(row, url, href, data) { - let msg = { - pageIndex: 1, - pageSize: 5, - OrderType: '', - OrderId: row.OrderId, - OrderNo: '', - SurName: '', - Name: '', - OrderStatus: 0, - StartTime: '', - EndTime: '', - OrderSTime: '', - OrderETime: '', - ProductName: '', - Mobile: '', //ç”µè¯ - IsSelectSale: 1, - EnterID: 0, //业务员 - } - let name - this.apipost('CarSingle_post_GetAdminCarOrderPageList', msg, res => { - if (res.data.resultCode == 1) { - let pageData = res.data.data.pageData - let OrderType - if (pageData && pageData.length > 0) { - OrderType = pageData[0].OrderType - } - if (this.pagesTitle == '销售' || (!this.S_CheckBranchOrder && !this.S_CheckAllOrder)) { - name = 'CharterOrderList' + } else if (row.OrderType == 4) { + //门票 + if ( + this.pagesTitle == "销售" || + (!this.S_CheckBranchOrder && !this.S_CheckAllOrder) + ) { + name = "SingleticketOrderList"; + } else { + name = "SingleticketOrderListOP"; + } + } else if (row.OrderType == 5) { + //包车 + if (row.CarType == "" || row.CarType == null) { + this.GetAdminCarOrderPageList(row, url, href, data); + } else { + if (this.pagesTitle == "销售") { + name = "CharterOrderList"; } else { - name = 'CharterOrderListOP' + name = "CharterOrderListOP"; } - this.$router.push({ - name: name, - query: { - OrderId: row.OrderId, - OrderType: OrderType ? OrderType : 4, - blank: "y", - } - }); + data[0].Type = + row.CarType == null || !row.CarType ? 4 : row.CarType; } - }) - }, - - }, - mounted() { - let userInfo = this.getLocalStorage(); - let ActionMenuCode = userInfo.ActionMenuCode; - this.userInfo = this.getLocalStorage(); - // åˆ¤æ–æ˜¯å¦é”€å”® - if (ActionMenuCode.indexOf('S_CheckBranchOrder') != -1) { - this.S_CheckBranchOrder = true - } - if (ActionMenuCode.indexOf('S_CheckAllOrder') != -1) { - this.S_CheckAllOrder = true + } else if (row.OrderType == 7) { + //jalan酒店 + this.$message.info("jalané…’åº—æš‚ä¸æ”¯æŒæŸ¥çœ‹"); + // if(this.pagesTitle=='销售'){ + // name = 'CharterOrderList' + // }else{ + // name = 'CharterOrderListOP' + // } + } + if (name) { + this.$router.push({ + name: name, + query: { + OrderId: row.OrderId, + OrderType: data[0].Type ? data[0].Type : null, + blank: "y" + } + }); + } } + }, + GetAdminCarOrderPageList(row, url, href, data) { + let msg = { + pageIndex: 1, + pageSize: 5, + OrderType: "", + OrderId: row.OrderId, + OrderNo: "", + SurName: "", + Name: "", + OrderStatus: 0, + StartTime: "", + EndTime: "", + OrderSTime: "", + OrderETime: "", + ProductName: "", + Mobile: "", //ç”µè¯ + IsSelectSale: 1, + EnterID: 0 //业务员 + }; + let name; + this.apipost("CarSingle_post_GetAdminCarOrderPageList", msg, res => { + if (res.data.resultCode == 1) { + let pageData = res.data.data.pageData; + let OrderType; + if (pageData && pageData.length > 0) { + OrderType = pageData[0].OrderType; + } + if ( + this.pagesTitle == "销售" || + (!this.S_CheckBranchOrder && !this.S_CheckAllOrder) + ) { + name = "CharterOrderList"; + } else { + name = "CharterOrderListOP"; + } + this.$router.push({ + name: name, + query: { + OrderId: row.OrderId, + OrderType: OrderType ? OrderType : 4, + blank: "y" + } + }); + } + }); } - }; - + }, + mounted() { + let userInfo = this.getLocalStorage(); + let ActionMenuCode = userInfo.ActionMenuCode; + this.userInfo = this.getLocalStorage(); + // åˆ¤æ–æ˜¯å¦é”€å”® + if (ActionMenuCode.indexOf("S_CheckBranchOrder") != -1) { + this.S_CheckBranchOrder = true; + } + if (ActionMenuCode.indexOf("S_CheckAllOrder") != -1) { + this.S_CheckAllOrder = true; + } + } +}; </script> <style scoped> - .row { - display: flex; - } +.row { + display: flex; +} + +.row-c { + display: flex; + align-items: center; +} + +.column { + display: flex; + flex-direction: column; +} + +.column-jac { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.column-ac { + display: flex; + flex-direction: column; + align-items: center; +} + +.wrap { + flex-wrap: wrap; +} + +.justify-sb { + justify-content: space-between; +} + +.justify-c { + justify-content: center; +} + +.justify-e { + justify-content: flex-end; + align-items: flex-end; +} + +.flex-g { + flex-grow: 1; +} + +.flex-s { + flex-shrink: 0; +} + +.align-c { + align-items: center; +} + +.cblack { + color: black; +} + +.cf { + color: #ffffff; +} + +.c9e { + color: #9e9e9e; +} + +.c20C997 { + color: #20c997; +} + +.c02C854 { + color: #02c854; +} + +.cff9800 { + color: #ff9800; +} + +.cF1416C { + color: #f1416c; +} + +.cF57A98 { + color: #f57a98; +} + +.c04C8C8 { + color: #04c8c8; +} + +.c059FF6 { + color: #059ff6; +} + +.c3FC4FF { + color: #3fc4ff; +} + +.fz10 { + font-size: 10px; +} + +.fz11 { + font-size: 11px; +} + +.fz12 { + font-size: 12px; +} + +.fz13 { + font-size: 13px; +} + +.fz14 { + font-size: 14px; +} + +.fz15 { + font-size: 15px; +} + +.fz16 { + font-size: 16px; +} + +.fz17 { + font-size: 17px; +} + +.fz18 { + font-size: 18px; +} + +.fbold { + font-weight: bold; +} + +.ml { + margin-left: 10px; +} - .row-c { - display: flex; - align-items: center; - } +.mr { + margin-right: 10px; +} - .column { - display: flex; - flex-direction: column; - } - - .column-jac { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - } - - .column-ac { - display: flex; - flex-direction: column; - align-items: center; - } - - .wrap { - flex-wrap: wrap; - } - - .justify-sb { - justify-content: space-between; - } - - .justify-c { - justify-content: center; - } - - .justify-e { - justify-content: flex-end; - align-items: flex-end; - } - - .flex-g { - flex-grow: 1; - } - - .flex-s { - flex-shrink: 0; - } - - .align-c { - align-items: center; - } - - .cblack { - color: black; - } - - .cf { - color: #ffffff; - } - - .c9e { - color: #9e9e9e; - } - - .c20C997 { - color: #20c997; - } - - .c02C854 { - color: #02c854; - } - - .cff9800 { - color: #ff9800; - } - - .cF1416C { - color: #f1416c; - } - - .cF57A98 { - color: #f57a98; - } - - .c04C8C8 { - color: #04c8c8; - } - - .c059FF6 { - color: #059ff6; - } - - .c3FC4FF { - color: #3fc4ff; - } - - .fz10 { - font-size: 10px; - } - - .fz11 { - font-size: 11px; - } - - .fz12 { - font-size: 12px; - } - - .fz13 { - font-size: 13px; - } - - .fz14 { - font-size: 14px; - } - - .fz15 { - font-size: 15px; - } - - .fz16 { - font-size: 16px; - } - - .fz17 { - font-size: 17px; - } - - .fz18 { - font-size: 18px; - } - - .fbold { - font-weight: bold; - } - - .ml { - margin-left: 10px; - } - - .mr { - margin-right: 10px; - } - - .mt { - margin-top: 10px; - } - - .mt20 { - margin-top: 20px; - } - - .mb { - margin-bottom: 10px; - } - - .mb20 { - margin-bottom: 20px; - } - - .mx { - margin-left: 10px; - margin-right: 10px; - } - - .mx5 { - margin-left: 5px; - margin-right: 5px; - } - - .mb5 { - margin-bottom: 5px; - } - - .py { - padding: 15px 0; - } - - .py5 { - padding: 5px 0; - } - - .px5 { - padding: 0 5px; - } - - .px15 { - padding: 0 15px; - } - - .pa15 { - padding: 15px; - } - - .py20 { - padding: 20px 0; - } - - .pb5 { - padding: 0 0 5px 0; - } +.mt { + margin-top: 10px; +} - .pa { - padding: 10px 20px; - } +.mt20 { + margin-top: 20px; +} - .pa20 { - padding: 20px; - } +.mb { + margin-bottom: 10px; +} - .pt20 { - padding: 20px 0; - } +.mb20 { + margin-bottom: 20px; +} - .borderD { - border-bottom: 1px dashed #dddddd; - } +.mx { + margin-left: 10px; + margin-right: 10px; +} + +.mx5 { + margin-left: 5px; + margin-right: 5px; +} - .bgf { - background: #ffffff; - } +.mb5 { + margin-bottom: 5px; +} - .bgf5 { - background: #f5f5f5; - } +.py { + padding: 15px 0; +} - .bgE8F5E9 { - background: #e8f5e9; - } +.py5 { + padding: 5px 0; +} - .bgD9F3FF { - background: #d9f3ff; - } +.px5 { + padding: 0 5px; +} - .bgFAEAED { - background: #faeaed; - } +.px15 { + padding: 0 15px; +} - .bj { - background: #ffffff; - } +.pa15 { + padding: 15px; +} - .bjFFF3E0 { - background: #FFF3E0; - } +.py20 { + padding: 20px 0; +} + +.pb5 { + padding: 0 0 5px 0; +} + +.pa { + padding: 10px 20px; +} + +.pa20 { + padding: 20px; +} + +.pt20 { + padding: 20px 0; +} + +.borderD { + border-bottom: 1px dashed #dddddd; +} + +.bgf { + background: #ffffff; +} + +.bgf5 { + background: #f5f5f5; +} + +.bgE8F5E9 { + background: #e8f5e9; +} + +.bgD9F3FF { + background: #d9f3ff; +} + +.bgFAEAED { + background: #faeaed; +} + +.bj { + background: #ffffff; +} + +.bjFFF3E0 { + background: #fff3e0; +} + +.radius5 { + border-radius: 5px; +} + +.cursor-pointer { + cursor: pointer; +} + +.relative { + position: relative; +} + +.absolute { + position: absolute; +} + +.left0 { + left: 0; +} + +.right0 { + right: 0; +} - .radius5 { - border-radius: 5px; - } +.top0 { + top: 0; +} - .cursor-pointer { - cursor: pointer; - } +.bottom0 { + bottom: 0; +} - .relative { - position: relative; - } +.left20 { + left: 020px; +} - .absolute { - position: absolute; - } +.right20 { + right: 20px; +} - .left0 { - left: 0; - } +.top20 { + top: 20px; +} - .right0 { - right: 0; - } - - .top0 { - top: 0; - } - - .bottom0 { - bottom: 0; - } - - .left20 { - left: 020px; - } - - .right20 { - right: 20px; - } - - .top20 { - top: 20px; - } - - .bottom20 { - bottom: 20px; - } - - .text-center { - text-align: center; - } +.bottom20 { + bottom: 20px; +} +.text-center { + text-align: center; +} </style> diff --git a/src/components/myOrdersAllType/components/allList.vue b/src/components/myOrdersAllType/components/allList.vue index 7c41cb16197f3f40280c865ab4739dcd79193107..21f5073eebaecf6e1c8d5e8fe3b8619d55563521 100644 --- a/src/components/myOrdersAllType/components/allList.vue +++ b/src/components/myOrdersAllType/components/allList.vue @@ -87,32 +87,35 @@ <div class="HotelWorkList"> <div class="query-box HotelWorkInput" style="border-bottom: none;"> <ul> - <!-- <li> - <span><em>客人姓å</em> - <el-input clearable v-model="msg.CustomerName" placeholder="客人姓å" class="w200"/> - </span> - </li> --> - <li> + <li v-if="Title=='å®¡æ ¸'"> + <span> + <em>å®¡æ ¸çŠ¶æ€</em> + <el-select v-model='msg.OrderState' class="w200"> + <!-- <el-option :value="0" label="ä¸é™"></el-option> --> + <el-option v-for='item in OrderStatusList' + :label='item.Name' + :value='item.Id' + :key='item.Id'> + </el-option> + </el-select> + </span> + </li> + <li v-if="Title!='申请'&&Title!='å®¡æ ¸'"> <span><em>商å“åç§°</em> <el-input clearable type="" v-model="msg.ProductName" placeholder="请输入商å“åç§°" class="w200"/> </span> </li> - <li> + <li v-if="Title!='申请'&&Title!='å®¡æ ¸'"> <span><em>订å•Id</em> <el-input clearable type="Number" v-model="msg.OrderId" placeholder="请输入订å•Id" class="w200"/> </span> </li> - <li> + <li v-if="Title!='申请'&&Title!='å®¡æ ¸'"> <span><em>团å·</em> <el-input clearable type="" v-model="msg.TCNUM" placeholder="请输入团å·" class="w200"/> </span> </li> - <!-- <li> - <span><em>电è¯</em> - <el-input clearable v-model="msg.Mobile" placeholder="电è¯" class="w200"/> - </span> - </li> --> - <li v-if="Title!='销售'"> + <li v-if="Title!='销售'&&Title!='申请'&&Title!='å®¡æ ¸'"> <span> <em>业务员</em> <el-select filterable v-model='msg.EnterId' class="w200" clearable> @@ -125,7 +128,7 @@ </el-select> </span> </li> - <li v-if="Title!='销售'"> + <li v-if="Title!='销售'&&Title!='申请'&&Title!='å®¡æ ¸'"> <span> <em>引æµäºº</em> <el-select filterable v-model='msg.LureEmpId' class="w200" clearable> @@ -138,7 +141,7 @@ </el-select> </span> </li> - <li> + <li v-if="Title!='å®¡æ ¸'"> <span> <em>订å•类型</em> <el-select v-model="msg.OrderType" class="w200 HworkInput"> @@ -148,7 +151,7 @@ </li> - <li> + <li v-if="Title!='申请'&&Title!='å®¡æ ¸'"> <span> <em>订å•状æ€</em> <el-select v-model='msg.OrderState' class="w200"> @@ -161,7 +164,7 @@ </el-select> </span> </li> - <li> + <li v-if="Title!='申请'&&Title!='å®¡æ ¸'"> <span> <em>收款状æ€</em> <el-select v-model='msg.Q_IsCollect' class="w200"> @@ -175,7 +178,7 @@ </li> - <li> + <li v-if="Title!='å®¡æ ¸'"> <span> <em>æŠ¥åæ—¶é—´</em> <el-date-picker @@ -189,7 +192,7 @@ </el-date-picker> </span> </li> - <li style="line-height: 30px; padding-left: 30px;"> + <li style="line-height: 30px; padding-left: 30px;" v-if="Title!='申请'&&Title!='å®¡æ ¸'"> <el-popover width="350" trigger="click"> <div class="groupSuperSearchLayer"> <p style="padding-bottom: 10px;">订å•高级查询</p> @@ -268,7 +271,7 @@ </ul> </div> <!-- ç»Ÿè®¡ç‰ˆå— --> - <div class="groupTourOrder_count"> + <div class="groupTourOrder_count" v-if="pagesTitle=='销售'||pagesTitle=='OP'"> <!-- <el-row :gutter="20"> <el-col :xs="8" :sm="8" :md="8" :lg="8" :xl="8"></el-col></el-row> --> <div class="groupTourOrder_count_item HT_total" v-for="(item,index) in SummaryList"> <div> @@ -365,7 +368,7 @@ OrderList: [], //默认高度 tableHeight: 0, - msg:{ + msg: { pageIndex: 1, pageSize: 15, OrderId: "", //订å•id @@ -432,6 +435,12 @@ ], LineList: [], SummaryList: [], + OrderStatusList: [ + { Name: "ä¸é™", Id: "0" }, + { Name: "å¾…å®¡æ ¸", Id: "1" }, + { Name: "已通过", Id: "2" }, + { Name: "已喿¶ˆ", Id: "3" }, + ] }; }, watch: { @@ -575,14 +584,28 @@ //获å–酒店订å•列表 GetList() { this.loading = true + let msgObj + let msg = { + OrderId: '', + OrderState: '0', + OrderType: '0', + papageIndex: 1, + pagesize: 15 + } let url = "CarSingle_post_GetGuestOrderStatisticsPageList" // 销售 OP if(this.pagesTitle=='销售'){ this.msg.IsMyOrder = '1' - }else{ + }else if(this.pagesTitle=='申请'){ + url = "CarSingle_post_GetChangePriceOrderPageList" + this.msg.IsMyOrder = '1' + }else if(this.pagesTitle=='å®¡æ ¸'){ + url = "CarSingle_post_GetExaminePriceOrderPageList" + } else{ this.msg.IsMyOrder = '0' } - this.apipost(url, this.msg, + msgObj = this.pagesTitle=='å®¡æ ¸'?msg:this.msg + this.apipost(url, msgObj, res => { if (res.data.resultCode == 1) { this.getSummaryData() @@ -633,9 +656,17 @@ this.employeeMsg.GroupId = userInfo.RB_Group_id; //集团ID this.msg.EnterId = this.$route.query.EnterId?Number(this.$route.query.EnterId):0//userInfo.EmployeeId; this.msg.LureEmpId = this.$route.query.LureEmpId?Number(this.$route.query.LureEmpId):0 - this.msg.StartTime = this.getBeforeDate(0, new Date()) - this.msg.EndTime = this.getBeforeDate(0, new Date()) - this.DatelistBM = [new Date(this.msg.StartTime),new Date()] + if(this.pagesTitle=='销售'||this.pagesTitle=='OP'){ + this.msg.StartTime = this.getBeforeDate(0, new Date()) + this.msg.EndTime = this.getBeforeDate(0, new Date()) + this.DatelistBM = [new Date(this.msg.StartTime),new Date()] + }else{ + this.msg.DepartSTime = this.getBeforeDate(200, new Date()) + this.msg.DepartETime = this.getBeforeDate(0, new Date()) + this.DatelistBM = [this.msg.DepartSTime,this.msg.DepartETime] + this.msg.Q_IsCollect = '2' + } + if(this.$route.query.OrderId){ this.msg.OrderId=this.$route.query.OrderId this.msg.StartTime = '' diff --git a/src/components/myOrdersAllType/erpChangePricehOrder.vue b/src/components/myOrdersAllType/erpChangePricehOrder.vue index 838af20d31d0cd55b258dea956166c89c9958e3e..1943f3bc7e508c3ad33f977d08b49032d404ef55 100644 --- a/src/components/myOrdersAllType/erpChangePricehOrder.vue +++ b/src/components/myOrdersAllType/erpChangePricehOrder.vue @@ -7,12 +7,13 @@ </div> </template> <script> - import allList from './components/allListChangePrice.vue'; + // import allList from './components/allListChangePrice.vue'; + import allList from './components/allList.vue'; export default { components: { allList }, data() { return { - pagesTitle: '销售', + pagesTitle: '申请', dataObj:{ OrderId: '', } @@ -20,14 +21,14 @@ }, watch: { pagesTitle(val,oldval){ - + }, }, methods: { - + }, created() { - + }, mounted() { if(this.$route.query.OrderId){ diff --git a/src/components/myOrdersAllType/erpExaminePricehOrder.vue b/src/components/myOrdersAllType/erpExaminePricehOrder.vue index 57b3d443a6b4e1c08e0999d6cdc45d7a3fdb7ae8..3e0f271c4aec1bc81a0d7b798b419e292818ce63 100644 --- a/src/components/myOrdersAllType/erpExaminePricehOrder.vue +++ b/src/components/myOrdersAllType/erpExaminePricehOrder.vue @@ -7,12 +7,13 @@ </div> </template> <script> - import allList from './components/allListExaminePrice.vue'; + // import allList from './components/allListExaminePrice.vue'; + import allList from './components/allList.vue'; export default { components: { allList }, data() { return { - pagesTitle: '销售', + pagesTitle: 'å®¡æ ¸', dataObj:{ OrderId: '', } @@ -20,14 +21,14 @@ }, watch: { pagesTitle(val,oldval){ - + }, }, methods: { - + }, created() { - + }, mounted() { if(this.$route.query.OrderId){