付延余
2022-12-19 8fc8838a441ae3d3b1616f4fc003b16292978b54
注册,登录,主页,日计划的修改
18个文件已修改
2个文件已添加
1801 ■■■■■ 已修改文件
api/global.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manifest.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/approval-history/approval-history.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/check-the-schedule/check-the-schedule.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/edit-my-application/edit-my-application.vue 148 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/home.vue 267 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/jihua/jihua.vue 395 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/login/login.vue 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/my-application/my-application.vue 202 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/my-have-todo/my-have-todo.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/my-todo/my-todo.vue 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/new-application-form-data/new-application-form-data.vue 490 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/new-application/new-application.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/register/register.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/cursor.gif 补丁 | 查看 | 原始文档 | blame | 历史
utils/api.js 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
utils/jihua.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
utils/request.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
utils/tool.js 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/global.js
@@ -29,6 +29,8 @@
// const baseUrl = 'http://192.168.3.159:9999'
// const baseUrl = 'https://mx.jzeg.cn:443/app';
// let baseUrl = 'http://192.168.0.114:9999';
const baseUrl = "https://mx.jzeg.cn:9998"; // 正式服务
// POST请求
manifest.json
@@ -53,7 +53,7 @@
        "appid" : "wx69ae2830c7d22d5a",
        "setting" : {
            "urlCheck" : false,
            "es6" : true,
            "es6" : false,
            "minified" : true
        },
        "usingComponents" : true
pages.json
@@ -3,8 +3,8 @@
        {
            "path": "pages/login/login",
            "style": {
                // "navigationStyle": "custom"
                "navigationBarTitleText": "请登录",
                "navigationStyle": "custom",
                // "navigationBarTitleText": "请登录",
                "enablePullDownRefresh": false
            }
        },
pages/approval-history/approval-history.vue
@@ -29,7 +29,7 @@
                </uni-tr>
                <uni-tr>
                    <uni-th align="center">审批意见</uni-th>
                    <uni-td>{{ item.comment == null ? '' : item.comment }}</uni-td>
                    <uni-td>{{ item.comment=='undefined'?item.endTime?'未填写':'':item.comment|| item.endTime?'未填写':'' }}</uni-td>
                </uni-tr>
                <uni-tr>
                    <uni-th align="center">耗时</uni-th>
@@ -48,7 +48,7 @@
                </uni-tr>
                <uni-tr>
                    <uni-th align="center">完成时间</uni-th>
                    <uni-td>{{ item.endTime == null ? '' : item.endTime }}</uni-td>
                    <uni-td>{{ item.endTime ||'' }}</uni-td>
                </uni-tr>
                <uni-tr>
                    <uni-th align="center">状态</uni-th>
pages/check-the-schedule/check-the-schedule.vue
@@ -19,11 +19,11 @@
        </uni-tr>
        <uni-tr>
          <uni-th align="center">审批操作</uni-th>
          <uni-td>{{ item.deleteReason == null ? '' : item.deleteReason }}</uni-td>
          <uni-td>{{ item.deleteReason || ''  }}</uni-td>
        </uni-tr>
        <uni-tr>
          <uni-th align="center">审批意见</uni-th>
          <uni-td>{{ item.comment == null ? '' : item.comment }}</uni-td>
          <uni-td>{{ item.comment=='undefined'?'未填写':item.comment|| '未填写' }}</uni-td>
        </uni-tr>
        <uni-tr>
          <uni-th align="center">耗时</uni-th>
@@ -44,7 +44,7 @@
        </uni-tr>
        <uni-tr>
          <uni-th align="center">完成时间</uni-th>
          <uni-td>{{ item.endTime == null ? '' : item.endTime }}</uni-td>
          <uni-td>{{ item.endTime ||'' }}</uni-td>
        </uni-tr>
        <uni-tr>
          <uni-th align="center">状态</uni-th>
pages/edit-my-application/edit-my-application.vue
@@ -4,6 +4,9 @@
        <combination-title class="newApplicationTitle" title="新增"></combination-title>
        <view class="formDataContaniner">
            <u--form labelPosition="left" :model="newFormData" ref="formRef">
                <u-form-item @click="selectLedger" labelWidth="20%" label="账套" borderBottom>
                    <u--input disabled disabledColor="#ffffff" v-model="ledgerName" border="none"></u--input>
                </u-form-item>
                <u-form-item labelWidth="20%" label="结算客户" borderBottom ref="customerNameRef">
                    <u--input v-model="newFormData.customerName" disabled disabledColor="#ffffff" border="none"></u--input>
                </u-form-item>
@@ -27,8 +30,19 @@
            </u--form>
        </view>
        <!-- 选择账套 -->
        <u-picker
            @change="selectLedgerChange"
            @confirm="selectLedgerConfirm"
            @cancel="selectLedgerCancel"
            @close="selectLedgerClose"
            :show="selectLedgerShow"
            :columns="ledgerList"
            keyName="name"
        ></u-picker>
        <!-- 申请日历、范围时间 -->
        <u-calendar :show="timeShow" :mode="mode" @confirm="confirmTime" @close="timeClose" rowHeight="110" :maxDate="maxDate"></u-calendar>
        <u-calendar :show="timeShow" :mode="mode" @confirm="confirmTime" @close="timeClose" rowHeight="110"></u-calendar>
        <!-- 添加合同子项 -->
        <view class="addContractContainer">
            <u-popup :show="addContractShow" @close="addContractClose" @open="addContractOpen" mode="bottom" round="22">
