| | |
| | | <template>
|
| | | <view class="jihua-wrap">
|
| | | <u-overlay :show="overlayShow" @click="overlayShow = false"></u-overlay>
|
| | | <view class="qiehuan-box"><u-tabs :list="tabList" @click="tabClick"></u-tabs></view>
|
| | | <view class="jihua-main">
|
| | | <view class="shaixuan-box">
|
| | |
| | | </view>
|
| | | <view class="main-inside">
|
| | | <view v-if="isTomJihua == '全部'">
|
| | | <u-empty
|
| | | v-if="fyData.length == 0"
|
| | | mode="data"
|
| | | icon="http://cdn.uviewui.com/uview/empty/data.png"
|
| | | class="empty-container"
|
| | | >
|
| | | </u-empty>
|
| | | <view class="main-block-box" v-for="(item, index) in fyData" :key="item.id">
|
| | | <u-empty v-if="fyData.length == 0" mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" class="empty-container"></u-empty>
|
| | | <view id="u-dropdown" class="main-block-box" v-for="(item, index) in fyData" :key="item.id" ref="planViewRef">
|
| | | <view class="jihua-main-line">
|
| | | <!-- <view class="name">客户名称:{{item.customerName || ''}}</view> -->
|
| | | <view class="name">收货单位:{{ item.customerAddressName || '' }}</view>
|
| | |
| | | <view class="main-flex">
|
| | | <view class="carNum-box">
|
| | | <view>计划车数:</view>
|
| | | <u--input placeholder="请输入发运车数" border="surround" v-model="item.numPlan" @change="inputChange"></u--input>
|
| | | <!-- <u--input placeholder="请输入发运车数" border="surround" v-model="item.numPlan" @change="inputChange" @focus="faYunPlanCarsFocus(item)"></u--input> -->
|
| | | <view class="planCars" :style="{color:item.numPlan ? '#111':'#ccc'}" @click="faYunPlanCarsFocus(item)">
|
| | | <text v-model="item.numPlan">{{ item.numPlan || '点击输入数量' }}</text>
|
| | | <view class="cursor" v-if="isCursor && fayunPlanFocusId == item.id"><image src="@/static/cursor.gif" mode=""><image></view>
|
| | | </view>
|
| | | </view>
|
| | | <view>实际发车数:{{ item.numReal || '' }}</view>
|
| | | <view>实际发车数:{{ item.numReal || '暂无' }}</view>
|
| | | </view>
|
| | | </view>
|
| | | <u-keyboard |
| | | @change="valChange"
|
| | | @backspace="backspace"
|
| | | @confirm="keyBoardConfirm"
|
| | | @cancel="keyBoardCancel"
|
| | | @close="keyBoardClose"
|
| | | :show="keyBoardShow"
|
| | | ref="uKeyboard"
|
| | | mode="number"
|
| | | :overlay="false"
|
| | | :closeOnClickOverlay="false"
|
| | | :dotDisabled="true"
|
| | | zIndex="100000" |
| | | ></u-keyboard>
|
| | | </view>
|
| | | <u-button class="xiugai-btn" type="primary" text="提交" @click="dataFormSubmit"></u-button>
|
| | |
|
| | | <u-button class="xiugai-btn" type="primary" text="提交" @click="submit"></u-button>
|
| | | </view>
|
| | | <view v-if="isTomJihua == '已设置的计划'">
|
| | | <u-empty
|
| | | v-if="fyData.length == 0"
|
| | | mode="data"
|
| | | icon="http://cdn.uviewui.com/uview/empty/data.png"
|
| | | class="empty-container"
|
| | | >
|
| | | </u-empty>
|
| | | <u-empty v-if="fyData.length == 0" mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" class="empty-container"></u-empty>
|
| | | <view class="main-block-box" v-for="(item, index) in fyData" :key="item.id">
|
| | | <view class="jihua-main-line">
|
| | | <view class="name">客户名称:{{ item.customerName || '' }}</view>
|
| | |
| | | <view class="jihua-main-line">
|
| | | <view class="main-flex">
|
| | | <view>煤种:{{ item.order.coalName || '' }}</view>
|
| | | <view>剩余量:{{ item.order.executiveSurplus || '' }}</view>
|
| | | <view>剩余量:{{ item.order.executiveSurplus || '' }}</view> |
| | | </view>
|
| | | </view>
|
| | | <view class="jihua-main-line">
|
| | | <view class="main-flex">
|
| | | <view class="carNum-box">
|
| | | <view>计划车数:</view>
|
| | | <u--input placeholder="请输入发运车数" border="surround" v-model="item.numPlan" @change="inputTotalChange(item)"></u--input>
|
| | | <!-- <u--input placeholder="请输入发运车数" border="surround" v-model="item.numPlan" @change="inputTotalChange(item)" @focus="faYunPlanCarsFocus(item)"></u--input> -->
|
| | | <view class="planCars" :style="{color:item.numPlan ? '#111':'#ccc'}" @click="faYunPlanCarsFocus(item)">
|
| | | <text v-model="item.numPlan">{{ item.numPlan || '点击输入数量' }}</text>
|
| | | <view class="cursor" v-if="isCursor && fayunPlanFocusId == item.id">
|
| | | <image src="@/static/cursor.gif" mode="" />
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view>实际发车数:{{ item.order.numReal == null ? '暂无' : item.order.numReal }}</view>
|
| | | </view>
|
| | | </view>
|
| | | <u-keyboard
|
| | | @change="valChange"
|
| | | @backspace="backspace"
|
| | | @confirm="keyBoardConfirm"
|
| | | @cancel="keyBoardCancel"
|
| | | @close="keyBoardClose"
|
| | | :show="keyBoardShow"
|
| | | ref="uKeyboard"
|
| | | mode="number"
|
| | | :overlay="false"
|
| | | :closeOnClickOverlay="false"
|
| | | :dotDisabled="true"
|
| | | zIndex="100000"
|
| | | ></u-keyboard>
|
| | | </view>
|
| | | <u-button class="xiugai-btn" type="primary" text="修改" @click="getOrderCarNum"></u-button>
|
| | | <u-button class="xiugai-btn" type="primary" text="修改" @click="editPlan"></u-button>
|
| | | </view>
|
| | | |
| | | </view>
|
| | | </view>
|
| | | <view class="back-top-container">
|
| | | <u-back-top :scroll-top="scrollTop" icon="arrow-up" mode='square'></u-back-top>
|
| | | </view> |
| | |
|
| | | <view class="back-top-container"><u-back-top :scroll-top="scrollTop" icon="arrow-up" mode="square"></u-back-top></view>
|
| | | <!-- 菜单栏 -->
|
| | | <popup-menu @menuShow="menushow" ref="menuRef"></popup-menu>
|
| | | </view>
|
| | |
| | |
|
| | | <script>
|
| | | import popupMenu from '@/components/common/popup-menu/popup-menu.vue';
|
| | | import tool from '@/utils/tool.js';
|
| | | export default {
|
| | | components: {
|
| | | popupMenu
|
| | |
| | | return {
|
| | | radioValue: '全部',
|
| | | tabList: [
|
| | | {
|
| | | { |
| | | name: '今日发运计划'
|
| | | },
|
| | | {
|
| | |
| | | isTomJihua: '全部',
|
| | | editRow: '', //修改行的行
|
| | | menuShow: false,
|
| | | scrollTop: 0 // 返回顶部按钮绑定
|
| | | scrollTop: 0, // 返回顶部按钮绑定,
|
| | | // 键盘
|
| | | keyBoardShow: false,
|
| | | keyBoardValue: '',
|
| | | fayunPlanFocusId: null,
|
| | | isCursor: false ,// 日计划车辆输入框焦点动画
|
| | | overlayShow:false // 遮罩层
|
| | | };
|
| | | },
|
| | | onShow() {
|
| | |
| | | this.init();
|
| | | },
|
| | | onPageScroll(e) {
|
| | | // 传入scrollTop值并触发所有easy-loadimage组件下的滚动监听事件
|
| | | this.scrollTop = e.scrollTop;
|
| | | }, |
| | | },
|
| | | // 点击导航栏菜单后
|
| | | onNavigationBarButtonTap(e) {
|
| | | // console.log(e);
|
| | | this.$refs.menuRef.menuClick();
|
| | | },
|
| | | mounted() {
|
| | | // setInterval(() => {
|
| | | // uni.hideKeyboard();
|
| | | // }, 1);
|
| | | },
|
| | | watch: {
|
| | | isTomJihua: {
|
| | | handler: function(newV, oldV) {
|
| | | if (newV != oldV) {
|
| | | this.keyBoardShow = false;
|
| | | }
|
| | | },
|
| | | deep: true,
|
| | | immediate: true
|
| | | },
|
| | | keyBoardValue: {
|
| | | handler: function(newV, oldV) {
|
| | | console.log('键盘输入值', newV, oldV);
|
| | | this.fyData.map(item => {
|
| | | if (item.id == this.fayunPlanFocusId) {
|
| | | if (item.numPlan && item.numPlan != newV) {
|
| | | item.numPlan = this.keyBoardValue;
|
| | | if (this.isTomJihua == '已设置的计划') {
|
| | | this.editRow = item;
|
| | | }
|
| | | }
|
| | | }
|
| | | });
|
| | | },
|
| | | deep: true,
|
| | | immediate: true
|
| | | },
|
| | | scrollTop: {
|
| | | handler: function(newV, oldV) {
|
| | | // console.log('页面滑动', newV);
|
| | | if (newV != oldV) {
|
| | | this.keyBoardClose();
|
| | | // this.keyBoardShow = false;
|
| | | }
|
| | | }
|
| | | },
|
| | | deep: true,
|
| | | immediate: true
|
| | | },
|
| | | methods: {
|
| | | init() {
|
| | |
| | | menushow(e) {
|
| | | this.menuShow = e;
|
| | | },
|
| | | //提交
|
| | | dataFormSubmit() {
|
| | | //提交订单
|
| | | this.fyData.forEach(e => {
|
| | | e.shippingDate = this.info.shippingDate;
|
| | | if (e.planId && !e.numPlan) {
|
| | | e.numPlan = -1; //删除设置为空的计划
|
| | | }
|
| | | let orderId = e.id;
|
| | | e.id = e.planId;
|
| | | e.orderId = orderId;
|
| | | });
|
| | | this.$reqPost('addObj', this.fyData).then(res => {
|
| | | this.$u.toast('添加成功');
|
| | | this.fyList();
|
| | | });
|
| | | console.log('日发运计划更新数据提交',this.fyData);
|
| | | this.overlayShow = true;
|
| | | this.fyData.forEach(e => {
|
| | | e.shippingDate = this.info.shippingDate;
|
| | | if (e.planId && !e.numPlan) {
|
| | | e.numPlan = -1; // 删除设置为空的计划
|
| | | }
|
| | | let orderId = e.id; // 订单id
|
| | | e.orderId = orderId;
|
| | | // e.id = e.planId;
|
| | | });
|
| | | this.$reqPost('addObj', this.fyData).then(res => {
|
| | | console.log('addObj接口返回',res);
|
| | | this.$u.toast('添加成功');
|
| | | this.fyList();
|
| | | });
|
| | | },
|
| | | // 全部日计划提交按钮防抖
|
| | | submit:tool.throttle(function(){
|
| | | this.dataFormSubmit();
|
| | | }),
|
| | | // 修改日计划按钮
|
| | | getOrderCarNum() {
|
| | | //修改
|
| | | this.$reqPost('setCarNums', this.editRow).then(res => {
|
| | |
| | | this.xscarshippingdayplan();
|
| | | });
|
| | | },
|
| | | // 修改日计划防抖按钮
|
| | | editPlan:tool.throttle(function(){
|
| | | this.getOrderCarNum();
|
| | | }),
|
| | | // 切换全部和已设置
|
| | | groupChange(n) {
|
| | | console.log(n, 'n================');
|
| | | this.isTomJihua = n;
|
| | |
| | | } else {
|
| | | this.fyList();
|
| | | }
|
| | | },
|
| | | fyList() {
|
| | | this.overlayShow = true;
|
| | | //列表查询
|
| | | uni.showLoading({ |
| | | title: '正在加载...'
|
| | | });
|
| | | let compId = uni.getStorageSync('userInfo').compId;
|
| | | let params = {
|
| | | current: 1,
|
| | | size: 100,
|
| | | status: 2,
|
| | | trainType: 1,
|
| | | compId: compId
|
| | | };
|
| | | this.$reqGet('fyList', params).then(res => {
|
| | | if (res.code == 0) {
|
| | | console.log('fylist--------',res.data);
|
| | | this.xscarshippingdayplan(res.data);
|
| | | }
|
| | | });
|
| | | },
|
| | | xscarshippingdayplan(allList) {
|
| | | uni.showLoading({
|
| | | title: '正在加载...'
|
| | | });
|
| | | this.overlayShow = true;
|
| | | //已经设置的
|
| | | let params = {
|
| | | current: 1,
|
| | | size: 50,
|
| | | shippingDate: this.info.shippingDate
|
| | | };
|
| | | this.$reqGet('xscarshippingdayplan', params)
|
| | | .then(res => {
|
| | | console.log('不知道是什么---------------',res);
|
| | | if (res.code == 0) {
|
| | | if (allList) {
|
| | | let selectFyData = res.data.records;
|
| | | allList.forEach(e => {
|
| | | selectFyData.forEach(ee => {
|
| | | if (e.id == ee.orderId) {
|
| | | e.numPlan = ee.numPlan;
|
| | | e.numReal = ee.numReal; |
| | | // e.planId = ee.id;
|
| | | console.log('修改planid操作',`planId:${ee.id}`);
|
| | | if (ee.carNums != null) {
|
| | | e.carNums = ee.carNums;
|
| | | }
|
| | | }
|
| | | });
|
| | | });
|
| | | this.fyData = allList;
|
| | | } else {
|
| | | this.fyData = res.data.records;
|
| | | }
|
| | | uni.hideLoading();
|
| | | this.overlayShow = false;
|
| | | }
|
| | | })
|
| | | .catch(e => {
|
| | | uni.hideLoading();
|
| | | this.overlayShow = false;
|
| | | });
|
| | | },
|
| | | //切换今日和明日
|
| | | tabClick(item) {
|
| | | console.log(item, 'item==========');
|
| | | if (item.index == 1) {
|
| | | this.info.shippingDate = this.tomorrowDate();
|
| | | if (this.isTomJihua == '已设置的计划') {
|
| | | this.xscarshippingdayplan();
|
| | | } else {
|
| | | this.fyList();
|
| | | }
|
| | | } else {
|
| | | this.info.shippingDate = this.todayDate();
|
| | | if (this.isTomJihua == '已设置的计划') {
|
| | | this.xscarshippingdayplan();
|
| | | } else {
|
| | | this.fyList();
|
| | | }
|
| | | }
|
| | | },
|
| | | inputChange(val) {
|
| | | console.log('全部计划', val);
|
| | | },
|
| | | inputTotalChange(val) {
|
| | | console.log(val, 'val2=======val2,已设置计划');
|
| | | this.editRow = val;
|
| | | }, |
| | | // input获取焦点
|
| | | faYunPlanCarsFocus(item) {
|
| | | // 获取该焦点在页面的位置
|
| | | // let boxBottom = document.getElementById('#u-dropdown');
|
| | | // console.log('元素',boxBottom);
|
| | | // let bottom = this.$refs.planViewRef.offsetHeight
|
| | | |
| | | this.fayunPlanFocusId = item.id;
|
| | | this.keyBoardShow = true;
|
| | | this.isCursor = true;
|
| | | this.keyBoardValue = item.numPlan + '';
|
| | | },
|
| | | // 键盘
|
| | | valChange(val) {
|
| | | // this.keyBoardValue += val;
|
| | | // 将每次按键的值拼接到value变量中,注意+=写法
|
| | | this.fyData.map(item => {
|
| | | if (item.id == this.fayunPlanFocusId) {
|
| | | if (item.numPlan) {
|
| | | item.numPlan = this.keyBoardValue += val + '';
|
| | | this.keyBoardValue = item.numPlan;
|
| | | } else {
|
| | | item.numPlan = val;
|
| | | this.keyBoardValue = item.numPlan;
|
| | | }
|
| | | }
|
| | | });
|
| | | },
|
| | | backspace() {
|
| | | this.keyBoardValue = this.keyBoardValue.substr(0, this.keyBoardValue.length - 1);
|
| | | },
|
| | | keyBoardConfirm(val) {
|
| | | console.log('键盘点击确定的值', val);
|
| | | this.keyBoardClose();
|
| | | },
|
| | | keyBoardCancel() {
|
| | | this.keyBoardClose();
|
| | | },
|
| | | keyBoardClose() {
|
| | | console.log('键盘关闭了');
|
| | | this.fayunPlanFocusId = null;
|
| | | this.keyBoardShow = false;
|
| | | this.isCursor = false;
|
| | | },
|
| | | todayDate() {
|
| | | let yes = new Date().getTime();
|
| | |
| | | const time = y + '-' + m + '-' + d;
|
| | | console.log('tomorrowDate---------222', time);
|
| | | return time;
|
| | | },
|
| | |
|
| | | fyList() {
|
| | | //列表查询
|
| | | uni.showLoading({
|
| | | title: '正在加载...'
|
| | | });
|
| | | let compId = uni.getStorageSync('userInfo').compId;
|
| | |
|
| | | let params = {
|
| | | current: 1,
|
| | | size: 100,
|
| | | status: 2,
|
| | | trainType: 1,
|
| | | compId: compId
|
| | | };
|
| | | this.$reqGet('fyList', params).then(res => {
|
| | | if (res.code == 0) {
|
| | | this.xscarshippingdayplan(res.data);
|
| | | }
|
| | | });
|
| | | },
|
| | | xscarshippingdayplan(allList) {
|
| | | //已经设置的
|
| | | console.log(allList, 'allList==========');
|
| | | let params = {
|
| | | current: 1,
|
| | | size: 50,
|
| | | shippingDate: this.info.shippingDate
|
| | | };
|
| | | this.$reqGet('xscarshippingdayplan', params)
|
| | | .then(res => {
|
| | | if (res.code == 0) {
|
| | | if (!allList) {
|
| | | this.fyData = res.data.records;
|
| | | console.log(this.fyData, 'this.fyData=========11111111');
|
| | | } else {
|
| | | let l = res.data.records;
|
| | | allList.forEach(e => {
|
| | | l.forEach(ee => {
|
| | | if (e.id == ee.orderId) {
|
| | | e.numPlan = ee.numPlan;
|
| | | e.numReal = ee.numReal;
|
| | | e.planId = ee.id;
|
| | | if (ee.carNums != null) {
|
| | | e.carNums = ee.carNums;
|
| | | }
|
| | | }
|
| | | });
|
| | | });
|
| | | this.fyData = allList;
|
| | | console.log(this.fyData, 'this.fyData=========22222222');
|
| | | }
|
| | | console.log(this.fyData, 'this.fyData=========333333333');
|
| | | uni.hideLoading();
|
| | | }
|
| | | })
|
| | | .catch(e => {
|
| | | uni.hideLoading();
|
| | | });
|
| | | },
|
| | | tabClick(item) {
|
| | | //切换今日和明日
|
| | | console.log(item, 'item==========');
|
| | | if (item.index == 1) {
|
| | | this.info.shippingDate = this.tomorrowDate();
|
| | | if (this.isTomJihua == '已设置的计划') {
|
| | | this.xscarshippingdayplan();
|
| | | } else {
|
| | | this.fyList();
|
| | | }
|
| | | } else {
|
| | | this.info.shippingDate = this.todayDate();
|
| | | if (this.isTomJihua == '已设置的计划') {
|
| | | this.xscarshippingdayplan();
|
| | | } else {
|
| | | this.fyList();
|
| | | }
|
| | | }
|
| | | },
|
| | | inputChange(val) {
|
| | | console.log(val);
|
| | | },
|
| | | inputTotalChange(val) {
|
| | | console.log(val, 'val2=======val2');
|
| | | this.editRow = val;
|
| | | }
|
| | | }
|
| | | };
|
| | |
| | | font-size: vww(12) !important;
|
| | | line-height: vww(12) !important;
|
| | | }
|
| | | .u-empty{
|
| | | width:100%;
|
| | | height:vww(300);
|
| | | .u-empty {
|
| | | width: 100%;
|
| | | height: vww(300);
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | }
|
| | | .carNum-box {
|
| | | display: flex;
|
| | | .planCars {
|
| | | display: flex;
|
| | | box-sizing: border-box;
|
| | | overflow: auto;
|
| | | width: vww(120);
|
| | | border: 1px solid #dddddd;
|
| | | border-radius: vww(4);
|
| | | padding: vww(1) vww(10);
|
| | | |
| | | |
| | | // 输入焦点图片
|
| | | .cursor {
|
| | | // float: left;
|
| | | width: vww(1);
|
| | | height: vww(15);
|
| | | vertical-align: middle;
|
| | | align-self: center;
|
| | | image {
|
| | | width: vww(1);
|
| | | display: block;
|
| | | height: vww(15);
|
| | | }
|
| | | }
|
| | | }
|
| | | view {
|
| | | font-size: vww(14);
|
| | | line-height: vww(32);
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | | </style> |
| | | </style> |