@@ -381,6 +395,7 @@
<script>
import combinationTitle from '@/components/common/combined-title/combined-title.vue';
import popupMenu from '@/components/common/popup-menu/popup-menu.vue';
import { BaseUrl } from '@/utils/request.js';
// 最大显示的日期
const d = new Date();
@@ -391,6 +406,10 @@
export default {
    data() {
        return {
            // 账套选择器
            selectLedgerShow: false,
            ledgerList: [],
            ledgerName: '',
            applicationOrderIndex: null,
            tdStyle: 'max-height: 30px;overflow: scroll;',
            spanStyle: 'overflow:auto',
@@ -408,7 +427,6 @@
            // 时间
            timeShow: false,
            mode: 'range',
            maxDate: `${year}-${month}-${date + 70}`,
            // 选择客户
            selectCustomerData: {
                compIds: '',
@@ -637,6 +655,7 @@
            }
        },
        init() {
            this.getLedgerList(); // 账套列表
            this.jcfavouredpolicyitem();
            this.coalfiled();
            this.coalprice();
@@ -646,6 +665,76 @@
            this.fetchCompTree();
            this.getFavouredPolicyItem();
            this.editApplicationFormData(); // 修改申请表单详情
        },
        /**
         * 获取分类账套
         */
        getLedgerList() {
            this.$reqGet('zhaccountledger', { compId: uni.getStorageSync('userInfo').compId }).then(res => {
                this.ledgerList.push(res.data.records);
                // console.log('账套列表',this.ledgerList);
                // if (res.data.records) {
                //     this.newFormData.ledgerId = res.data.records[0].id;
                //     this.ledgerName = res.data.records[0].name;
                // }
            });
        },
        selectLedger() {
            this.selectLedgerShow = true;
        },
        selectLedgerChange(index) {
            console.log('账套选择器', index);
            // if(this.newFormData.customerName||this.newFormData.contractNum||this.newFormData.contractName){
            //     this.newFormData.customerName = '';
            //     this.newFormData.contractNum = '';
            //     this.newFormData.contractName = '';
            // }
        },
        async selectLedgerConfirm(index) {
            console.log('选择账套点击确定', index);
            this.selectLedgerShow = false;
            await this.$reqGet('getAccount', { customerId: this.newFormData.customerId, ledgerId: index.value[0].id }).then(res => {
                let accountReq = res.data;
                let amountPrice = 0;
                this.newFormData.contractOrders.forEach(item => {
                    amountPrice += Number(item.amount);
                });
                console.log('价格合计', amountPrice);
                if (this.newFormData.payType == 0) {
                    if (accountReq.balance > amountPrice) {
                        this.ledgerName = index.value[0].name;
                        this.newFormData.ledgerId = index.value[0].id;
                        this.accountDetails = accountReq;
                    } else {
                        uni.showToast({
                            title: '账户内现汇余额:' + accountReq.balance +',不足支付现在订单',
                            icon: 'none'
                        });
                    }
                } else if (this.newFormData.payType == 1) {
                    if (accountReq.balance2 > amountPrice) {
                        this.ledgerName = index.value[0].name;
                        this.newFormData.ledgerId = index.value[0].id;
                        this.accountDetails = accountReq;
                    } else {
                        uni.showToast({
                            title: '账户内承兑余额:'+accountReq.balance2+',不足支付现在订单',
                            icon: 'none'
                        });
                    }
                }
            });
        },
        selectLedgerCancel() {
            this.selectLedgerShow = false;
        },
        selectLedgerClose() {
            this.selectLedgerShow = false;
        },
        // 初始化申请表单
        async editApplicationFormData() {
@@ -658,6 +747,7 @@
                console.log('整体详情', res.data);
                this.newFormData = res.data;
                this.timeDataStr = this.newFormData.startDate;
                this.ledgerName = res.data.ledgerName;
            });
            // 获取合同详情,煤种
@@ -665,7 +755,7 @@
            // 初始化当前申请客户账户情况
            if (this.newFormData.customerId) {
                await this.$reqGet('getAccount', { customerId: this.newFormData.customerId }).then(res => {
                await this.$reqGet('getAccount', { customerId: this.newFormData.customerId, ledgerId: this.newFormData.ledgerId }).then(res => {
                    this.accountDetails = res.data;
                });
            }
@@ -821,7 +911,7 @@
        selectCustomerOkClick(v) {
            this.newFormData.customerName = v.customerName;
            this.newFormData.customerId = v.id;
            this.$reqGet('getAccount', { customerId: v.id }).then(res => {
            this.$reqGet('getAccount', { customerId: v.id,ledgerId: this.newFormData.ledgerId }).then(res => {
                this.accountDetails = res.data;
                this.searchContractForm.customerName = res.data.customerName;
@@ -893,7 +983,9 @@
                        quant: '',
                        toStation: '',
                        trainType: 1,
                        type: ''
                        type: '',
                        ledgerId:null,
                        ledgerName:''
                    };
                    // 运输类型初始化
                    switch (this.addContractFormdata.trainType) {
@@ -949,21 +1041,11 @@
        addContractConsignee() {
            this.addContractConsigneeShow = true;
        },
        // 收货人
        addContractConsigneeConfirm(v) {
            // console.log('收货人', v);
            this.addContractFormdata.toStation = v.toStation;
            this.addContractFormdata.customerName = v.customerName;
            this.addContractFormdata.customerId = v.id;
            this.$reqGet('getAccount', { customerId: v.id }).then(res => {
                // console.log('获取收货人账号', res);
                // this.accountDetails = res.data;
                // this.newFormData.customerName = res.data.customerName;
                // this.newFormData.customerId = res.data.id;
                // this.searchContractForm.customerName = res.data.customerName;
            });
            this.$nextTick(() => {
                this.addContractConsigneeShow = false;
            });
            // 赋值给取价格请求参数
            this.getNewPriceData.customerAddressName = v.customerFullName;
@@ -983,6 +1065,7 @@
                }
                this.addContractCoalData.push(a);
            });
            this.addContractConsigneeShow = false;
        },
        // 品种选择器
        addContractCoalConfirm(e) {
@@ -1183,13 +1266,12 @@
            this.newFormData.contractOrders.forEach(e => {
                amount += Number(e.amount);
            });
            if (this.newFormData.payType == '0') {
                if (this.newFormData.contractOrders.length <= 0) {
                    this.$u.toast('请添加订单子项!');
                    return false;
                } else if (this.accountDetails.balance < amount) {
            console.log(typeof this.newFormData.payType);
            if (this.newFormData.contractOrders.length > 0) {
                if (this.newFormData.payType == 0) {
                    if (this.accountDetails.balance < amount) {
                    let msg = this.accountDetails.balance == null ? 0 : this.accountDetails.balance;
                    this.$u.toast('客户账户承兑余额不足,承兑余额:' + msg);
                        this.$u.toast('客户账户现汇余额不足,承兑余额:' + msg);
                } else {
                    uni.showLoading({
                        title: '加载中...'
@@ -1197,11 +1279,8 @@
                    this.editShenQing();
                    // this.xswaybill();
                }
            } else {
                if (this.newFormData.contractOrders.length <= 0) {
                    this.$u.toast('请添加订单子项!');
                    return false;
                } else if (this.accountDetails.balance2 < amount) {
                } else if (this.newFormData.payType == 1) {
                    if (this.accountDetails.balance2 < amount) {
                    let msg = this.accountDetails.balance2 == null ? 0 : this.accountDetails.balance2;
                    this.$u.toast('客户账户承兑余额不足,承兑余额:' + msg);
                } else {
@@ -1211,12 +1290,19 @@
                    this.editShenQing();
                }
            }
            } else {
                uni.showToast({
                    title: '请添加订单子项!',
                    icon: 'none'
                });
            }
        },
        // 修改申请信息
        editShenQing() {
            console.log('editApp-------');
            uni
                .request({
                    url: this.baseUrl + '/yunxiao/xswaybill',
                    url: BaseUrl + '/yunxiao/xswaybill',
                    method: 'PUT',
                    data: this.newFormData,
                    header: {
@@ -1227,7 +1313,11 @@
                })
                .then(res => {
                    uni.hideLoading();
                    this.$u.toast('修改成功');
                    uni.showToast({
                        title:'修改成功!',
                        icon:'none',
                        duration:1500
                    })
                    this.$nextTick(() => {
                        uni.navigateBack({
                            delta: 1
pages/home/home.vue
@@ -50,7 +50,7 @@
                    <view class="bottom-container">
                        <!-- 按钮区域 -->
                        <view class="bottom-content__chulizhong bottom-content__item">
                            <view @click="withDrawClick(item.id)" v-if="item.status == 1">
                            <view @click="withDrawClick(item.procInstId)" v-if="item.status == 1">
                                <image src="@/static/home/cehui.png" mode=""></image>
                                <view>撤回</view>
                            </view>
@@ -58,21 +58,25 @@
                                <image src="@/static/home/jindu.png" mode=""></image>
                                <view>查看进度</view>
                            </view>
                            <view @click="theFormDataClick(item.tableId)" v-if="(item.status == 1 || item.status == 2) && item.procDefId == 'WAY_BILL:4:87504'">
                            <view @click="theFormDataClick(item.tableId)" v-if="(item.status == 1 || item.status == 2 || item.status == 3) && item.processName == '发运通知单'">
                                <image src="@/static/home/biaodan.png" mode=""></image>
                                <view>表单数据</view>
                                <view>申请详情</view>
                            </view>
                            <view @click="apply(item)" v-if="item.status == 3">
                            <!-- <view @click="apply(item)" v-if="item.status == 3">
                                <image src="@/static/home/history.png" mode=""></image>
                                <view>重新申请</view>
                            </view>
                            <view @click="editMyApplication(item)" v-if="item.status == 3 && item.procDefId == 'WAY_BILL:4:87504'">
                            </view> -->
                            <view @click="editMyApplication(item)" v-if="item.status == 1 && item.processName == '发运通知单'">
                                <image src="@/static/home/history.png" mode=""></image>
                                <view>编辑</view>
                            </view>
                            <view @click="approvalHistoryClick(item.procInstId)" v-if="item.status == 2 || item.status == 3">
                                <image src="@/static/home/history.png" mode=""></image>
                                <view>审批历史</view>
                            </view>
                            <view @click="deleteWithDrawApplication(item.tableId)" v-if="item.status == 3">
                                <image src="@/static/home/delete.png" mode=""></image>
                                <view>删除</view>
                            </view>
                        </view>
                        <!-- 已结束小组按钮 -->
@@ -120,10 +124,10 @@
                    <view class="bottom-container">
                        <!-- 待办按钮 -->
                        <view class="bottom-content__item">
                            <!-- <view @click="theFormDataClick">
                            <view @click="theFormDataClick(item.tableId)">
                <image src="@/static/home/jindu.png" mode=""></image>
                <view>申请详情</view>
              </view> -->
              </view>
                            <view @click="adopClick(item)">
                                <image src="@/static/home/tongguo.png" mode=""></image>
                                <view>通过</view>
@@ -163,7 +167,7 @@
                        </view>
                        <view class="center-content__two center-margin">
                            <view>
                                <text>发起人:{{ item.actBusiness.createByName }}</text>
                                <text>发起人:{{ item.actBusiness.createByName || '' }}</text>
                            </view>
                            <view>
                                <text>审批操作:{{ item.deleteReason }}</text>
@@ -171,7 +175,7 @@
                        </view>
                        <view class="center-content__three center-margin">
                            <view class="">
                                <text>审批意见:{{ item.comment || '' }}</text>
                                <text>审批意见:{{ item.comment=='undefined'?'未填写':item.comment || '未填写' }}</text>
                            </view>
                            <view class="">
                                <text>
@@ -194,7 +198,7 @@
                    <view class="bottom-container">
                        <!-- 已办按钮 -->
                        <view class="bottom-content__item">
                            <view @click="theFormDataClick(item.tableId)" v-if="item.procDefId == 'WAY_BILL:4:87504'">
                            <view @click="theFormDataClick(item.tableId)" v-if="item.processName == '发运通知单'">
                                <image src="@/static/home/biaodan.png" mode=""></image>
                                <view>表单数据</view>
                            </view>
@@ -245,8 +249,11 @@
        <!-- 撤回模态框 -->
        <view class="wodeshenqingMotai">
            <u-modal width="684rpx" :show="withDrawShow" title="撤回原因" :showCancelButton="true" @confirm="withDrawConfirm" @cancel="withDrawCancel">
                <view class="slot-content"><u--textarea v-model="withDrawData.reason" placeholder="请输入撤回原因"></u--textarea></view>
            <u-modal width="684rpx" :show="withDrawShow" title="提示" :showCancelButton="true" @confirm="withDrawConfirm" @cancel="withDrawCancel">
                <view class="slot-content">
                    <!-- <u--textarea v-model="withDrawData.reason" placeholder="请输入撤回原因"></u--textarea> -->
                    <text>确认撤回该申请吗?</text>
                </view>
            </u-modal>
        </view>
@@ -309,10 +316,10 @@
                    <view class="top"><u-icon name="backspace" color="#FF4233" size="70"></u-icon></view>
                    <view class="bottom-text"><text>退出</text></view>
                </view>
                <view class="utils-container-body" @click="huanBang">
                <!-- <view class="utils-container-body" @click="huanBang">
                    <view class="top"><u-icon name="lock-open" color="#1987FF" size="70"></u-icon></view>
                    <view class="bottom-text"><text>换绑</text></view>
                </view>
                </view> -->
            </view>
        </view>
        <u-gap height="60" bgColor="#eeeeee"></u-gap>
@@ -368,8 +375,8 @@
            withDrawShow: false,
            fyData: [],
            withDrawData: {
                reason: '',
                id: '', // 撤回申请ID
                // reason: '',
                // id: '', // 撤回申请ID
                procInstId: ''
            },
            withDrawContent: '',
@@ -594,18 +601,12 @@
            this.menuShow = e;
        },
        // 撤回模态框
        withDrawClick(id) {
        withDrawClick(procInstId) {
            this.withDrawShow = true;
            this.withDrawData.id = id;
            this.withDrawData.procInstId = procInstId;
        },
        withDrawConfirm() {
            this.shenqingData.forEach(i => {
                if (i.id == this.withDrawData.id) {
                    this.withDrawData.procInstId = i.procInstId;
                }
            });
            if (this.withDrawData.reason.length >= 2) {
                this.$reqPost('withDraw', this.withDrawData, 'form').then(res => {
                this.$reqPost('cancel', this.withDrawData).then(res => {
                    this.withDrawShow = false;
                    if (res.code == 0) {
                        uni.showToast({
@@ -613,14 +614,14 @@
                            duration: 2000
                        });
                    }
                    // 刷新列表
                    this.getProcessDataList();
                    this.todoList();
                    this.doneList();
                });
            } else {
                uni.showToast({
                    title: '请规范输入',
                    duration: 2000
                });
            }
        },
        withDrawCancel() {
            this.withDrawShow = false;
        },
        // 通过
        adopClick(v) {
@@ -637,13 +638,14 @@
        adoptModalConfirm() {
            this.adoptModalShow = false;
            this.adoptForm.comment = this.adoptModalContent;
            this.$reqPost('passAll', this.adoptForm, 'form').then(res => {
            this.$reqPost('passAll', this.adoptForm).then(res => {
                if (res.code == 0) {
                    this.$u.toast('操作成功!');
                } else {
                    this.$u.toast('添加失败!!');
                    this.$u.toast('通过失败!!');
                }
                this.todoList(); // 我的待办
                this.doneList();
            });
        },
        adoptModalCancel() {
@@ -659,20 +661,24 @@
        rejectModalConfirm() {
            this.rejectModalShow = false;
            this.$reqPost('backAll', this.rejectForm, 'form').then(res => {
            this.$reqPost('backAll', this.rejectForm).then(res => {
                if (res.code == 0) {
                    this.$u.toast('操作成功!');
                } else {
                    this.$u.toast('操作失败!!!');
                }
                this.todoList(); // 我的待办
                this.doneList();
            });
        },
        rejectModalCancel() {
            this.rejectModalShow = false;
        },
        withDrawCancel() {
            this.withDrawShow = false;
        // 删除申请
        deleteApplicationClick(id) {
            this.deleteApplicationModalShow = true;
            this.procInstId = id;
            console.log(id);
        },
        // 删除申请模态框
        deleteApplicationModalConfirm() {
@@ -702,83 +708,112 @@
                url: `/pages/the-form-data/the-form-data?index=${v}`
            });
        },
        // 重新申请
        apply(v) {
            if (!v.procDefId || v.procDefId == 'null') {
                this.$u.toast('流程定义为空');
                return;
        // 删除撤回申请
        deleteWithDrawApplication(id){
            uni
                .request({
                    url: `${BaseUrl}/yunxiao/xswaybill/${id}`,
                    method: 'DELETE',
                    header: {
                        'TENANT-ID': 5,
                        Authorization: 'Bearer ' + uni.getStorageSync('access_token'),
                        VERSION: 'zzl'
            }
            this.form.id = v.id;
            this.form.procDefId = v.procDefId;
            this.form.title = v.title;
            // 加载审批人
            // this.userLoading = true;
            uni.showLoading({
                title: '审批人加载中'
            });
            // getFirstNode(v.procDefId).then((res) => {
            this.$reqGet('getFirstNode', {}, v.procDefId).then(res => {
                // this.userLoading = false;
                console.log('审批人', res);
                uni.hideLoading();
                if (res.data) {
                    this.error = '';
                    if (res.data.type == 3 || res.data.type == 4) {
                        this.isGateway = true;
                        this.form.firstGateway = true;
                        this.showAssign = false;
                        this.isCustom = false;
                        return;
                    }
                    if (res.data.type == 5) {
                        this.isCustom = true;
                        this.isGateway = false;
                        this.form.firstGateway = false;
                        this.showAssign = false;
                        return;
                    }
                    if (res.data.type == 1) {
                        this.showAssign = true;
                        this.isGateway = false;
                        this.form.firstGateway = false;
                        this.isCustom = false;
                        if (res.data.users && res.data.users.length > 0) {
                            this.assigneeList = res.data.users;
                            // 默认勾选
                            let ids = [];
                            res.data.users.forEach(e => {
                                ids.push(e.userId);
                            });
                            this.form.assignees = ids;
                            this.showAssign = true;
                            // 获取表单内容,重新创建申请
                            this.$reqPost('apply', this.form, 'form').then(res => {
                                console.log('重新提交申请', res);
                                if (res.code == 0) {
                })
                .then(res => {
                                    uni.showToast({
                                        title: res.data,
                                        icon: 'success',
                                        duration: 2000
                                    });
                                }
                                // 初始化申请列表
                                // this.myApplication.pageNumber = 1;
                                // this.shenqingData = [];
                                // this.getMoreNews();
                                this.getProcessDataList();
                            });
                        } else {
                            this.form.assignees = [];
                            this.showAssign = true;
                            this.error = '请进入"流程管理"为审批节点分配候选审批人员';
                        }
                    }
                }
                console.log(this.form);
            });
                        title:'删除成功',
                        icon:'none'
                    })
            this.modalVisible = true;
                    // 刷新列表
                    this.getProcessDataList();
                })
                .catch(err => {
                    uni.showToast({
                        title:'删除出错',
                        icon:'none'
                    })
                });
        },
        // 重新申请
        // apply(v) {
        //     if (!v.procDefId || v.procDefId == 'null') {
        //         this.$u.toast('流程定义为空');
        //         return;
        //     }
        //     this.form.id = v.id;
        //     this.form.procDefId = v.procDefId;
        //     this.form.title = v.title;
        //     // 加载审批人
        //     // this.userLoading = true;
        //     uni.showLoading({
        //         title: '审批人加载中'
        //     });
        //     // getFirstNode(v.procDefId).then((res) => {
        //     this.$reqGet('getFirstNode', {}, v.procDefId).then(res => {
        //         // this.userLoading = false;
        //         console.log('审批人', res);
        //         uni.hideLoading();
        //         if (res.data) {
        //             this.error = '';
        //             if (res.data.type == 3 || res.data.type == 4) {
        //                 this.isGateway = true;
        //                 this.form.firstGateway = true;
        //                 this.showAssign = false;
        //                 this.isCustom = false;
        //                 return;
        //             }
        //             if (res.data.type == 5) {
        //                 this.isCustom = true;
        //                 this.isGateway = false;
        //                 this.form.firstGateway = false;
        //                 this.showAssign = false;
        //                 return;
        //             }
        //             if (res.data.type == 1) {
        //                 this.showAssign = true;
        //                 this.isGateway = false;
        //                 this.form.firstGateway = false;
        //                 this.isCustom = false;
        //                 if (res.data.users && res.data.users.length > 0) {
        //                     this.assigneeList = res.data.users;
        //                     // 默认勾选
        //                     let ids = [];
        //                     res.data.users.forEach(e => {
        //                         ids.push(e.userId);
        //                     });
        //                     this.form.assignees = ids;
        //                     this.showAssign = true;
        //                     // 获取表单内容,重新创建申请
        //                     this.$reqPost('apply', this.form, 'form').then(res => {
        //                         console.log('重新提交申请', res);
        //                         if (res.code == 0) {
        //                             uni.showToast({
        //                                 title: res.data,
        //                                 icon: 'success',
        //                                 duration: 2000
        //                             });
        //                         }
        //                         // 初始化申请列表
        //                         // this.myApplication.pageNumber = 1;
        //                         // this.shenqingData = [];
        //                         // this.getMoreNews();
        //                         this.getProcessDataList();
        //                     });
        //                 } else {
        //                     this.form.assignees = [];
        //                     this.showAssign = true;
        //                     this.error = '请进入"流程管理"为审批节点分配候选审批人员';
        //                 }
        //             }
        //         }
        //         console.log(this.form);
        //     });
        //     this.modalVisible = true;
        // },
        // 修改
        editMyApplication(v) {
            console.log('修改申请');
@@ -792,12 +827,7 @@
                url: `/pages/approval-history/approval-history?index=${v}`
            });
        },
        // 删除申请
        deleteApplicationClick(id) {
            this.deleteApplicationModalShow = true;
            this.procInstId = id;
            console.log(id);
        },
        redirectLogin() {
            redirectLogin();
        },
@@ -820,7 +850,8 @@
    .utils {
        .utils-container {
            display: flex;
            justify-content: space-between;
            // justify-content: space-between;
            justify-content: center;
            width: 66%;
            margin: 0 auto;
            .utils-container-body {
pages/jihua/jihua.vue
@@ -1,5 +1,6 @@
<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">
@@ -11,14 +12,8 @@
            </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>
@@ -33,22 +28,35 @@
                            <view class="main-flex">
                                <view class="carNum-box">
                                    <view>计划车数:</view>
                                    <u--input placeholder="请输入发运车数" border="surround" v-model="item.numPlan" @change="inputChange"></u--input>
                                </view>
                                <view>实际发车数:{{ item.numReal || '' }}</view>
                                    <!-- <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>
                    <u-button class="xiugai-btn" type="primary" text="提交" @click="dataFormSubmit"></u-button>
                        </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="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>
@@ -63,20 +71,38 @@
                            <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>
        </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>
@@ -84,6 +110,7 @@
<script>
import popupMenu from '@/components/common/popup-menu/popup-menu.vue';
import tool from '@/utils/tool.js';
export default {
    components: {
        popupMenu
@@ -108,7 +135,13 @@
            isTomJihua: '全部',
            editRow: '', //修改行的行
            menuShow: false,
            scrollTop: 0 // 返回顶部按钮绑定
            scrollTop: 0, // 返回顶部按钮绑定,
            // 键盘
            keyBoardShow: false,
            keyBoardValue: '',
            fayunPlanFocusId: null,
            isCursor: false ,// 日计划车辆输入框焦点动画
            overlayShow:false // 遮罩层
        };
    },
    onShow() {
@@ -118,12 +151,57 @@
        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() {
@@ -132,22 +210,30 @@
        menushow(e) {
            this.menuShow = e;
        },
        //提交
        dataFormSubmit() {
            //提交订单
            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;
                e.id = e.planId;
                    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 => {
@@ -155,6 +241,11 @@
                this.xscarshippingdayplan();
            });
        },
        // 修改日计划防抖按钮
        editPlan:tool.throttle(function(){
            this.getOrderCarNum();
        }),
        // 切换全部和已设置
        groupChange(n) {
            console.log(n, 'n================');
            this.isTomJihua = n;
@@ -163,6 +254,140 @@
            } 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();
@@ -187,92 +412,6 @@
            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;
        }
    }
};
@@ -412,6 +551,30 @@
                }
                .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);
pages/login/login.vue
@@ -1,11 +1,10 @@
<template>
<!-- <template>
    <view class="login">
        <image src="@/static/login/banner.png" class="background"></image>
        <view class="login-container">
            <view class="loginBtn"><u-button text="微信账号快捷登录" type="success" shape="circle" icon="weixin-fill" @click="toGrantAuthorization"></u-button></view>
            <view class="utils"><text @click="toBindPage">绑定系统账号</text></view>
        </view>
        <!-- 特定范围说明 -->
        <view class="loginBottom"><text>小程序仅供已拥有系统账号特定内部人员使用</text></view>
        <u-modal
            @confirm="wxLoginConfirm"
@@ -201,3 +200,155 @@
    }
}
</style>
 -->
 <template>
     <view class="login">
        <u-overlay :show="show" @click="show = false"></u-overlay>
         <image src="@/static/login/banner.png" class="background"></image>
         <view class="inputBox">
             <view class="phone">
                 <image src="@/static/login/phone.png" mode="加载错误"></image>
                 <input type="text" placeholder="请输入用户名/手机号" v-model="formData.username" />
             </view>
             <view class="password">
                 <image src="@/static/login/lock.png" mode="加载错误" />
                 <input type="password" placeholder="请输入账号密码" v-model="formData.password" />
             </view>
             <view class="loginBtn"><button type="default" @click="loginSubmit">登录</button></view>
         </view>
     </view>
 </template>
 <script>
 import { setAccessToken, setTokenType, setRefreshToken, setClientId, setScope, redirectHome, redirectLogin } from '@/utils/status.js';
 export default {
     name: 'login',
     data() {
         return {
            show:false,
             formData: {
                 // username: 'zhangjialiang',
                 // password: '123456aaa',
                // username: 'gequan',
                // password: 'gequan!@#$',
                username: '',
                password: ''
             },
             bindData: {
                 state: 'MINI',
                 code: ''
             }
         };
     },
    onShow() {
        // 清除缓存
        if (uni.getStorageSync('userInfo') || uni.getStorageSync('access_token') || uni.getStorageSync('refresh_token')) {
            uni.clearStorageSync();
        }
    },
     methods: {
         loginSubmit() {
            if(this.formData.username == ''){
                uni.showToast({
                    title:'请输入用户名!',
                    icon:'none'
                })
            } else if(this.formData.password == ''){
                uni.showToast({
                    title:'请输入密码!',
                    icon:'none'
                })
            } else {
                this.show = true;
                uni.showLoading({
                    title: '登录中...'
                });
                this.apiLogin(this.formData)
                    .then(this.saveUserInfo)
                    .catch(this.loginFail);
            }
         },
         saveUserInfo(response) {
             uni.hideLoading();
            this.show = false;
             if (response.statusCode === 200) {
                 const { access_token, refresh_token, token_type, scope } = response.data;
                 try {
                     setAccessToken(access_token);
                     setTokenType(token_type);
                     setRefreshToken(refresh_token);
                     setScope(scope);
                     this.$store.dispatch('menus');
                     uni.hideLoading();
                     redirectHome();
                 } catch (e) {
                     console.log('检测到错误',e);
                 }
             } else {
                 uni.showToast({
                     title: response.data.msg,
                     icon:'none',
                     duration: 2000
                 });
             }
         },
         loginFail(err) {
            this.show = false;
             console.log('登录接口错误', err);
         }
     }
 };
 </script>
 <style lang="scss" scoped>
 .login {
     .background {
         width: 100%;
         height: vww(289);
         // height: vww(246);
     }
     .inputBox {
         width: vww(280);
         margin: vww(40) auto;
         input {
             width: vww(240);
             margin-left: vww(8);
         }
         .phone {
             width: vww(280);
             height: vww(36);
             display: flex;
             align-items: center;
             border-bottom: vww(1) solid #cccccc;
             image {
                 width: vww(20);
                 height: vww(20);
             }
         }
         .password {
             width: vww(280);
             height: vww(36);
             display: flex;
             align-items: center;
             margin-top: vww(40);
             border-bottom: vww(1) solid #cccccc;
             image {
                 width: vww(20);
                 height: vww(20);
             }
         }
         .loginBtn {
             margin-top: vww(80);
             button {
                 background-color: #007aff;
                 color: #ffffff;
                 font-size: vww(16);
                 border-radius: vww(22);
             }
         }
     }
 }
 </style>
pages/my-application/my-application.vue
@@ -61,7 +61,7 @@
              <text>所属流程:{{ item.processName }}</text>
            </view>
            <view class="">
              <text>审批环节:{{ item.currTaskName == null ? '' : item.currTaskName }}</text>
              <text>审批环节:{{ item.currTaskName ||'' }}</text>
            </view>
          </view>
          <view class="center-content__two center-margin">
@@ -86,7 +86,7 @@
        <view class="bottom-container">
          <!-- 按钮区域 -->
          <view class="bottom-content__chulizhong bottom-content__item">
            <view @click="withDrawClick(item.id)" v-if="item.status == 1">
            <view @click="withDrawClick(item.procInstId)" v-if="item.status == 1">
              <image src="@/static/home/cehui.png" mode=""></image>
              <view>撤回</view>
            </view>
@@ -94,21 +94,25 @@
              <image src="@/static/home/jindu.png" mode=""></image>
              <view>查看进度</view>
            </view>
            <view @click="theFormDataClick(item.tableId)" v-if="(item.status == 1 || item.status == 2 )&& (item.procDefId == 'WAY_BILL:4:87504')">
            <view @click="theFormDataClick(item.tableId)" v-if="(item.status == 1 || item.status == 2 || item.status == 3 ) && (item.processName == '发运通知单')">
              <image src="@/static/home/biaodan.png" mode=""></image>
              <view>申请详情</view>
            </view>
            <view v-if="item.status == 3" @click="apply(item)">
            <!-- <view v-if="item.status == 3" @click="apply(item)">
              <image src="@/static/home/history.png" mode=""></image>
              <view>重新申请</view>
            </view>
            <view v-if="item.status == 3" @click="editMyApplication(item)">
            </view> -->
            <view @click="editMyApplication(item)" v-if="item.status == 1 && item.processName == '发运通知单'">
              <image src="@/static/home/history.png" mode=""></image>
              <view>编辑</view>
            </view>
            <view @click="approvalHistoryClick(item.procInstId)" v-if="item.status == 2 || item.status == 3">
              <image src="@/static/home/history.png" mode=""></image>
              <view>审批历史</view>
            </view>
                        <view @click="deleteWithDrawApplication(item.tableId)" v-if="item.status == 3">
                            <image src="@/static/home/delete.png" mode=""></image>
                            <view>删除</view>
            </view>
          </view>
        </view>
@@ -118,10 +122,11 @@
    <!-- 撤回模态框 -->
    <view class="wodeshenqingMotai">
      <u-modal width="684rpx" :show="withDrawShow" title="撤回原因" :showCancelButton="true" @confirm="withDrawConfirm"
      <u-modal width="684rpx" :show="withDrawShow" title="提示" :showCancelButton="true" @confirm="withDrawConfirm"
               @cancel="withDrawCancel">
        <view class="slot-content">
          <u--textarea v-model="withDrawData.reason" placeholder="请输入撤回原因"></u--textarea>
          <!-- <u--textarea v-model="withDrawData.reason" placeholder="请输入撤回原因"></u--textarea> -->
                    <text>确认撤回该申请吗?</text>
        </view>
      </u-modal>
    </view>
@@ -143,7 +148,7 @@
      <u-back-top :scroll-top="scrollTop" style="position:fixed;bottom:100px;right:100px;"></u-back-top>
    </view>
    <view class="" style="height:50px;">
    <view class="empty-placeH">
    </view>
@@ -193,8 +198,8 @@
      // 撤回模态框
      withDrawShow: false,
      withDrawData: {
        reason: '',
        id: '', // 撤回申请ID
        // reason: '',
        // id: '', // 撤回申请ID
        procInstId: ''
      },
      // 重新申请
@@ -403,17 +408,12 @@
      this.init();
    },
    // 撤回模态框
    withDrawClick(id) {
    withDrawClick(procInstId) {
      this.withDrawShow = true;
      this.withDrawData.id = id;
      this.withDrawData.procInstId = procInstId;
    },
    withDrawConfirm() {
      this.shenqingData.forEach(i => {
        if (i.id == this.withDrawData.id) {
          this.withDrawData.procInstId = i.procInstId;
        }
      });
      this.$reqPost('withDraw', this.withDrawData, 'form').then(res => {
      this.$reqPost('cancel', this.withDrawData).then(res => {
        console.log('res', res);
        if (res.code == 0) {
          uni.showToast({
@@ -428,95 +428,86 @@
        this.getMoreNews();
      });
      console.log(this.withDrawId);
      if (this.withDrawData.reason.length >= 2) {
        console.log(this.withDrawData.reason);
      } else {
        uni.showToast({
          title: '请规范输入',
          duration: 2000
        });
      }
    },
    withDrawCancel() {
      this.withDrawShow = false;
    },
    apply(v) {
      if (!v.procDefId || v.procDefId == 'null') {
        this.$u.toast('流程定义为空');
        return;
      }
      this.form.id = v.id;
      this.form.procDefId = v.procDefId;
      this.form.title = v.title;
      // 加载审批人
      // this.userLoading = true;
      uni.showLoading({
        title: '审批人加载中'
      });
      // getFirstNode(v.procDefId).then((res) => {
      this.$reqGet('getFirstNode', {}, v.procDefId).then(res => {
        // this.userLoading = false;
        console.log('审批人', res);
        uni.hideLoading();
        if (res.data) {
          this.error = '';
          if (res.data.type == 3 || res.data.type == 4) {
            this.isGateway = true;
            this.form.firstGateway = true;
            this.showAssign = false;
            this.isCustom = false;
            return;
          }
          if (res.data.type == 5) {
            this.isCustom = true;
            this.isGateway = false;
            this.form.firstGateway = false;
            this.showAssign = false;
            return;
          }
          if (res.data.type == 1) {
            this.showAssign = true;
            this.isGateway = false;
            this.form.firstGateway = false;
            this.isCustom = false;
            if (res.data.users && res.data.users.length > 0) {
              this.assigneeList = res.data.users;
              // 默认勾选
              let ids = [];
              res.data.users.forEach(e => {
                ids.push(e.userId);
              });
              this.form.assignees = ids;
              this.showAssign = true;
              // 获取表单内容,重新创建申请
              this.$reqPost('apply', this.form, 'form').then(res => {
                console.log('重新提交申请', res);
                if (res.code == 0) {
                  uni.showToast({
                    title: res.data,
                    icon: 'success',
                    duration: 2000
                  });
                }
                // 初始化申请列表
                this.myApplication.pageNumber = 1;
                this.shenqingData = [];
                this.getMoreNews();
              })
            } else {
              this.form.assignees = [];
              this.showAssign = true;
              this.error = '请进入"流程管理"为审批节点分配候选审批人员';
            }
          }
        }
        console.log(this.form);
      });
      this.modalVisible = true;
    // apply(v) {
    //   if (!v.procDefId || v.procDefId == 'null') {
    //     this.$u.toast('流程定义为空');
    //     return;
      // }
    },
    //   this.form.id = v.id;
    //   this.form.procDefId = v.procDefId;
    //   this.form.title = v.title;
    //   // 加载审批人
    //   // this.userLoading = true;
    //   uni.showLoading({
    //     title: '审批人加载中'
    //   });
    //   // getFirstNode(v.procDefId).then((res) => {
    //   this.$reqGet('getFirstNode', {}, v.procDefId).then(res => {
    //     // this.userLoading = false;
    //     console.log('审批人', res);
    //     uni.hideLoading();
    //     if (res.data) {
    //       this.error = '';
    //       if (res.data.type == 3 || res.data.type == 4) {
    //         this.isGateway = true;
    //         this.form.firstGateway = true;
    //         this.showAssign = false;
    //         this.isCustom = false;
    //         return;
    //       }
    //       if (res.data.type == 5) {
    //         this.isCustom = true;
    //         this.isGateway = false;
    //         this.form.firstGateway = false;
    //         this.showAssign = false;
    //         return;
    //       }
    //       if (res.data.type == 1) {
    //         this.showAssign = true;
    //         this.isGateway = false;
    //         this.form.firstGateway = false;
    //         this.isCustom = false;
    //         if (res.data.users && res.data.users.length > 0) {
    //           this.assigneeList = res.data.users;
    //           // 默认勾选
    //           let ids = [];
    //           res.data.users.forEach(e => {
    //             ids.push(e.userId);
    //           });
    //           this.form.assignees = ids;
    //           this.showAssign = true;
    //           // 获取表单内容,重新创建申请
    //           this.$reqPost('apply', this.form, 'form').then(res => {
    //             console.log('重新提交申请', res);
    //             if (res.code == 0) {
    //               uni.showToast({
    //                 title: res.data,
    //                 icon: 'success',
    //                 duration: 2000
    //               });
    //             }
    //             // 初始化申请列表
    //             this.myApplication.pageNumber = 1;
    //             this.shenqingData = [];
    //             this.getMoreNews();
    //           })
    //         } else {
    //           this.form.assignees = [];
    //           this.showAssign = true;
    //           this.error = '请进入"流程管理"为审批节点分配候选审批人员';
    //         }
    //       }
    //     }
    //     console.log(this.form);
    //   });
    //   this.modalVisible = true;
    //   // }
    // },
    // 修改申请
    editMyApplication(v) {
      console.log('修改申请');
@@ -797,6 +788,11 @@
    }
  }
    // 底部占位
    .empty-placeH{
        height:vww(50);
    }
  // 底部
  .bottomTabbar {
pages/my-have-todo/my-have-todo.vue
@@ -51,7 +51,7 @@
                            </view>
                            <view class="center-content__two center-margin">
                                <view>
                                    <text>发起人:{{ item.actBusiness.createByName }}</text>
                                    <text>发起人:{{ item.actBusiness.createByName || '' }}</text>
                                </view>
                                <view>
                                    <text>审批操作:{{ item.deleteReason }}</text>
@@ -59,7 +59,7 @@
                            </view>
                            <view class="center-content__three center-margin">
                                <view class="">
                                    <text>审批意见:{{ item.comment == 'undefined' ? '' : item.comment || '' }}</text>
                                    <text>审批意见:{{ item.comment == 'undefined' ? '未填写' : item.comment || '未填写' }}</text>
                                </view>
                                <view class="">
                                    <text>
@@ -82,7 +82,7 @@
                        <view class="bottom-container">
                            <!-- 已办按钮 -->
                            <view class="bottom-content__item">
                                <view @click="theFormDataClick(item.tableId)" v-if="item.procDefId == 'WAY_BILL:4:87504'">
                                <view @click="theFormDataClick(item.tableId)" v-if="item.processName == '发运通知单'">
                                    <image src="@/static/home/biaodan.png" mode=""></image>
                                    <view>申请详情</view>
                                </view>
@@ -99,6 +99,10 @@
                    </template>
                </combination-card>
            </u-checkbox-group>
        </view>
        <view class="empty-placeH">
        </view>
        <!-- 底部全选 -->
        <view class="bottomTabbar">
@@ -387,6 +391,8 @@
<style lang="scss" scoped>
::v-deep.my-have-todo {
    width: 100%;
    height: 100%;
    // 搜索区域
    .searchContainer {
        width: 94%;
@@ -601,6 +607,11 @@
        }
    }
    // 底部站位
    .empty-placeH{
        height:vww(5);
    }
    // 底部
    .bottomTabbar {
        position: fixed;
pages/my-todo/my-todo.vue
@@ -81,7 +81,7 @@
          <view class="bottom-container">
            <!-- 待办按钮 -->
            <view class="bottom-content__item">
              <view @click="theFormDataClick(item.tableId)" v-if="item.procDefId == 'WAY_BILL:4:87504'">
              <view @click="theFormDataClick(item.tableId)" v-if="item.processName == '发运通知单'">
                <image src="@/static/home/jindu.png" mode=""></image>
                <view>申请详情</view>
              </view>
@@ -89,7 +89,7 @@
                <image src="@/static/home/tongguo.png" mode=""></image>
                <view>通过</view>
              </view>
              <view @click="rejectModalShow = true">
              <view @click="rejectClick(item)">
                <image src="@/static/home/bohui.png" mode=""></image>
                <view>驳回</view>
              </view>
@@ -192,6 +192,7 @@
<script>
import popupMenu from '@/components/common/popup-menu/popup-menu.vue';
import combinationCard from '@/components/common/combination-card/combination-card.vue';
import { callWithErrorHandling } from "vue";
export default {
  data() {
@@ -422,6 +423,7 @@
    },
    // 通过
    adopClick(v) {
            console.log('通过',v);
      this.adoptModalShow = true;
      this.adoptForm.ids = v.id;
      this.modalType = 0;
@@ -436,47 +438,61 @@
    // 通过模态框
    adoptModalConfirm() {
      this.adoptModalShow = false;
            if(this.checkBoxValue.length >= 1){
      this.checkBoxValue.forEach(item => {
        this.adoptDataBox.push(item.slice(0, 6))
      })
      this.adoptForm.ids = this.adoptDataBox.toString();
      this.$reqPost('passAll', this.adoptForm, 'form').then(res => {
            }
      this.$reqPost('passAll', this.adoptForm).then(res => {
        console.log('是否还原', this.adoptForm.ids, this.rejectForm.procInstIds);
        if (res.code == 0) {
          this.$u.toast('操作成功!');
        } else {
          this.$u.toast('添加失败!!');
        }
                // 初始化
                this.checkBoxValue = []
                this.adoptForm.ids = '';
                this.adoptForm.comment = '';
        this.init();
      });
    },
    adoptModalCancel() {
      this.adoptModalShow = false;
    },
        // 驳回点击
        rejectClick(v) {
          this.modalType = 1;
          this.rejectModalShow = true;
          this.rejectForm.procInstIds = v.procInstId;
        },
    // 驳回模态框
    rejectModalConfirm() {
      this.rejectModalShow = false;
            if(this.checkBoxValue.length >= 1){
      this.checkBoxValue.forEach(item => {
        this.rejectDataBox.push(item.slice(6, 12))
      })
      this.rejectForm.procInstIds = this.rejectDataBox.toString();
      this.$reqPost('backAll', this.rejectForm, 'form').then(res => {
            }
      this.$reqPost('backAll', this.rejectForm).then(res => {
        if (res.code == 0) {
          this.$u.toast('操作成功!');
        } else {
          this.$u.toast('操作失败!!!');
        }
                // 初始化
                this.rejectForm.procInstIds = '';
                this.rejectForm.comment = '';
                this.checkBoxValue = []
        this.init();
      });
    },
    rejectModalCancel() {
      this.rejectModalShow = false;
    },
    rejectClick(v) {
      this.modalType = 1;
      this.rejectModalShow = true;
      this.rejectForm.procInstIds = v.procInstId;
    },
    batchRejectClick() {
      if (this.checkBoxValue.length != 0) {
        this.rejectModalShow = true;
pages/new-application-form-data/new-application-form-data.vue
@@ -11,27 +11,24 @@
    <!-- <u-alert :title="accountMsg" :type="accountMsgType" :description="accountMsgType"></u-alert> -->
    <view class="formDataContaniner">
      <u--form labelPosition="left" :model="newFormData" :rules="rules" ref="formRef">
        <u-form-item @click="selectCustomer" labelWidth="20%" label="结算客户" prop="customerName" borderBottom
                     ref="customerNameRef">
                <u-form-item @click="selectLedger" labelWidth="20%" label="账套" borderBottom>
                    <u--input disabled disabledColor="#ffffff" v-model="ledgerName" border="none"></u--input>
                </u-form-item>
                <u-form-item @click="selectCustomer" labelWidth="20%" label="结算客户" prop="customerName" borderBottom ref="customerNameRef">
          <u--input disabled disabledColor="#ffffff" v-model="newFormData.customerName" border="none"></u--input>
        </u-form-item>
        <u-form-item @click="selectContract" labelWidth="20%" label="合同编号" prop="contractNum" borderBottom
                     ref="contractNumRef">
                <u-form-item @click="selectContract" labelWidth="20%" label="合同编号" prop="contractNum" borderBottom ref="contractNumRef">
          <u--input disabled disabledColor="#ffffff" v-model="newFormData.contractNum" border="none"></u--input>
        </u-form-item>
        <u-form-item labelWidth="20%" label="合同名称" borderBottom ref="contractNameRef">
          <u--input disabled disabledColor="#ffffff" v-model="newFormData.contractName" border="none"></u--input>
        </u-form-item>
        <u-form-item @click="showPayType = true" prop="payType" labelWidth="20%" label="付款方式" borderBottom
                     ref="payTypeRef">
          <u--input v-model="selectValue" disabled disabledColor="#ffffff" placeholder="请选择付款方式"
                    border="none"></u--input>
                <u-form-item @click="showPayType = true" prop="payType" labelWidth="20%" label="付款方式" borderBottom ref="payTypeRef">
                    <u--input v-model="selectValue" disabled disabledColor="#ffffff" placeholder="请选择付款方式" border="none"></u--input>
          <u-icon slot="right" name="arrow-right"></u-icon>
        </u-form-item>
        <u-form-item @click="timeShow = true" prop="startDate" labelWidth="20%" label="日期" borderBottom
                     ref="timeDataRef">
          <u--input v-model="timeDataStr" border="none" disabled disabledColor="#ffffff"
                    placeholder="请选择范围日期"></u--input>
                <u-form-item @click="timeShow = true" prop="startDate" labelWidth="20%" label="日期" borderBottom ref="timeDataRef">
                    <u--input v-model="timeDataStr" border="none" disabled disabledColor="#ffffff" placeholder="请选择范围日期"></u--input>
          <u-icon slot="right" name="arrow-right"></u-icon>
        </u-form-item>
        <u-form-item labelWidth="20%" label="编号" borderBottom>
@@ -40,37 +37,59 @@
      </u--form>
    </view>
        <!-- 选择账套 -->
        <u-picker
            @change="selectLedgerChange"
            @confirm="selectLedgerConfirm"
            @cancel="selectLedgerCancel"
            @close="selectLedgerClose"
            :show="selectLedgerShow"
            :columns="ledgerList"
            keyName="name"
            :closeOnClickOverlay="true"
        ></u-picker>
    <!-- 申请日历、范围时间 -->
    <u-calendar :show="timeShow" :mode="mode" @confirm="confirmTime" @close="timeClose" rowHeight="110"
                :maxDate="maxDate"></u-calendar>
        <u-calendar :show="timeShow" :mode="mode" @confirm="confirmTime" @close="timeClose" rowHeight="110" ></u-calendar>
    <!-- 申请付款方式弹出菜单 -->
    <u-action-sheet :show="showPayType" :actions="actions" title="请选择付款方式" @close="showPayType = false"
                    @select="sexSelect"></u-action-sheet>
        <u-action-sheet :show="showPayType" :actions="actions" title="请选择付款方式" @close="showPayType = false" @select="sexSelect"></u-action-sheet>
    <!-- 选择客户弹框 -->
    <!--  @touchmove.stop.prevent="moveHandleCustomer":防止图层穿透 -->
    <view class="selectCustomerPopup">
      <u-popup :show="selectCustomerShow" @close="selectCustomerClose" @open="selectCustomerOpen" mode="bottom"
               round="22">
            <u-popup :show="selectCustomerShow" @close="selectCustomerClose" @open="selectCustomerOpen" mode="bottom" round="22">
        <scroll-view scroll-y="true" style="height:100%;">
          <combination-title class="selectCustomerTitle" title="选择客户"></combination-title>
          <view class="selectCustomerContainer">
            <view class="searchContainer">
              <u--form labelPosition="left" :model="searchCustomerForm" ref="selectformRef">
                <u-form-item @click="selectCustomerCompShow = true;hideKeyboard() " labelWidth="12%" label="单位"
                             borderBottom ref="compRef">
                  <u--input v-model="searchCustomerForm.compName" disabled disabledColor="#ffffff" placeholder="点击选择单位"
                            border="none"></u--input>
                                <u-form-item
                                    @click="
                                        selectCustomerCompShow = true;
                                        hideKeyboard();
                                    "
                                    labelWidth="12%"
                                    label="单位"
                                    borderBottom
                                    ref="compRef"
                                >
                                    <u--input v-model="searchCustomerForm.compName" disabled disabledColor="#ffffff" placeholder="点击选择单位" border="none"></u--input>
                  <!--                                    <u-icon slot="right" name="close-circle-fill" @click="searchCustomerForm.compName = ''"></u-icon>-->
                </u-form-item>
                <u-form-item labelWidth="20%" label="客户名称" borderBottom ref="timeDataRef">
                  <u--input v-model="selectCustomerData.customerFullName" border="none" placeholder="输入客户名称"></u--input>
                  <u-icon slot="right" name="close-circle-fill"
                          @click="selectCustomerData.customerFullName = ''"></u-icon>
                                    <u-icon slot="right" name="close-circle-fill" @click="selectCustomerData.customerFullName = ''"></u-icon>
                </u-form-item>
                <u-form-item @click="selectLevelShow = true;hideKeyboard()" labelWidth="20%" label="客户级别" borderBottom>
                  <u--input border="none" v-model="searchCustomerForm.levelText" disabled disabledColor="#ffffff"
                            placeholder="点击选择级别"></u--input>
                                <u-form-item
                                    @click="
                                        selectLevelShow = true;
                                        hideKeyboard();
                                    "
                                    labelWidth="20%"
                                    label="客户级别"
                                    borderBottom
                                >
                                    <u--input border="none" v-model="searchCustomerForm.levelText" disabled disabledColor="#ffffff" placeholder="点击选择级别"></u--input>
                  <!--                                    <u-icon slot="right" name="close-circle-fill" @click="searchCustomerForm.levelText = ''"></u-icon>-->
                </u-form-item>
              </u--form>
@@ -104,8 +123,7 @@
              </u-cell-group>
            </view>
            <view class="loadmoreClass">
              <u-loadmore loadmoreText="点击加载更多" nomoreText="无更多数据!!!" :status="status" @loadmore="loadingCustomer"
                          fontSize="20" height="30px"/>
                            <u-loadmore loadmoreText="点击加载更多" nomoreText="无更多数据!!!" :status="status" @loadmore="loadingCustomer" fontSize="20" height="30px" />
            </view>
            <!-- 选择用户菜单项 -->
            <view class="selectCustomerCompSheet">
@@ -120,8 +138,7 @@
            <!-- 级别菜单项 -->
            <view class="selectLevelSheet">
              <u-action-sheet :show="selectLevelShow" :actions="levelList" title="请选择级别"
                              @close="selectLevelShow = false" @select="selectLevelSelect"></u-action-sheet>
                            <u-action-sheet :show="selectLevelShow" :actions="levelList" title="请选择级别" @close="selectLevelShow = false" @select="selectLevelSelect"></u-action-sheet>
            </view>
          </view>
        </scroll-view>
@@ -131,39 +148,30 @@
    <!-- 选择合同 -->
    <!-- @touchmove.stop.prevent="moveHandleContract" -->
    <view class="selectCustomerPopup">
      <u-popup :show="selectContractShow" @close="selectContractClose" @open="selectContractOpen" mode="bottom"
               round="22">
            <u-popup :show="selectContractShow" @close="selectContractClose" @open="selectContractOpen" mode="bottom" round="22">
        <scroll-view scroll-y="true" style="height:100%;">
          <combination-title class="selectCustomerTitle" title="选择合同"></combination-title>
          <view class="selectCustomerContainer">
            <view class="searchContainer">
              <u--form labelPosition="left" :model="searchContractForm" ref="selectformRef">
                <u-form-item labelWidth="18%" label="合同编号" borderBottom ref="compRef">
                                <u-form-item labelWidth="20%" label="合同编号" borderBottom ref="compRef">
                  <u--input v-model="searchContractForm.num" placeholder="请输入合同编号" border="none"></u--input>
                  <u-icon slot="right" name="close-circle-fill" v-show="searchContractForm.num != ''"
                          @click="searchContractForm.num = ''"></u-icon>
                                    <u-icon slot="right" name="close-circle-fill" v-show="searchContractForm.num != ''" @click="searchContractForm.num = ''"></u-icon>
                </u-form-item>
                <u-form-item labelWidth="18%" label="客户名称" borderBottom ref="compRef">
                                <u-form-item labelWidth="20%" label="客户名称" borderBottom ref="compRef">
                  <u--input v-model="searchContractForm.customerName" placeholder="请输入客户名称" border="none"></u--input>
                  <u-icon slot="right" name="close-circle-fill" v-show="searchContractForm.customerName != ''"
                          @click="searchContractForm.customerName = ''"></u-icon>
                                    <u-icon slot="right" name="close-circle-fill" v-show="searchContractForm.customerName != ''" @click="searchContractForm.customerName = ''"></u-icon>
                </u-form-item>
                <u-form-item labelWidth="18%" label="合同类型" borderBottom ref="compRef"
                             @click="searchContractFormTypeFocus">
                  <u--input v-model="searchContractForm.type" disabled disabledColor="#ffffff" placeholder="请输入合同类型"
                            border="none"></u--input>
                                <u-form-item labelWidth="20%" label="合同类型" borderBottom ref="compRef" @click="searchContractFormTypeFocus">
                                    <u--input v-model="searchContractForm.type" disabled disabledColor="#ffffff" placeholder="请输入合同类型" border="none"></u--input>
                  <!--                                    <u-icon slot="right" name="close-circle-fill" v-show="searchContractForm.type != ''" @click="searchContractForm.type = ''"></u-icon>-->
                </u-form-item>
                <u-form-item labelWidth="18%" label="签订日期" borderBottom ref="compRef"
                             @click="selectContractStartTimeShow = true">
                  <u--input v-model="searchContractForm.startDate" disabled disabledColor="#ffffff"
                            placeholder="点击选择签订日期" border="none"></u--input>
                                <u-form-item labelWidth="20%" label="签订日期" borderBottom ref="compRef" @click="selectContractStartTimeShow = true">
                                    <u--input v-model="searchContractForm.startDate" disabled disabledColor="#ffffff" placeholder="点击选择签订日期" border="none"></u--input>
                  <!--                                    <u-icon slot="right" name="close-circle-fill" v-show="searchContractForm.startDate != ''" @click="searchContractForm.startDate = ''"></u-icon>-->
                </u-form-item>
                <u-form-item labelWidth="18%" label="结束日期" borderBottom ref="compRef"
                             @click="selectContractEndTimeShow = true">
                  <u--input v-model="searchContractForm.endDate" disabled disabledColor="#ffffff" placeholder="点击选择结束日期"
                            border="none"></u--input>
                                <u-form-item labelWidth="20%" label="结束日期" borderBottom ref="compRef" @click="selectContractEndTimeShow = true">
                                    <u--input v-model="searchContractForm.endDate" disabled disabledColor="#ffffff" placeholder="点击选择结束日期" border="none"></u--input>
                  <!--                                    <u-icon slot="right" name="close-circle-fill" v-show="searchContractForm.endDate != ''" @click="searchContractForm.endDate = ''"></u-icon>-->
                </u-form-item>
              </u--form>
@@ -173,30 +181,31 @@
              <u-button text="清空" @click="selectContractResetFields"></u-button>
            </view>
            <!-- 合同列表 -->
                        <!-- 滚动通知 -->
                        <view class="tapStyle">
                          <u-notice-bar :text="noticeText" fontSize="24"></u-notice-bar>
                        </view>
            <view class="tableContract">
              <view class="tableBody">
                <uni-table border emptyText="暂无更多数据">
                  <uni-tr>
                    <uni-th width="100" align="center">组织结构</uni-th>
                                        <uni-th width="130" align="center">煤种名称</uni-th>
                    <uni-th width="250" align="center">客户名称</uni-th>
                    <uni-th width="180" align="center">煤种名称</uni-th>
                    <uni-th width="220" align="center">合同编号</uni-th>
                    <uni-th width="90" align="center">合同类型</uni-th>
                                        <uni-th width="230" align="center">合同编号</uni-th>
                                        <uni-th width="100" align="center">合同类型</uni-th>
                    <uni-th width="130" align="center">签订日期</uni-th>
                    <uni-th width="130" align="center">终止日期</uni-th>
                    <uni-th width="100" align="center">合同总量</uni-th>
                    <uni-th width="100" align="center">合同金额</uni-th>
                                        <uni-th width="120" align="center">合同金额</uni-th>
                    <uni-th width="70" align="center">状态</uni-th>
                                        <uni-th width="130" align="center">组织结构</uni-th>
                  </uni-tr>
                  <uni-tr v-for="(item, index) in contractData" :key="index">
                    <uni-td align="center">
                      <view :style="tdStyle">{{ item.compName }}</view>
                                            <view :style="tdStyle">{{ item.coalNames }}</view>
                    </uni-td>
                    <uni-td align="left">
                      <view class="contractTableTd">{{ item.customerName }}</view>
              </uni-td>
                    <uni-td align="center">
                      <view class="contractTableTd">{{ item.coalNames }}</view>
                    </uni-td>
                    <uni-td align="left">
                      <view :style="tdStyle">{{ item.num }}</view>
@@ -219,22 +228,20 @@
                    <uni-td align="center">
                      <view :style="tdStyle">{{ item.status }}</view>
                    </uni-td>
                                        <uni-td align="center">
                                            <view :style="tdStyle">{{ item.compName }}</view>
                                        </uni-td>
                  </uni-tr>
                </uni-table>
              </view>
              <view class="TableUtilBtn">
                <uni-table border emptyText="暂无更多数据">
                  <uni-tr>
                    <uni-th align="center">操作</uni-th>
                  </uni-tr>
                                    <uni-tr><uni-th align="center">操作</uni-th></uni-tr>
                  <uni-tr v-for="(item, index) in contractData" :key="index">
                    <uni-td align="center">
                      <!-- 选择合同 -->
                      <view class="TableUtilBtnContainer">
                        <u-button type="primary" @click="selectContractClick(item)" icon="checkbox-mark"
                                  size="mini"></u-button>
                      </view>
                                            <view class="TableUtilBtnContainer"><u-button type="primary" @click="selectContractClick(item)" icon="checkbox-mark" size="mini"></u-button></view>
                    </uni-td>
                  </uni-tr>
                </uni-table>
@@ -242,8 +249,7 @@
            </view>
            <!-- 合同加载更多 -->
            <view class="loadmoreClass">
              <u-loadmore loadmoreText="点击加载更多" nomoreText="无更多数据!!!" :status="statusContractLoading" @loadmore="loadingContract"
                          fontSize="20" height="30px"/>
                            <u-loadmore loadmoreText="点击加载更多" nomoreText="无更多数据!!!" :status="statusContractLoading" @loadmore="loadingContract" fontSize="20" height="30px" />
            </view>
            <!-- 合同类型选择器 -->
            <view class="selectContractTypePicker">
@@ -266,8 +272,7 @@
              ></u-calendar>
            </view>
            <view class="selectContractEndTime">
              <u-calendar :show="selectContractEndTimeShow" @close="selectContractEndTimeClose"
                          :mode="selectContractTimeMode" @confirm="selectContractEndTimeConfirm"></u-calendar>
                            <u-calendar :show="selectContractEndTimeShow" @close="selectContractEndTimeClose" :mode="selectContractTimeMode" @confirm="selectContractEndTimeConfirm"></u-calendar>
            </view>
          </view>
        </scroll-view>
@@ -284,8 +289,7 @@
            <u--form labelPosition="left" :model="addContractFormdata" :rules="addContractRules" ref="form1">
              <view class="formUpCard">
                <u-form-item label="矿厂" labelWidth="20%" ref="item1">
                  <u--input v-model="addContractFormdata.filedName" disabled disabledColor="#ffffff"
                            border="none"></u--input>
                                    <u--input v-model="addContractFormdata.filedName" disabled disabledColor="#ffffff" border="none"></u--input>
                </u-form-item>
                <u-form-item @click="coalFiledSelectShow = true" label="煤厂" labelWidth="20%" ref="item1">
                  <u--input v-model="addContractFormdata.compName" disabled disabledColor="#ffffff"></u--input>
@@ -304,24 +308,19 @@
                      <view class="currentPriceBox">
                        <u--form :model="currentCoal" labelPosition="left">
                          <u-form-item label="煤种" labelWidth="35%">
                            <u--input v-model="currentCoal.coalName" disabled disabledColor="#ffffff"
                                      border="none"></u--input>
                                                        <u--input v-model="currentCoal.coalName" disabled disabledColor="#ffffff" border="none"></u--input>
                          </u-form-item>
                          <u-form-item :label="currentCoal.type == 1 ? '钢厂长协' : '基准价'" labelWidth="35%">
                            <u--input v-model="currentCoal.steelMillPrice" disabled disabledColor="#ffffff"
                                      border="none"></u--input>
                                                        <u--input v-model="currentCoal.steelMillPrice" disabled disabledColor="#ffffff" border="none"></u--input>
                          </u-form-item>
                          <u-form-item :label="currentCoal.type == 1 ? '焦化长协' : '电厂基准'" labelWidth="35%">
                            <u--input v-model="currentCoal.cokingPrice" disabled disabledColor="#ffffff"
                                      border="none"></u--input>
                                                        <u--input v-model="currentCoal.cokingPrice" disabled disabledColor="#ffffff" border="none"></u--input>
                          </u-form-item>
                          <u-form-item :label="currentCoal.type == 1 ? '非长协' : '区域外电厂价'" labelWidth="35%">
                            <u--input v-model="currentCoal.noImportantPrice" disabled disabledColor="#ffffff"
                                      border="none"></u--input>
                                                        <u--input v-model="currentCoal.noImportantPrice" disabled disabledColor="#ffffff" border="none"></u--input>
                          </u-form-item>
                          <u-form-item label="挂牌价" labelWidth="35%">
                            <u--input v-model="currentCoal.quotePrice" disabled disabledColor="#ffffff"
                                      border="none"></u--input>
                                                        <u--input v-model="currentCoal.quotePrice" disabled disabledColor="#ffffff" border="none"></u--input>
                          </u-form-item>
                        </u--form>
                      </view>
@@ -331,42 +330,32 @@
                      <view class="selectPricebox">
                        <u--form labelPosition="left">
                          <u-form-item label="煤种" labelWidth="35%">
                            <u--input v-model="currentCoal.coalName" disabled disabledColor="#ffffff"
                                      border="none"></u--input>
                                                        <u--input v-model="currentCoal.coalName" disabled disabledColor="#ffffff" border="none"></u--input>
                          </u-form-item>
                          <u-radio-group v-model="addContractFormdata.priceMode" placement="column"
                                         @change="groupChange">
                                                    <u-radio-group v-model="addContractFormdata.priceMode" placement="column" @change="groupChange">
                            <view class="selectPriceboxItem">
                              <u-form-item :label="currentCoal.type == 1 ? '钢厂长协' : '基准价'" labelWidth="35%">
                                <u--input v-model="afterPrice.steelMillPrice" disabled disabledColor="#ffffff"
                                          border="none"></u--input>
                                                                <u--input v-model="afterPrice.steelMillPrice" disabled disabledColor="#ffffff" border="none"></u--input>
                              </u-form-item>
                              <u-radio shape="square" size="30" :customStyle="{ marginBottom: '8px' }" name="0"
                                       @change="changePriceMode"></u-radio>
                                                            <u-radio shape="square" size="30" :customStyle="{ marginBottom: '8px' }" name="0" @change="changePriceMode"></u-radio>
                            </view>
                            <view class="selectPriceboxItem">
                              <u-form-item :label="currentCoal.type == 1 ? '焦化长协' : '电厂基准'" labelWidth="35%">
                                <u--input v-model="afterPrice.cokingPrice" disabled disabledColor="#ffffff"
                                          border="none"></u--input>
                                                                <u--input v-model="afterPrice.cokingPrice" disabled disabledColor="#ffffff" border="none"></u--input>
                              </u-form-item>
                              <u-radio shape="square" size="30" :customStyle="{ marginBottom: '8px' }" name="1"
                                       @change="changePriceMode"></u-radio>
                                                            <u-radio shape="square" size="30" :customStyle="{ marginBottom: '8px' }" name="1" @change="changePriceMode"></u-radio>
                            </view>
                            <view class="selectPriceboxItem">
                              <u-form-item :label="currentCoal.type == 1 ? '非长协' : '区域外电厂价'" labelWidth="35%">
                                <u--input v-model="afterPrice.noImportantPrice" disabled disabledColor="#ffffff"
                                          border="none"></u--input>
                                                                <u--input v-model="afterPrice.noImportantPrice" disabled disabledColor="#ffffff" border="none"></u--input>
                              </u-form-item>
                              <u-radio shape="square" size="30" :customStyle="{ marginBottom: '8px' }" name="2"
                                       @change="changePriceMode"></u-radio>
                                                            <u-radio shape="square" size="30" :customStyle="{ marginBottom: '8px' }" name="2" @change="changePriceMode"></u-radio>
                            </view>
                            <view class="selectPriceboxItem">
                              <u-form-item label="挂牌价" labelWidth="35%">
                                <u--input v-model="afterPrice.quotePrice" disabled disabledColor="#ffffff"
                                          border="none"></u--input>
                                                                <u--input v-model="afterPrice.quotePrice" disabled disabledColor="#ffffff" border="none"></u--input>
                              </u-form-item>
                              <u-radio shape="square" size="30" :customStyle="{ marginBottom: '8px' }" name="3"
                                       @change="changePriceMode"></u-radio>
                                                            <u-radio shape="square" size="30" :customStyle="{ marginBottom: '8px' }" name="3" @change="changePriceMode"></u-radio>
                            </view>
                          </u-radio-group>
                        </u--form>
@@ -375,8 +364,7 @@
                    <view class="selectFavouredPolicy">
                      <u-divider text="选择优惠政策"></u-divider>
                      <view class="selectFavouredPolicyBox">
                        <uni-table ref="priceTableRef" :loading="loading" border stripe type="selection"
                                   emptyText="暂无更多数据" @selection-change="selectionChange">
                                                <uni-table ref="priceTableRef" :loading="loading" border stripe type="selection" emptyText="暂无更多数据" @selection-change="selectionChange">
                          <uni-tr>
                            <uni-th width="150" align="center">优惠方式</uni-th>
                            <uni-th width="60" align="center">符号</uni-th>
@@ -400,16 +388,13 @@
              </view>
              <view class="formDownCard">
                <u-form-item label="单价" labelWidth="20%" ref="item1">
                  <u--input v-model="addContractFormdata.price" disabled disabledColor="#ffffff"
                            border="none"></u--input>
                                    <u--input v-model="addContractFormdata.price" disabled disabledColor="#ffffff" border="none"></u--input>
                </u-form-item>
                <u-form-item label="订单金额" labelWidth="20%" ref="item1">
                  <u--input :disabled="addContractFormdata.trainType == 2" v-show="currentRowComputed"
                            v-model="addContractFormdata.amount"></u--input>
                                    <u--input :disabled="addContractFormdata.trainType == 2" v-show="currentRowComputed" v-model="addContractFormdata.amount"></u--input>
                </u-form-item>
                <u-form-item label="订单数量" labelWidth="20%" ref="item1">
                  <u--input :disabled="addContractFormdata.trainType == 1" @input="jisuanAmount"
                            v-model="addContractFormdata.quant"></u--input>
                                    <u--input :disabled="addContractFormdata.trainType == 1" @input="jisuanAmount" v-model="addContractFormdata.quant"></u--input>
                </u-form-item>
              </view>
@@ -419,16 +404,12 @@
              <u-form-item label="抑尘费" labelWidth="18%" borderBottom ref="item1"><u--input v-model="addContractFormdata.cost2" border="none"></u--input></u-form-item> -->
            </u--form>
            <view class="addContractConfirm">
              <u-button :text="editApplicationIndex != null ? '添加修改':'添加'" type="primary"
                        @click="addContractSanConfirm"></u-button>
            </view>
                        <view class="addContractConfirm"><u-button :text="editApplicationIndex != null ? '添加修改' : '添加'" type="primary" @click="addContractSanConfirm"></u-button></view>
          </view>
          <!-- 选择煤厂 -->
          <view class="coalFiledSelectPopup">
            <u-popup :show="coalFiledSelectShow" @close="coalFiledSelectClose" @open="coalFiledSelectOpen" mode="bottom"
                     round="22">
                        <u-popup :show="coalFiledSelectShow" @close="coalFiledSelectClose" @open="coalFiledSelectOpen" mode="bottom" round="22">
              <scroll-view scroll-y="true" style="height:100%;">
                <combination-title class="selectCustomerTitle" title="选择煤厂"></combination-title>
                <view class="coalFiledSelectSearch"></view>
@@ -460,16 +441,11 @@
                  <view class="TableUtilBtn">
                    <uni-table border emptyText="暂无更多数据">
                      <uni-tr>
                        <uni-th align="center">操作</uni-th>
                      </uni-tr>
                                            <uni-tr><uni-th align="center">操作</uni-th></uni-tr>
                      <uni-tr v-for="(item, index) in coalfiledData" :key="index">
                        <uni-td align="center">
                          <!-- 选择合同 -->
                          <view class="TableUtilBtnContainer">
                            <u-button type="primary" @click="coalFiledSelectClick(item)" icon="checkbox-mark"
                                      size="mini"></u-button>
                          </view>
                                                    <view class="TableUtilBtnContainer"><u-button type="primary" @click="coalFiledSelectClick(item)" icon="checkbox-mark" size="mini"></u-button></view>
                        </uni-td>
                      </uni-tr>
                    </uni-table>
@@ -481,30 +457,23 @@
          <!-- 选择收货人 -->
          <view class="selectCustomerPopup">
            <u-popup :show="addContractConsigneeShow" @close="addContractConsigneeClose"
                     @open="addContractConsigneeOpen" mode="bottom" round="22">
                        <u-popup :show="addContractConsigneeShow" @close="addContractConsigneeClose" @open="addContractConsigneeOpen" mode="bottom" round="22">
              <scroll-view scroll-y="true" style="height:100%;">
                <combination-title class="selectCustomerTitle" title="选择收货人"></combination-title>
                <view class="selectCustomerContainer">
                  <view class="searchContainer">
                    <u--form labelPosition="left" :model="searchCustomerForm" ref="selectformRef">
                      <u-form-item labelWidth="12%" label="单位" borderBottom ref="compRef">
                        <u--input @focus="selectCustomerCompShow = true" v-model="searchCustomerForm.compName"
                                  placeholder="点击选择单位" border="none"></u--input>
                        <u-icon slot="right" name="close-circle-fill" v-if="searchCustomerForm.compName != ''"
                                @click="searchCustomerForm.compName = ''"></u-icon>
                                                <u--input @focus="selectCustomerCompShow = true" v-model="searchCustomerForm.compName" placeholder="点击选择单位" border="none"></u--input>
                                                <u-icon slot="right" name="close-circle-fill" v-if="searchCustomerForm.compName != ''" @click="searchCustomerForm.compName = ''"></u-icon>
                      </u-form-item>
                      <u-form-item labelWidth="20%" label="客户名称" borderBottom ref="timeDataRef">
                        <u--input v-model="selectCustomerData.customerFullName" border="none"
                                  placeholder="输入客户名称"></u--input>
                        <u-icon slot="right" name="close-circle-fill" v-if="selectCustomerData.customerFullName != ''"
                                @click="selectCustomerData.customerName = ''"></u-icon>
                                                <u--input v-model="selectCustomerData.customerFullName" border="none" placeholder="输入客户名称"></u--input>
                                                <u-icon slot="right" name="close-circle-fill" v-if="selectCustomerData.customerFullName != ''" @click="selectCustomerData.customerName = ''"></u-icon>
                      </u-form-item>
                      <u-form-item labelWidth="20%" label="客户级别" borderBottom>
                        <u--input @focus="selectLevelShow = true" border="none" v-model="searchCustomerForm.levelText"
                                  placeholder="点击选择级别"></u--input>
                        <u-icon slot="right" name="close-circle-fill" v-if="searchCustomerForm.levelText != ''"
                                @click="searchCustomerForm.levelText = ''"></u-icon>
                                                <u--input @focus="selectLevelShow = true" border="none" v-model="searchCustomerForm.levelText" placeholder="点击选择级别"></u--input>
                                                <u-icon slot="right" name="close-circle-fill" v-if="searchCustomerForm.levelText != ''" @click="searchCustomerForm.levelText = ''"></u-icon>
                      </u-form-item>
                    </u--form>
                  </view>
@@ -538,8 +507,7 @@
                    </u-cell-group>
                  </view>
                  <view class="loadmoreClass">
                    <u-loadmore loadmoreText="点击加载更多" nomoreText="无更多数据!!!" :status="status" @loadmore="loadingCustomer"
                                fontSize="20" height="30px"/>
                                        <u-loadmore loadmoreText="点击加载更多" nomoreText="无更多数据!!!" :status="status" @loadmore="loadingCustomer" fontSize="20" height="30px" />
                  </view>
                  <!-- 选择用户菜单项 -->
                  <view class="selectCustomerCompSheet">
@@ -553,8 +521,7 @@
                  </view>
                  <!-- 级别菜单项 -->
                  <view class="selectLevelSheet">
                    <u-action-sheet :show="selectLevelShow" :actions="levelList" title="请选择级别"
                                    @close="selectLevelShow = false" @select="selectLevelSelect"></u-action-sheet>
                                        <u-action-sheet :show="selectLevelShow" :actions="levelList" title="请选择级别" @close="selectLevelShow = false" @select="selectLevelSelect"></u-action-sheet>
                  </view>
                </view>
              </scroll-view>
@@ -611,23 +578,19 @@
          </uni-td>
        </uni-tr>
      </uni-table> -->
      <view class="balanceNo" v-if="accountDetails.balanceTotal < 0">
        <text style="color:red;">客户账户当前处于欠款状态</text>
      </view>
            <view class="balanceNo" v-if="accountDetails.balanceTotal < 0"><text style="color:red;">客户账户当前处于欠款状态</text></view>
      <view class="messageCustomerBalance" v-if="accountDetails.balanceTotal >= 0">
        <text style="color: #FFA500;">客户账户现汇余额:{{
            accountDetails.balance == null || undefined ? 0 : accountDetails.balance.toFixed(2)
          }},承兑余额:{{ accountDetails.balance2 == null || undefined ? 0 : accountDetails.balance2 }}
                <text style="color: #FFA500;">
                    客户账户现汇余额:{{ accountDetails.balance == null || undefined ? 0 : accountDetails.balance.toFixed(2) }},承兑余额:{{
                        accountDetails.balance2 == null || undefined ? 0 : accountDetails.balance2
                    }}
        </text>
      </view>
      <u-swipe-action>
        <u-swipe-action-item @click="deleteContractCardClick" :options="options1"
                             v-for="(item, index) in newFormData.contractOrders" :key="index">
                <u-swipe-action-item @click="deleteContractCardClick" :options="options1" v-for="(item, index) in newFormData.contractOrders" :key="index">
          <view class="cardList">
            <view class="cardListIcon" @click="editApplicationClick(index)">
              <u-icon name="edit-pen" color="#2979ff" size="35"></u-icon>
            </view>
                        <view class="cardListIcon" @click="editApplicationClick(index)"><u-icon name="edit-pen" color="#2979ff" size="35"></u-icon></view>
            <view class="cardList-container">
              <view class="cardList_item">
                收货人:
@@ -673,9 +636,7 @@
      </u-swipe-action>
      <view class="addCard" @click="addContractClick">
        <view class="addCard-icon">
          <u-icon name="plus" size="100"></u-icon>
        </view>
                <view class="addCard-icon"><u-icon name="plus" size="100"></u-icon></view>
      </view>
    </view>
@@ -692,6 +653,7 @@
<script>
import combinationTitle from '@/components/common/combined-title/combined-title.vue';
import popupMenu from '@/components/common/popup-menu/popup-menu.vue';
import { callWithErrorHandling } from 'vue';
// 最大显示的日期
const d = new Date();
@@ -702,6 +664,11 @@
export default {
  data() {
    return {
            noticeText:'左右滑动表格可查看更多详情',
            // 账套选择器
            selectLedgerShow: false,
            ledgerList: [],
            ledgerName: '',
      // accountMsgType: 'error',
      tdStyle: 'max-height: 30px;overflow: auto;',
      spanStyle: 'overflow:auto',
@@ -725,7 +692,9 @@
        quant: null,
        remark: '',
        startDate: '',
        type: ''
                type: '',
                ledgerId: null
                // ledgerName:''
      },
      accountDetails: {},
      // 时间
@@ -770,7 +739,6 @@
      // 时间
      timeShow: false,
      mode: 'range',
      maxDate: `${year}-${month}-${date + 70}`,
      // 选择客户
      selectCustomerData: {
        compIds: '',
@@ -795,10 +763,16 @@
      selectCustomerActions: [],
      // 级别
      selectLevelShow: false,
      levelList: [{name: '一星级', value: 'A'}, {name: '二星级', value: 'B'}, {name: '三星级', value: 'C'}, {
            levelList: [
                { name: '一星级', value: 'A' },
                { name: '二星级', value: 'B' },
                { name: '三星级', value: 'C' },
                {
        name: '四星级',
        value: 'D'
      }, {name: '五星级', value: 'E'}],
                },
                { name: '五星级', value: 'E' }
            ],
      // 选择合同
      selectContractShow: false,
      searchContractForm: {
@@ -826,31 +800,7 @@
      addContractShow: false,
      // 添加合同表单
      addContractRules: {},
      addContractFormdata: {
        // amount: null,
        // coalId: null,
        // coalName: '',
        // compId: null,
        // compName: '',
        // cost1: '',
        // cost2: '',
        // customerId: null,
        // customerName: '',
        // edit: true,
        // favouredpolicyIds: '',
        // filedId: null,
        // filedName: '',
        // fromStation: '',
        // modifyId: null,
        // modifyInfoId: null,
        // customerAddressId: null,
        // price: null,
        // priceMode: '0',
        // quant: '',
        // toStation: '',
        // trainType: 1,
        // type: ''
      },
            addContractFormdata: {},
      contractDetails: [], // 选择的合同详情
      // 选择煤厂
      coalFiledSelectShow: false,
@@ -873,27 +823,7 @@
      // 品种价格表格
      loading: false,
      // 价格请求参数
      getNewPriceData: {
        // compId: 133,
        // compName: '邢台矿',
        // customerAddressName: '邢台国泰发电有限责任公司',
        // customerAddressId: 236,
        // coalId: 45,
        // coalName: '',
        // trainType: 1,
        // fromStation: '小康庄',
        // toStation: '小康庄',
        // quant: '',
        // price: '',
        // amount: '',
        // priceMode: null,
        // filedName: '邢台矿主煤场',
        // filedId: 4,
        // type: '',
        // cost1: '',
        // cost2: '',
        // edit: true
      },
            getNewPriceData: {},
      dust: null, // 抑尘费
      trainfreight: {}, //路运运费
      // 运输类型
@@ -948,7 +878,6 @@
          this.addContractFormdata.favouredpolicyIds = favouredpolicyIds;
        }
      }
      return temp;
    },
    showPrice() {
@@ -975,20 +904,15 @@
        //运距
        if (this.addContractFormdata.trainType == 2) {
          if (e.type.indexOf('A') != -1) {
            //根据发站到站获取运距
            list.push(e);
                        list.push(e); //根据发站到站获取运距
          }
        }
      });
      this.favouredpolicyList = list;
      return true;
    },
    async currentRowComputed() {
      console.log('currentRowComputed');
      //变价格用的
      this.changePriceMode(this.addContractFormdata.priceMode);
            this.changePriceMode(this.addContractFormdata.priceMode); //变价格用的
      //变订单量
      if (this.addContractFormdata.price > 0 && (this.addContractFormdata.amount > 0 || this.addContractFormdata.quant > 0)) {
        let price = this.addContractFormdata.price;
@@ -998,7 +922,7 @@
          this.addContractFormdata.cost1 = null; //运费
          this.addContractFormdata.cost2 = null; //抑尘费
        } else if (this.addContractFormdata.trainType == 2) {
          //如果路运价格增加抑尘费和运费
                    //如果路运价格增加,抑尘费和运费
          let cost1Price = await this.getFreight(this.addContractFormdata.fromStation, this.addContractFormdata.toStation, this.addContractFormdata.customerAddressId); //路运运费
          price += cost1Price;
          price += this.dust;
@@ -1015,31 +939,6 @@
      }
      return true;
    }
    // accountMsg() {
    //     this.accountMsgType = 'error';
    //     if (this.accountDetails) {
    //         if (this.accountDetails.balanceType == '贷') {
    //             return '客户账户余额当前处于欠款状态!';
    //         } else {
    //             let amount = 0;
    //             this.newFormData.contractOrders.forEach(e => {
    //                 amount += Number(e.amount);
    //             });
    //             if (this.newFormData.payType == '0') {
    //                 if (this.accountDetails.balance < amount) {
    //                     return '客户账户现汇余额不足,现汇余额:' + this.accountDetails.balance;
    //                 }
    //             } else {
    //                 if (this.accountDetails.balance2 < amount) {
    //                     return '客户账户承兑余额不足,承兑余额:' + this.accountDetails.balance2;
    //                 }
    //             }
    //         }
    //         this.accountMsgType = 'warning';
    //         return '客户账户现汇余额:' + this.accountDetails.balance + ',承兑余额:' + (this.accountDetails.balance2 ? this.accountDetails.balance2 : 0);
    //     }
    //     return null;
    // }
  },
  watch: {
    // 立即处理 进入页面就触发 // immediate: true,
@@ -1076,6 +975,7 @@
      }
    },
    init() {
            this.getLedgerList();
      this.jcfavouredpolicyitem();
      this.coalfiled();
      this.coalprice();
@@ -1091,6 +991,44 @@
        });
      });
    },
        /**
         * 获取分类账套
         */
        getLedgerList() {
            this.$reqGet('zhaccountledger', { compId: uni.getStorageSync('userInfo').compId }).then(res => {
                this.ledgerList.push(res.data.records);
                console.log('账套列表', this.ledgerList);
                if (res.data.records) {
                    this.newFormData.ledgerId = res.data.records[0].id;
                    // this.newFormData.ledgerName = res.data.records[0].name;
                    this.ledgerName = res.data.records[0].name;
                }
            });
        },
        selectLedger() {
            this.selectLedgerShow = true;
        },
        selectLedgerChange(index) {
            console.log('账套选择器', index);
            this.ledgerName = index.value[0].name;
            this.newFormData.ledgerId = index.value[0].id;
            // this.newFormData.ledgerName = index.value[0].name;
            if (this.newFormData.customerName || this.newFormData.contractNum || this.newFormData.contractName) {
                this.newFormData.customerName = '';
                this.newFormData.contractNum = '';
                this.newFormData.contractName = '';
            }
        },
        selectLedgerConfirm(index) {
            console.log('选择账套点击确定', index);
            this.selectLedgerShow = false;
        },
        selectLedgerCancel() {
            this.selectLedgerShow = false;
        },
        selectLedgerClose() {
            this.selectLedgerShow = false;
        },
    // 选择客户
    selectCustomer() {
      this.selectLevelShow = false;
@@ -1101,7 +1039,6 @@
      this.selectCustomerShow = true;
      this.selectCustomerData.current = 1;
      this.$reqGet('customer', this.selectCustomerData).then(res => {
        console.log('客户呵呵哈哈哈或', res);
        uni.hideLoading();
        if (res.code == 0) {
          this.customerData = res.data.records;
@@ -1111,7 +1048,6 @@
    },
    // 客户选择弹框打开了
    selectCustomerOpen() {
      // this.spanStyle = 'overflow:hidden'; //当蒙层弹起时,固定界面禁止滚动,当蒙层关闭时,允许滚动
    },
    selectCustomerClose() {
@@ -1168,12 +1104,13 @@
      console.log('外层客户选择', v);
      this.newFormData.customerName = v.customerName;
      this.newFormData.customerId = v.id;
      this.$reqGet('getAccount', {customerId: v.id}).then(res => {
            this.$reqGet('getAccount', { customerId: v.id, ledgerId: this.newFormData.ledgerId }).then(res => {
        console.log('客户选择账户', res);
        this.accountDetails = res.data;
        this.searchContractForm.customerName = res.data.customerName;
        this.reqContract();
        this.$nextTick(() => {
                    console.log('zhezhezhe');
          this.contractData.forEach(item => {
            this.contractNumList.push(item.num);
          });
@@ -1211,9 +1148,10 @@
    // 时间
    confirmTime(v) {
      this.timeShow = false;
            console.log('时间', v);
      v.forEach(e => {
        this.newFormData.startDate = v[0];
        this.newFormData.endDate = v[v.lenght - 1];
                this.newFormData.endDate = v[v.length - 1];
        this.timeDataStr = v[0] + ' 至 ' + v[v.length - 1];
      });
    },
@@ -1224,12 +1162,11 @@
        if (this.newFormData.contractOrders != []) {
          uni.showToast({
            title: '添加订单后,不能修改合同!',
            icon: 'error',
                        icon: 'none',
            duration: 2000
          });
        }
        this.selectContractShow = true;
      } else {
        this.$refs.formRef
            .validate()
@@ -1245,10 +1182,6 @@
    searchContractFormTypeFocus() {
      // 类型弹出框
      this.selectContractTypeShow = true;
      // 弹出框类型请求
      // this.$nextTick(() => {
      // });
    },
    // 选择合同弹框
    selectContractOpen() {
@@ -1350,10 +1283,11 @@
      // 选定合同详情
      uni.showLoading({
        title: '加载中...'
      })
      this.$reqGet('getByContractId', {}, e.id).then(res => {
            });
            this.$reqGet('getByContractId', {}, e.id)
                .then(res => {
        uni.hideLoading();
        this.contractDetails = res.data
                    this.contractDetails = res.data;
        this.contractDetails.forEach(item => {
          let a = [{label: '', id: ''}];
          a[0].label = item.coalName;
@@ -1363,12 +1297,12 @@
          }
          this.addContractCoalData.push(a);
        });
      }).catch(err => {
        console.log(err);
      })
                .catch(err => {
                    console.log(err);
                });
      // 添加煤种选项
    },
    // 添加合同按钮
    addContractClick() {
@@ -1379,7 +1313,7 @@
            if (this.accountDetails.balanceType == '贷') {
              uni.showToast({
                title: '客户账户余额当前处于欠款状态!',
                icon: 'error',
                            icon: 'none',
                duration: 2000
              });
            } else {
@@ -1459,7 +1393,6 @@
      this.getNewPriceData.filedId = e.id;
      this.getNewPriceData.filedName = e.name;
      this.coalFiledSelectShow = false;
    },
    // 收货人
@@ -1467,26 +1400,14 @@
      this.addContractConsigneeShow = false;
    },
    // 添加合同子项收货人打开
    addContractConsigneeOpen() {
    },
        addContractConsigneeOpen() {},
    addContractConsignee() {
      this.addContractConsigneeShow = true;
    },
    addContractConsigneeConfirm(v) {
      console.log('收货人', v);
      this.addContractFormdata.toStation = v.toStation;
      this.addContractFormdata.customerName = v.customerName;
      this.addContractFormdata.customerId = v.id;
      this.$reqGet('getAccount', {customerId: v.id}).then(res => {
        console.log('获取收货人账号', res);
        // this.accountDetails = res.data;
        // this.newFormData.customerName = res.data.customerName;
        // this.newFormData.customerId = res.data.id;
        // this.searchContractForm.customerName = res.data.customerName;
      });
      this.$nextTick(() => {
        this.addContractConsigneeShow = false;
      });
      // 赋值给取价格请求参数
      this.getNewPriceData.customerAddressName = v.customerFullName;
@@ -1495,8 +1416,7 @@
      this.addContractFormdata.toStation = v.toStation;
      this.addContractFormdata.customerAddressId = v.id;
            this.addContractConsigneeShow = false;
    },
    // 品种选择器
    addContractCoalConfirm(e) {
@@ -1607,12 +1527,12 @@
        if (this.editApplicationIndex != null) {
          this.newFormData.contractOrders[this.editApplicationIndex] = this.addContractFormdata;
        } else {
                    this.addContractFormdata.type = this.newFormData.type
                    this.addContractFormdata.type = this.newFormData.type;
          this.newFormData.contractOrders.push(this.addContractFormdata);
          console.log('添加子订单', this.addContractFormdata);
        }
        this.addContractShow = false;// 关闭弹出框
        console.log('this.newFormData.contractOrders当前关闭后', this.newFormData.contractOrders)
                console.log('this.newFormData.contractOrders当前关闭后', this.newFormData.contractOrders);
      } else {
        uni.$u.toast('请规范输入所有信息');
      }
@@ -1705,7 +1625,7 @@
                let msg = this.accountDetails.balance == null ? 0 : this.accountDetails.balance;
                uni.showToast({
                  title: '客户账户现汇余额不足,现汇余额:' + msg,
                  icon: 'error',
                                icon: 'none',
                  duration: 2000
                });
              } else {
@@ -1720,7 +1640,7 @@
                let msg = this.accountDetails.balance2 == null ? 0 : this.accountDetails.balance2;
                uni.showToast({
                  title: '客户账户承兑余额不足,承兑余额:' + msg,
                  icon: 'error',
                                icon: 'none',
                  duration: 2000
                });
              } else {
@@ -1752,19 +1672,13 @@
        uni.hideLoading();
        console.log('新建发运申请', res);
        if (res.code == 0) {
          // uni.showToast({
          //     title: '添加成功!',
          //     icon: 'success',
          //     duration: 1000
          // });
          this.$u.toast('添加成功,即将返回申请页!!!')
                    this.$u.toast('添加成功,即将返回申请页!!!');
          setTimeout(() => {
            uni.navigateBack({
              // url: '/pages/my-application/my-application'
              delta: 2
            });
          }, 2000)
                    }, 1500);
        }
      });
    },
@@ -1856,9 +1770,13 @@
              margin-top: vww(16);
            }
                        // 滚动通知
                        .tapStyle{
                            margin-top: vww(30);
                        }
            // 合同表格
            .tableContract {
              margin-top: vww(30);
              display: flex;
              justify-content: center;
pages/new-application/new-application.vue
@@ -23,7 +23,7 @@
                    </view>
                    <view class="card-left_bottom">
                        <text>版本:v{{ item.version }}</text>
                        <text>所属分类:{{ item.categoryTitle }}</text>
                        <text>所属分类:{{ item.categoryTitle|| '' }}</text>
                    </view>
                </view>
                <view class="card-right">
@@ -93,7 +93,7 @@
                uni.hideLoading();
                if (res.code === 0) {
                    res.data.records.forEach(item => {
                        if (item.id == 'WAY_BILL:4:87504') {
                        if (item.name == '发运通知单'||item.description == '发运通知单') {
                            this.newApplicationData.push(item);
                        }
                    });
pages/register/register.vue
@@ -51,9 +51,9 @@
                    setTokenType(token_type);
                    setRefreshToken(refresh_token);
                    setScope(scope);
                    // this.$store.dispatch('menus');
                    // redirectHome();
                    this.$store.dispatch('menus');
                    uni.hideLoading();
                    // redirectHome();
                    this.bindWx(); // 登录成功后获取code码,返给后端
                } catch (e) {
                    // error
static/cursor.gif
utils/api.js
@@ -67,8 +67,18 @@
        method:'GET'
    },
    /**
     * @Ledger 分类账套
     */
    zhaccountledger: {
        url: '/yunxiao/zhaccountledger/page',
        method: 'GET'
    },
    // 选择客户
    /**
     * @选择客户
     */
    // 搜索
    customer:{
        url:'/yunxiao/customer/page',
@@ -125,8 +135,13 @@
    // 撤回
    withDraw:{
        url:'/oa/actBusiness/cancel',
    // withDraw: {
    //     url: '/oa/actBusiness/cancel',
    //     method: 'POST'
    // },
    // 修改过的撤回
    cancel:{
        url:'/oa/actRemote/cancel',
        method:'POST'
    },
    // 获取操作人
utils/jihua.js
@@ -13,6 +13,12 @@
        url: '/yunxiao/xscarshippingdayplan/page',
        method: 'GET'
    },
    // xscarshippingdayplan: {
    //     url: '/yunxiao/contractorder/page',
    //     method: 'GET'
    // },
    // /yunxiao/xscarshippingdayplan
    addObj: {
        url: '/yunxiao/xscarshippingdayplan',
utils/request.js
@@ -84,6 +84,8 @@
// let BaseUrl = 'http://192.168.3.159:9999';
// const BaseUrl = 'https://mx.jzeg.cn:443/app';
// let BaseUrl = 'http://192.168.0.114:9999';
const BaseUrl = "https://mx.jzeg.cn:9998";  // 正式服务
// 请求拦截
@@ -100,7 +102,7 @@
            "TENANT-ID": 5,
            Authorization: 'Bearer ' + uni.getStorageSync('access_token'),
            VERSION: "zzl",
            Accept:'application/json, text/plain, */*' // 客户端所能接受的数据类型
            // Accept: 'application/json, text/plain, */*' // 客户端所能接受的数据类型
        }
    }
utils/tool.js
New file
@@ -0,0 +1,36 @@
/*函数节流
 函数节流是减少函数的触发频率
*/
function throttle(fn, interval) {
  var enterTime = 0;//触发的时间
  var gapTime = interval || 1000 ;//间隔时间,如果interval不传,则默认300ms
  return function() {
    var context = this;
    var backTime = new Date();//第一次函数return即触发的时间
    if (backTime - enterTime > gapTime) {
      fn.call(context,arguments);
      enterTime = backTime;//赋值给第一次触发的时间,这样就保存了第二次触发的时间
    }
  };
}
/*函数防抖
函数防抖则是延迟函数执行,并且不管触发多少次都只执行最后一次
*/
function debounce(fn, interval) {
  var timer;
  var gapTime = interval || 1000;//间隔时间,如果interval不传,则默认1000ms
  return function() {
    clearTimeout(timer);
    var context = this;
    var args = arguments;//保存此处的arguments,因为setTimeout是全局的,arguments不是防抖函数需要的。
    timer = setTimeout(function() {
      fn.call(context,args);
    }, gapTime);
  };
}
export default {
  throttle,
  debounce
};