v1
付延余
2022-07-19 2909406f4e67616aa8f618013534d43aae566f0c
v1
8个文件已修改
1个文件已添加
1568 ■■■■ 已修改文件
components/common/popup-menu/popup-menu.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/home.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/my-application/my-application.vue 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/new-application-form-data/new-application-form-data.vue 1394 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/new-application/new-application.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/menuIcon/menu-shipment.png 补丁 | 查看 | 原始文档 | blame | 历史
utils/api.js 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
utils/index.js 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
utils/request.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
components/common/popup-menu/popup-menu.vue
@@ -37,7 +37,7 @@
                    isLink
                    url="/pages/jihua/jihua" style="color:blue"
                >
                    <image src="@/static/menuIcon/menu-home.png" slot="icon" size="32" name="search"/>
                    <image src="@/static/menuIcon/menu-shipment.png" slot="icon" size="32" name="search"/>
                </u-cell>
            </u-cell-group>
            <u-button text="退出" type="primary" @click="menuPopupClick"></u-button>
pages/home/home.vue
@@ -264,9 +264,9 @@
        return {
            // menuShow:false,// 菜单显示
            status: ['草稿', '处理中', '已结束', '已撤回'],
            statusColor: ['#DDDDDD', '#FF9900', '#007AFF', '#06BE00'],
            statusColor: ['#dd8b8c', '#FF9900', '#007AFF', '#06BE00'],
            result: ['未提交', '处理中', '通过', '驳回'],
            resultColor: ['#DDDDDD', '#FF9900', '#06BE00', '#be2b2d'],
            resultColor: ['#dd8b8c', '#FF9900', '#06BE00', '#be2b2d'],
            list3: ['https://cdn.uviewui.com/uview/swiper/swiper3.png', 'https://cdn.uviewui.com/uview/swiper/swiper2.png', 'https://cdn.uviewui.com/uview/swiper/swiper1.png'],
            // 撤回模态框
            withDrawShow: false,
pages/my-application/my-application.vue
@@ -2,7 +2,6 @@
    <!-- 我的申请 -->
    <view class="my-application">
        <!-- 搜索区域 -->
        <view class="searchBox">
            <view class="topRow">
                <view class="search">
@@ -80,12 +79,12 @@
                                <image src="@/static/home/biaodan.png" mode=""></image>
                                <view>表单数据</view>
                            </view>
                            <view v-if="item.status == 3">
                                <image src="@/static/home/history.png" mode="" ></image>
                            <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">
                                <image src="@/static/home/history.png" mode="" ></image>
                                <image src="@/static/home/history.png" mode=""></image>
                                <view>编辑</view>
                            </view>
                            <view @click="approvalHistoryClick" v-if="item.status == 2 || item.status == 3">
@@ -144,9 +143,9 @@
    data() {
        return {
            status: ['草稿', '处理中', '已结束', '已撤回'],
            statusColor: ['#bbbbbb', '#FF9900', '#007AFF', '#06BE00'],
            statusColor: ['#dd8b8c', '#FF9900', '#007AFF', '#06BE00'],
            result: ['未提交', '处理中', '通过', '驳回'],
            resultColor: ['#bbbbbb', '#FF9900', '#06BE00', '#be2b2d'],
            resultColor: ['#dd8b8c', '#FF9900', '#06BE00', '#be2b2d'],
            // 搜索区域
            selectText: '',
            // 选择器
@@ -163,6 +162,19 @@
                id: '', // 撤回申请ID
                procInstId: ''
            },
            // 重新申请
            form: {
                sendMessage: true,
                sendSms: true,
                sendEmail: true,
                procDefId: '',
                assignees: [],
                priority: '0'
            },
            assigneeList: [],
            showAssign: false,
            isGateway: false,
            isCustom: false,
            // 批量删除申请
            batchDeleteModalShow: false,
            // 复选框
@@ -311,7 +323,7 @@
                    this.withDrawData.procInstId = i.procInstId;
                }
            });
            this.$reqPost('withDraw', this.withDrawData).then(res => {
            this.$reqPost('withDraw', this.withDrawData, 'form').then(res => {
                console.log('res', res);
                if (res.code == 0) {
                    uni.showToast({
@@ -339,6 +351,77 @@
        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).then(res=>{
                                console.log('重新提交申请',res);
                                if(res.code == 0){
                                    uni.showToast({
                                        title:res.data,
                                        icon:'success',
                                        duration:2000
                                    });
                                }
                            })
                        } else {
                            this.form.assignees = [];
                            this.showAssign = true;
                            this.error = '请进入"流程管理"为审批节点分配候选审批人员';
                        }
                    }
                }
                console.log(this.form);
            });
            this.modalVisible = true;
        },
        // 批量删除模态框
        batchDeleteClick() {
            this.batchDeleteModalShow = true;
pages/new-application-form-data/new-application-form-data.vue
@@ -4,22 +4,27 @@
        <!-- page-mete的page-style属性相当于HTML的body属性 -->
        <!-- <page-meta :page-style="spanStyle"></page-meta> -->
        <!-- 表单 -->
        <combination-title class="newApplicationTitle" title="新增"></combination-title>
        <!-- 注意,如果需要兼容微信小程序,最好通过setRules方法设置rules规则 -->
        <!-- <u-notify :message="accountMsg" :show="trueMsg" :type="accountMsgType"></u-notify> -->
        <!-- <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 labelWidth="20%" label="结算客户" borderBottom ref="customerNameRef" @click="selectCustomer">
                <u-form-item @click="selectCustomer" labelWidth="20%" label="结算客户" prop="customerName" borderBottom ref="customerNameRef">
                    <u--input v-model="newFormData.customerName" border="none"></u--input>
                </u-form-item>
                <u-form-item labelWidth="20%" label="合同编号" borderBottom ref="contractNumRef" @click="selectContract">
                <u-form-item @click="selectContract" labelWidth="20%" label="合同编号" prop="contractNum" borderBottom ref="contractNumRef">
                    <u--input v-model="newFormData.contractNum" border="none"></u--input>
                </u-form-item>
                <u-form-item labelWidth="20%" label="合同名称" borderBottom ref="contractNameRef"><u--input v-model="newFormData.contractName" border="none"></u--input></u-form-item>
                <u-form-item labelWidth="20%" label="付款方式" borderBottom @click="showPayType = true" ref="payTypeRef">
                <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-icon slot="right" name="arrow-right"></u-icon>
                </u-form-item>
                <u-form-item @click="timeShow = true" labelWidth="20%" label="日期" borderBottom ref="timeDataRef">
                <u-form-item @click="timeShow = true" prop="startDate" labelWidth="20%" label="日期" borderBottom ref="timeDataRef">
                    <u--input v-model="timeDataStr" border="none" placeholder="请选择范围日期"></u--input>
                    <u-icon slot="right" name="arrow-right"></u-icon>
                </u-form-item>
@@ -63,50 +68,28 @@
                        </view>
                        <!-- 客户列表 -->
                        <view class="searchResultList">
                            <view class="balanceNo" v-if="accountDetails.balanceTotal < 0">
                                <text>客户账户当前处于欠款状态</text>
                            </view>
                            <u-collapse accordion>
                                <u-collapse-item :title="item.customerFullName" v-for="(item, index) in customerData">
                                    <view class="customerDetails">
                                        <view class="table-head">
                                            <text class="titleText">{{ item.customerNumber }}</text>
                                            <template>
                                                <button
                                                    class="mini-btn"
                                                    type="default"
                                                    size="mini"
                                                    style="background: #007aff;
                                                    color: #ffffff;
                                                    margin: auto 0;
                                                    height: 20px;
                                                    line-height:20px;
                                                    width: 86px;
                                                    font-size: 10px;
                                                    padding: 0;"
                                                    @click="selectCustomerOkClick(item.id)"
                                                >
                                                    选择该用户
                                                </button>
                                            </template>
                                        </view>
                                        <uni-table border stripe emptyText="暂无更多数据" style="min-width:420px;">
                                            <uni-tr>
                                                <uni-th align="center">级别</uni-th>
                                                <uni-td align="center">{{ item.level }}</uni-td>
                                            </uni-tr>
                                            <uni-tr>
                                                <uni-th align="center">所属部门名称</uni-th>
                                                <uni-td align="center">{{ item.compNames }}</uni-td>
                                            </uni-tr>
                                            <uni-tr>
                                                <uni-th align="center">电话号码</uni-th>
                                                <uni-td align="center">{{ item.customerPhoneNumber }}</uni-td>
                                            </uni-tr>
                                        </uni-table>
                                    </view>
                                </u-collapse-item>
                            </u-collapse>
                            <u-cell-group :right-icon="false">
                                <u-cell v-for="(item, index) in customerData" :title="item.customerFullName" :arrow="false">
                                    <text slot="value" class="u-slot-value">
                                        <button
                                            class="mini-btn"
                                            type="default"
                                            size="mini"
                                            style="background: #007aff;
                                            color: #ffffff;
                                            margin: auto 0;
                                            height: 20px;
                                            line-height:20px;
                                            width: 43px;
                                            font-size: 10px;
                                            padding: 0;"
                                            @click="selectCustomerOkClick(item.id)"
                                        >
                                            选择
                                        </button>
                                    </text>
                                </u-cell>
                            </u-cell-group>
                        </view>
                        <!-- 选择用户菜单项 -->
@@ -181,7 +164,6 @@
                                        <uni-th width="70" 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>
                                        </uni-td>
@@ -221,6 +203,7 @@
                                    <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>
                                        </uni-td>
                                    </uni-tr>
@@ -255,19 +238,355 @@
            </u-popup>
        </view>
        <!-- 添加合同子项 -->
        <view class="addContractContainer">
            <u-popup :show="addContractShow" @close="addContractClose" @open="addContractOpen" mode="bottom" round="22">
                <scroll-view scroll-y="true" style="height:100%;">
                    <combination-title class="addContractFormTitle" title="添加订单"></combination-title>
                    <!-- 添加用户表单 -->
                    <view class="addContractForm">
                        <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-form-item>
                                <u-form-item @click="coalFiledSelectShow = true" label="煤厂" labelWidth="20%" ref="item1">
                                    <u--input v-model="addContractFormdata.compName" disabled disabledColor="#ffffff"></u--input>
                                </u-form-item>
                                <u-form-item label="收货人" labelWidth="20%" ref="item1" @click="addContractConsignee">
                                    <u--input v-model="addContractFormdata.customerName" disabled disabledColor="#ffffff"></u--input>
                                </u-form-item>
                                <u-form-item @click="addContractCoalShow = true" label="品种" labelWidth="20%" ref="item1">
                                    <u--input v-model="addContractFormdata.coalName" disabled disabledColor="#ffffff"></u--input>
                                </u-form-item>
                                <template>
                                    <!--     价格卡片 -->
                                    <view class="priceList" v-if="showPrice && favouredpolicyListcomputed">
                                        <view class="currentPriceContainer">
                                            <u-divider text="当前价格"></u-divider>
                                            <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-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-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-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-form-item>
                                                    <u-form-item label="挂牌价" labelWidth="35%">
                                                        <u--input v-model="currentCoal.quotePrice" disabled disabledColor="#ffffff" border="none"></u--input>
                                                    </u-form-item>
                                                </u--form>
                                            </view>
                                        </view>
                                        <view class="selectPriceContainer">
                                            <u-divider text="选择价格"></u-divider>
                                            <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-form-item>
                                                    <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-form-item>
                                                            <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-form-item>
                                                            <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-form-item>
                                                            <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-form-item>
                                                            <u-radio shape="square" size="30" :customStyle="{ marginBottom: '8px' }" name="3" @change="changePriceMode"></u-radio>
                                                        </view>
                                                    </u-radio-group>
                                                </u--form>
                                            </view>
                                        </view>
                                        <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-tr>
                                                        <uni-th width="150" align="center">优惠方式</uni-th>
                                                        <uni-th width="60" align="center">符号</uni-th>
                                                        <uni-th width="60" align="center">值</uni-th>
                                                        <uni-th width="60" align="center">价格优惠</uni-th>
                                                    </uni-tr>
                                                    <uni-tr v-for="(item, index) in favouredpolicyList" :key="index">
                                                        <uni-td>{{ item.type }}</uni-td>
                                                        <uni-td align="center">{{ operator[item.method].label }}</uni-td>
                                                        <uni-td align="center">{{ item.val }}</uni-td>
                                                        <uni-td align="center">{{ item.price }}</uni-td>
                                                    </uni-tr>
                                                </uni-table>
                                            </view>
                                        </view>
                                    </view>
                                </template>
                                <u-form-item @click="addContractTransportShow = true" label="运输" labelWidth="20%" ref="item1"><u--input v-model="addContractTransport"></u--input></u-form-item>
                            </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-form-item>
                                <u-form-item label="订单金额" labelWidth="20%" ref="item1"><u--input v-show="currentRowComputed" v-model="addContractFormdata.amount"></u--input></u-form-item>
                                <u-form-item label="订单数量" labelWidth="20%" ref="item1">
                                    <u--input v-model="addContractFormdata.quant" disabled disabledColor="#ffffff" border="none"></u--input>
                                </u-form-item>
                            </view>
                            <!-- <u-form-item label="发站" labelWidth="18%" borderBottom ref="item1"><u--input v-model="addContractFormdata.fromStation" border="none"></u--input></u-form-item>
                            <u-form-item label="到站" labelWidth="18%" borderBottom ref="item1"><u--input v-model="addContractFormdata.toStation" border="none"></u--input></u-form-item>
                            <u-form-item label="运费" labelWidth="18%" borderBottom ref="item1"><u--input v-model="addContractFormdata.cost1" border="none"></u--input></u-form-item>
                            <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="添加" type="primary" @click="addContractSanConfirm"></u-button></view>
                    </view>
                    <!-- 选择煤厂 -->
                    <view class="coalFiledSelectPopup">
                        <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>
                                <view class="coalFiledTable">
                                    <view class="tableBody">
                                        <uni-table border emptyText="暂无更多数据">
                                            <uni-tr>
                                                <uni-th width="120" align="center">煤厂名称</uni-th>
                                                <uni-th width="120" align="center">煤厂编号</uni-th>
                                                <uni-th width="120" align="center">所属矿</uni-th>
                                                <uni-th width="120" align="center">备注</uni-th>
                                            </uni-tr>
                                            <uni-tr v-for="(item, index) in coalfiledData" :key="index">
                                                <uni-td align="center">
                                                    <view :style="tdStyle">{{ item.name }}</view>
                                                </uni-td>
                                                <uni-td align="center">
                                                    <view :style="tdStyle">{{ item.num }}</view>
                                                </uni-td>
                                                <uni-td align="center">
                                                    <view :style="tdStyle">{{ item.compName }}</view>
                                                </uni-td>
                                                <uni-td align="left">
                                                    <view :style="tdStyle">{{ item.remark }}</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 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>
                                                </uni-td>
                                            </uni-tr>
                                        </uni-table>
                                    </view>
                                </view>
                            </scroll-view>
                        </u-popup>
                    </view>
                    <!-- 选择收货人 -->
                    <view class="selectCustomerPopup">
                        <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-show="searchCustomerForm.compName != ''" @click="searchCustomerForm.compName = ''"></u-icon>
                                            </u-form-item>
                                            <u-form-item labelWidth="20%" label="客户名称" borderBottom ref="timeDataRef">
                                                <u--input v-model="selectCustomerData.customerName" border="none" placeholder="输入客户名称"></u--input>
                                                <u-icon slot="right" name="close-circle-fill" v-show="selectCustomerData.customerName != ''" @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-show="searchCustomerForm.levelText != ''" @click="searchCustomerForm.levelText = ''"></u-icon>
                                            </u-form-item>
                                        </u--form>
                                    </view>
                                    <view class="searchCustomerBtn">
                                        <u-button text="搜索" type="primary" @click="selectCustomer()"></u-button>
                                        <u-button text="清空" @click="selectCustomerResetFields"></u-button>
                                    </view>
                                    <!-- 客户列表 -->
                                    <view class="searchResultList">
                                        <u-cell-group :right-icon="false">
                                            <u-cell v-for="(item, index) in customerData" :title="item.customerFullName" :arrow="false">
                                                <text slot="value" class="u-slot-value">
                                                    <button
                                                        class="mini-btn"
                                                        type="default"
                                                        size="mini"
                                                        style="background: #007aff;
                                                        color: #ffffff;
                                                        margin: auto 0;
                                                        height: 20px;
                                                        line-height:20px;
                                                        width: 43px;
                                                        font-size: 10px;
                                                        padding: 0;"
                                                        @click="addContractConsigneeConfirm(item)"
                                                    >
                                                        选择
                                                    </button>
                                                </text>
                                            </u-cell>
                                        </u-cell-group>
                                    </view>
                                    <!-- 选择用户菜单项 -->
                                    <view class="selectCustomerCompSheet">
                                        <u-action-sheet
                                            :show="selectCustomerCompShow"
                                            :actions="selectCustomerActions"
                                            title="请选择单位"
                                            @close="selectCustomerCompShow = false"
                                            @select="selectCustomerSelect"
                                        ></u-action-sheet>
                                    </view>
                                    <!-- 级别菜单项 -->
                                    <view class="selectLevelSheet">
                                        <u-action-sheet :show="selectLevelShow" :actions="levelList" title="请选择级别" @close="selectLevelShow = false" @select="selectLevelSelect"></u-action-sheet>
                                    </view>
                                </view>
                            </scroll-view>
                        </u-popup>
                    </view>
                    <!-- 品种选择器 -->
                    <view class="addContractCoalPicker">
                        <u-picker
                            :show="addContractCoalShow"
                            :columns="addContractCoalData"
                            @close="addContractCoalClose"
                            @cancel="addContractCoalShow = false"
                            @confirm="addContractCoalConfirm"
                            :closeOnClickOverlay="true"
                            keyName="label"
                        ></u-picker>
                    </view>
                    <!-- 运输选择器 -->
                    <view class="addContractCoalPicker">
                        <u-picker
                            :show="addContractTransportShow"
                            :columns="addContractTransportData"
                            @close="addContractTransportClose"
                            @cancel="addContractTransportShow = false"
                            @confirm="addContractTransportConfirm"
                            :closeOnClickOverlay="true"
                            keyName="label"
                        ></u-picker>
                    </view>
                </scroll-view>
            </u-popup>
        </view>
        <!-- 申请表格 -->
        <view class="newApplicationTable">
            <uni-table border stripe emptyText="暂无更多数据">
                <!-- 表格数据行 -->
                <uni-tr v-for="(item, index) in 8" :key="index">
            <!-- <uni-table border stripe emptyText="暂无更多数据">
                <uni-tr v-for="(item, index) in 12" :key="index">
                    <uni-th align="center">字段标题</uni-th>
                    <uni-td>
                        <view class="text">输入/选择内容</view>
                        <view class="icon"><image src="@/static/icon/select.png" mode=""></image></view>
                    </uni-td>
                </uni-tr>
            </uni-table>
                <uni-tr>
                    <uni-th align="center">操作</uni-th>
                    <uni-td>
                        <view class="newApplicationTableUtil">
                            <u-button type="primary" text="修改" size="mini"></u-button>
                            <u-button type="error" text="删除" size="mini"></u-button>
                        </view>
                    </uni-td>
                </uni-tr>
            </uni-table> -->
            <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.balanceTotal }},承兑余额:{{ accountDetails.balance2 == null ? 0 : customerChengdui }}</text>
            </view>
            <u-swipe-action>
                <u-swipe-action-item @click="deleteContractCardClick" :options="options1" v-for="(item, index) in this.newFormData.contractOrders" :key="index">
                    <view class="cardList">
                        <view class="cardList-container">
                            <view class="cardList_item">
                                收货人:
                                <text>{{ item.customerName }}</text>
                            </view>
                            <view class="cardList_item">
                                <view class="">
                                    矿厂:
                                    <text>{{ item.filedName }}</text>
                                </view>
                                <view class="">
                                    煤厂:
                                    <text>{{ item.compName }}</text>
                                </view>
                            </view>
                            <view class="cardList_item">
                                <view class="">
                                    品种:
                                    <text>{{ item.coalName }}</text>
                                </view>
                                <view class="">
                                    运输:
                                    <text>{{ item.trainType == 1 ? '路运' : '地销' }}</text>
                                </view>
                            </view>
                            <view class="cardList_item">
                                <view class="">
                                    单价:
                                    <text>{{ item.price }}</text>
                                </view>
                                <view class="">
                                    订单金额:
                                    <text>{{ item.amount }}</text>
                                </view>
                                <!-- <view class="">
                                            订单数量:<text>218.899</text>
                                        </view> -->
                            </view>
                        </view>
                    </view>
                </u-swipe-action-item>
            </u-swipe-action>
            <view class="addCard" @click="addContractClick">
                <view class="addCard-icon"><u-icon name="plus" size="100"></u-icon></view>
            </view>
        </view>
        <view class="new-application-button">
            <u-button text="取消" :plain="true" type="primary" @click="backPage"></u-button>
            <u-button text="确定" type="primary" @click="newApplicationFormDataClick"></u-button>
@@ -291,31 +610,32 @@
export default {
    data() {
        return {
            // accountMsgType: 'error',
            tdStyle: 'max-height: 30px;overflow: scroll;',
            spanStyle: 'overflow:auto',
            newFormData: {
                amount: 0,
                amount: null,
                coalId: '',
                coalName: '',
                contractId: 169,
                contractName: '国泰洗中煤合同',
                contractName: '',
                contractNum: '',
                contractOrders: [],
                customerAddressId: '',
                customerId: 236,
                customerName: '邢台国泰发电有限责任公司',
                endDate: '2022-07-12',
                executiveQuant: 0,
                id: 0,
                customerName: '',
                endDate: '',
                executiveQuant: null,
                id: null,
                number: '',
                payType: '0',
                price: 0,
                quant: 0,
                payType: '',
                price: null,
                quant: null,
                remark: '',
                startDate: '2022-07-05',
                startDate: '',
                type: '外销'
            },
            accountDetails:0,
            accountDetails: {},
            // 时间
            timeDataStr: '',
            menuShow: false,
@@ -326,24 +646,39 @@
            actions: [],
            selectValue: '',
            rules: {
                'newData.name': {
                    type: 'string',
                    required: true,
                    message: '请填写客户名称',
                    trigger: ['blur', 'change']
                },
                'newData.num': {
                    type: 'string',
                    max: 2,
                    required: true,
                    message: '请选择合同编号',
                    trigger: ['blur', 'change']
                }
                customerName: [
                    {
                        required: true,
                        message: '请选择结算客户',
                        trigger: ['blur', 'change']
                    }
                ],
                contractNum: [
                    {
                        required: true,
                        message: '请选择合同编号',
                        trigger: ['blur', 'change']
                    }
                ],
                payType: [
                    {
                        required: true,
                        message: '请选择付款方式',
                        trigger: ['blur', 'change']
                    }
                ],
                startDate: [
                    {
                        required: true,
                        message: '请选择时间',
                        trigger: ['blur', 'change']
                    }
                ]
            },
            // 时间
            timeShow: false,
            mode: 'range',
            maxDate: `${year}-${month}-${date + 10}`,
            maxDate: `${year}-${month}-${date + 80}`,
            // 选择客户
            selectCustomerData: {
                compIds: '',
@@ -352,6 +687,7 @@
                current: 1,
                size: 10
            },
            account: null, //客户账户信息
            // 搜索字段
            selectCompsData: [],
            selectCustomerLevel: [],
@@ -366,7 +702,6 @@
            // 级别
            selectLevelShow: false,
            levelList: [{ name: '一星级', value: 'A' }, { name: '二星级', value: 'B' }, { name: '三星级', value: 'C' }, { name: '四星级', value: 'D' }, { name: '五星级', value: 'E' }],
            // 选择合同
            selectContractShow: false,
            searchContractForm: {
@@ -386,7 +721,100 @@
            // 时间
            selectContractTimeMode: 'single',
            selectContractStartTimeShow: false,
            selectContractEndTimeShow: false
            selectContractEndTimeShow: false,
            // 添加合同
            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: ''
            },
            contractDetails: [], // 选择的合同详情
            // 选择煤厂
            coalFiledSelectShow: false,
            coalfiledData: [],
            coalfiledParams: { current: 1, size: 10 },
            selectCoalFiledData: {},
            // 选择收货人
            addContractConsigneeShow: false,
            // 品种选择器
            addContractCoalShow: false,
            addContractCoalData: [[]],
            // 运输类型
            // 优惠
            favouredpolicyListAll: [], //优惠政策列表所有的
            favouredpolicyList: [], // 优惠政策列表
            multipleSelection: [], //选中的优惠政策
            // 单选框
            addContractTransport: '地销',
            // 品种价格表格
            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
            },
            dust: null, // 抑尘费
            trainfreight: {}, //路运运费
            // 运输类型
            addContractTransportShow: false,
            addContractTransportData: [[{ label: '地销', value: 1 }, { label: '路运', value: 2 }]],
            currentCoal: {
                coalName: '',
                cokingPrice: null,
                modifyId: null,
                modifyInfoId: null,
                noImportantPrice: null,
                quotePrice: null,
                steelMillPrice: null,
                type: null
            },
            // 滑动单元格
            options1: [
                {
                    text: '删除'
                }
            ]
        };
    },
    onShow() {
@@ -399,6 +827,120 @@
    onNavigationBarButtonTap(e) {
        // console.log(e);
        this.$refs.menuRef.menuClick();
    },
    computed: {
        afterPrice() {
            let temp = Object.assign({}, this.currentCoal);
            let favouredpolicyIds = '';
            if (this.favouredpolicyList.length > 0) {
                this.multipleSelection.forEach(e => {
                    if (favouredpolicyIds.length > 0) {
                        favouredpolicyIds += ',';
                    }
                    favouredpolicyIds += e.id;
                    temp.steelMillPrice -= e.price;
                    temp.cokingPrice -= e.price;
                    temp.noImportantPrice -= e.price;
                    temp.quotePrice -= e.price;
                });
                if (this.multipleSelection.length > 0) {
                    this.addContractFormdata.favouredpolicyIds = favouredpolicyIds;
                }
            }
            return temp;
        },
        showPrice() {
            if (this.addContractFormdata) {
                let row = this.addContractFormdata;
                if (row.compId && row.customerAddressId && row.coalId) {
                    // console.log('看见价格', this.showPrice);
                    // this.rowClik(this.currentRow);
                    return true;
                }
            }
            return false;
        },
        //优惠政策
        favouredpolicyListcomputed() {
            let list = [];
            this.favouredpolicyListAll.forEach(e => {
                //支付方式
                if (e.type.indexOf('B') != -1 && e.coalIds) {
                    if (e.coalIds.indexOf(this.addContractFormdata.coalId) != -1) {
                        list.push(e);
                    }
                }
                //运距
                if (this.addContractFormdata.trainType == 2) {
                    if (e.type.indexOf('A') != -1) {
                        //根据发站到站获取运距
                        list.push(e);
                    }
                }
            });
            this.favouredpolicyList = list;
            return true;
        },
        async currentRowComputed() {
            //变价格用的
            this.changePriceMode(this.addContractFormdata.priceMode);
            //变订单量
            if (this.addContractFormdata.amount > 0 && this.addContractFormdata.price > 0) {
                let price = this.addContractFormdata.price;
                if (this.addContractFormdata.trainType == 2) {
                    //如果路运价格增加抑尘费和运费
                    let cost1Price = await this.getFreight(this.addContractFormdata.fromStation, this.addContractFormdata.toStation, this.addContractFormdata.customerAddressId); //路运运费
                    price += cost1Price;
                    price += this.dust;
                }
                let q = this.addContractFormdata.amount / price;
                this.addContractFormdata.quant = q.toFixed(2);
                if (this.addContractFormdata.trainType == 2) {
                    let cost1Price = await this.getFreight(this.addContractFormdata.fromStation, this.addContractFormdata.toStation, this.addContractFormdata.customerAddressId); //路运运费
                    this.addContractFormdata.cost1 = (this.addContractFormdata.quant * cost1Price).toFixed(2); //运费
                    this.addContractFormdata.cost2 = (this.addContractFormdata.quant * this.dust).toFixed(2); //抑尘费
                    console.log('运费,抑尘费:', this.addContractFormdata.cost1, this.addContractFormdata.cost2);
                } else {
                    this.addContractFormdata.cost1 = null; //运费
                    this.addContractFormdata.cost2 = null; //抑尘费
                }
            } else {
                this.addContractFormdata.quant = null;
            }
            // if (this.currentRow.quant > 0 && this.currentRow.price > 0) {
            //   this.currentRow.amount = this.currentRow.quant * this.currentRow.price;
            //   return true;
            // }
            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,
@@ -428,6 +970,7 @@
            this.pay_type();
            this.others_params();
            this.fetchCompTree();
            this.getFavouredPolicyItem();
        },
        // 选择客户
        selectCustomer() {
@@ -440,13 +983,12 @@
            this.$reqGet('customer', this.selectCustomerData).then(res => {
                uni.hideLoading();
                if (res.code == 0) {
                    this.customerData = res.data.records;
                }
            });
        },
        // 客户选择弹框打开了
        selectCustomerOpen() {
            console.log('客户选择弹框打开了');
            // this.spanStyle = 'overflow:hidden'; //当蒙层弹起时,固定界面禁止滚动,当蒙层关闭时,允许滚动
        },
        selectCustomerClose() {
@@ -502,8 +1044,7 @@
        selectCustomerOkClick(v) {
            console.log('id', v);
            this.$reqGet('getAccount', { customerId: v }).then(res => {
                console.log('获取账号', res);
                this.accountDetails = res.data
                this.accountDetails = res.data;
                this.newFormData.customerName = res.data.customerName;
                this.newFormData.customerId = res.data.id;
                this.searchContractForm.customerName = res.data.customerName;
@@ -515,7 +1056,6 @@
        // 时间
        confirmTime(v) {
            this.timeShow = false;
            console.log(v);
            v.forEach(e => {
                this.newFormData.startDate = v[0];
                this.newFormData.endDate = v[v.lenght - 1];
@@ -525,7 +1065,25 @@
        // 选择合同
        selectContract() {
            this.selectContractShow = true;
            if (this.newFormData.customerName != '') {
                if (this.newFormData.contractOrders != []) {
                    uni.showToast({
                        title: '添加订单后,不能修改合同!',
                        icon: 'error',
                        duration: 2000
                    });
                }
                this.selectContractShow = true;
            } else {
                this.$refs.formRef
                    .validate()
                    .then(res => {
                        uni.$u.toast('校验成功');
                    })
                    .catch(err => {
                        uni.$u.toast('请选择结算客户');
                    });
            }
        },
        // 选择合同类型输入框获取焦点触发
        searchContractFormTypeFocus() {
@@ -534,7 +1092,6 @@
            // 弹出框类型请求
            this.$nextTick(() => {
                this.$reqGet('contract_type').then(res => {
                    console.log('contract_type', res);
                    res.data.forEach(item => {
                        this.selectContractTypeData[0].push(item.value);
                    });
@@ -600,12 +1157,276 @@
            this.searchContractForm.type = '';
        },
        selectContractClick(e) {
            console.log(e);
            console.log('选择合同', e);
            this.newFormData.contractName = e.contractName;
            this.newFormData.contractNum = e.num;
            this.newFormData.contractId = e.id;
            this.selectContractShow = false;
            // 价格参数赋值
            this.getNewPriceData.type = e.type;
            // 选定合同详情
            uni
                .request({
                    url: `/yunxiao/contractitem/getByContractId/${e.id}`,
                    method: 'GET',
                    header: {
                        'TENANT-ID': 5,
                        Authorization: 'Bearer ' + uni.getStorageSync('access_token'),
                        VERSION: 'zzl'
                    }
                })
                .then(res => {
                    this.contractDetails = res[1].data.data;
                    console.log('合同详情', res, this.contractDetails);
                })
                .catch(err => {
                    console.log(err);
                });
        },
        // 添加合同按钮
        addContractClick() {
            // 打印true或false
            this.$refs.formRef
                .validate()
                .then(res => {
                    if (this.accountDetails.balanceType == '贷') {
                        uni.showToast({
                            title: '客户账户余额当前处于欠款状态!',
                            icon: 'error',
                            duration: 2000
                        });
                    } else {
                        if (this.accountDetails.balance == 0 || (null && this.accountDetails.balance2 == 0) || null) {
                            uni.showToast({
                                title: '账户余额不足!',
                                icon: 'error',
                                duration: 2000
                            });
                        } else {
                            console.log('添加合同按钮点击', res);
                            this.addContractShow = true;
                            this.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: ''
                            };
                            this.multipleSelection = [];
                        }
                    }
                })
                .catch(err => {
                    uni.$u.toast('效验失败');
                });
        },
        // 添加合同弹出框
        addContractClose() {
            this.addContractShow = false;
        },
        addContractOpen() {
            console.log('添加订单打开');
        },
        // 选择煤厂
        coalFiledSelectOpen(e) {
            console.log('coalfiledSelect: ', e);
        },
        coalFiledSelectClose() {
            this.coalFiledSelectShow = false;
        },
        // 选择的煤厂
        coalFiledSelectClick(e) {
            this.addContractFormdata.compName = e.compName;
            this.addContractFormdata.filedName = e.name;
            this.addContractFormdata.compId = e.compId;
            this.addContractFormdata.filedId = e.id;
            this.addContractFormdata.fromStation = e.toStation;
            this.selectCoalFiledData = e;
            this.coalFiledSelectShow = false;
        },
        // 收货人
        addContractConsigneeClose() {
            this.addContractConsigneeShow = false;
        },
        // 添加合同子项收货人打开
        addContractConsigneeOpen() {},
        addContractConsignee() {
            this.addContractConsigneeShow = true;
        },
        addContractConsigneeConfirm(v) {
            this.addContractFormdata.toStation = v.toStation;
            this.addContractFormdata.customerName = v.customerName;
            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.addContractFormdata.customerId = res.data.id;
            });
            this.$nextTick(() => {
                this.addContractConsigneeShow = false;
            });
            // 赋值给取价格请求参数
            this.getNewPriceData.customerAddressName = v.customerFullName;
            this.getNewPriceData.customerAddressId = v.id;
            this.getNewPriceData.toStation = v.toStation;
            this.addContractFormdata.toStation = v.toStation;
            this.addContractFormdata.customerAddressId = v.id;
            // 添加煤种选项
            this.contractDetails.forEach(item => {
                let a = [{ label: '', id: '' }];
                a[0].label = item.coalName;
                a[0].id = item.coalId;
                if(this.addContractCoalData[0]){
                    this.addContractCoalData = [];
                }
                this.addContractCoalData.push(a);
            });
        },
        // 品种选择器
        addContractCoalConfirm(e) {
            console.log('品种选择器', e);
            this.addContractCoalShow = false; // 关闭选择器
            this.addContractFormdata.coalId = e.value[0].id;
            this.addContractFormdata.coalName = e.value[0].label;
            // 煤种价格请求(煤厂=>价格参数)
            this.getNewPriceData.coalId = e.value[0].id;
            this.getNewPriceData.coalName = e.value[0].label;
            // this.selectCoalFiledData.compId = e.compId;
            // this.selectCoalFiledData.compName = e.compName;
            // this.selectCoalFiledData.toStation = e.fromStation;
            this.$reqGet('getNewPrice', this.getNewPriceData).then(res => {
                if (res.code == 0) {
                    let data = res.data;
                    if (data) {
                        this.currentCoal.coalName = data.coalName;
                        this.currentCoal.cokingPrice = data.cokingPrice; //焦化价格
                        this.currentCoal.noImportantPrice = data.noImportantPrice; //不重要价格
                        this.currentCoal.quotePrice = data.quotePrice; // 挂牌价格
                        this.currentCoal.steelMillPrice = data.steelMillPrice; // 钢厂价格
                        this.currentCoal.modifyId = data.modifyId; //修改id
                        this.currentCoal.modifyInfoId = data.id;
                        this.addContractFormdata.price = data.steelMillPrice;
                        // if (data.coalPath && data.coalPath.indexOf('动力煤') > -1) {
                        //     this.currentCoal.type = 0;
                        // } else {
                        //     this.currentCoal.type = 1;
                        // }
                        this.addContractFormdata.modifyId = data.modifyId;
                        this.addContractFormdata.id = data.id;
                    } else {
                        uni.$u.toast('煤种价格未设置');
                    }
                }
            });
        },
        addContractCoalClose() {
            this.addContractCoalShow = false;
        },
        // 煤品种价格
        groupChange(e) {
            console.log('单选框小组', e);
        },
        changePriceMode(e) {
            if (!this.currentCoal) return;
            this.addContractFormdata.priceMode = e;
            switch (this.addContractFormdata.priceMode) {
                case '0':
                    this.addContractFormdata.price = this.afterPrice.steelMillPrice;
                    break;
                case '1':
                    this.addContractFormdata.price = this.afterPrice.cokingPrice;
                    break;
                case '2':
                    this.addContractFormdata.price = this.afterPrice.noImportantPrice;
                    break;
                case '3':
                    this.addContractFormdata.price = this.afterPrice.quotePrice;
                    break;
            }
        },
        // 优惠选择
        selectionChange(e) {
            this.multipleSelection = [];
            this.favouredpolicyList.forEach((item, i) => {
                if (e.detail.index.indexOf(i) != -1) {
                    this.multipleSelection.push(item);
                }
            });
        },
        // 运输选择器
        addContractTransportConfirm(e) {
            this.addContractTransportShow = false;
            this.addContractFormdata.trainType = e.value[0].value;
            switch (this.addContractFormdata.trainType) {
                case 1:
                    this.addContractTransport = '地销';
                    break;
                case 2:
                    this.addContractTransport = '路运';
                    break;
            }
        },
        addContractTransportClose() {
            this.addContractTransportShow = false;
        },
        // 获取运费
        async getFreight(from, to, customerId) {
            let key = from + to + customerId;
            let price = this.trainfreight[key];
            price = await this.$reqGet('trainFreightFind', { from, to, customerId }).then(res => {
                let resPrice = 10; //默认价格为10
                if (res.data) {
                    resPrice = res.data.price;
                }
                return resPrice;
            });
            return price;
        },
        addContractSanConfirm() {
            if (this.addContractFormdata.compId && this.addContractFormdata.customerId && this.addContractFormdata.filedId) {
                this.newFormData.contractOrders.push(this.addContractFormdata);
                this.$nextTick(() => {
                    this.addContractShow = false;
                });
            } else {
                uni.$u.toast('请规范输入所有信息');
            }
        },
        // 初始数据请求
        operato() {
            this.$reqGet('operator').then(res => {
                // console.log('operator', res);
                this.operator = res.data;
            });
        },
        pay_type() {
@@ -622,9 +1443,15 @@
            });
            // console.log(this.actions);
        },
        // 抑尘费
        others_params() {
            this.$reqGet('others_params').then(res => {
                // console.log('others_params', res);
                console.log('others_params', res);
                res.data.forEach(e => {
                    if (e.label == 'dust') {
                        this.dust = parseFloat(e.value);
                    }
                });
            });
        },
        coalprice() {
@@ -632,14 +1459,23 @@
                // console.log('coalprice', res);
            });
        },
        // 级别距优惠
        jcfavouredpolicyitem() {
            this.$reqGet('jcfavouredpolicyitem', { current: 1, size: 1000, status: 0 }).then(res => {
                // console.log('jcfavouredpolicyitem', res);
                console.log('级别距优惠', res);
                // this.favouredpolicyListAll = res.data.records;
            });
        },
        // 获取所有的优惠政策
        getFavouredPolicyItem() {
            this.$reqGet('getFavouredPolicyItem', { current: 1, size: 1000, status: 0 }).then(res => {
                this.favouredpolicyListAll = res.data.records;
            });
        },
        // 煤场
        coalfiled() {
            this.$reqGet('coalfiled', { current: 1, size: 10 }).then(res => {
                // console.log('coalfiled', res);
            this.$reqGet('coalfiled', this.coalfiledParams).then(res => {
                this.coalfiledData = res.data.records;
            });
        },
        // 时间
@@ -656,8 +1492,70 @@
        // moveHandleContract(){
        //     return true;
        // },
        // 新建发运申请
        newApplicationFormDataClick() {
            console.log('确认新增申请表单');
            this.$refs.formRef
                .validate()
                .then(res => {
                    let amount = 0;
                    this.newFormData.contractOrders.forEach(e => {
                        amount += Number(e.amount);
                    });
                    if (this.newFormData.payType == '0') {
                        if (this.accountDetails.balance < amount) {
                            let msg = this.accountDetails.balance == null ? 0 : this.accountDetails.balance;
                            uni.showToast({
                                title: '客户账户现汇余额不足,现汇余额:' + msg,
                                icon: 'error',
                                duration: 2000
                            });
                        } else {
                            this.xswaybill();
                        }
                    } else {
                        if (this.accountDetails.balance2 < amount) {
                            let msg = this.accountDetails.balance2 == null ? 0 : this.accountDetails.balance2;
                            uni.showToast({
                                title: '客户账户承兑余额不足,承兑余额:' + msg,
                                icon: 'error',
                                duration: 2000
                            });
                        } else {
                            this.xswaybill();
                        }
                    }
                })
                .catch(err => {
                    uni.$u.toast('校验失败');
                });
        },
        // 删除订单卡片
        deleteContractCardClick(e) {
            console.log('删除订单卡片', e);
            this.newFormData.contractOrders.splice(e, 1);
        },
        xswaybill() {
            console.log('新建发运申请');
            uni.showLoading({
                title: '加载中...'
            });
            this.$reqPost('xswaybill', this.newFormData).then(res => {
                uni.hideLoading();
                console.log('新建发运申请', res);
                if (res.code == 0) {
                    uni.showToast({
                        title: '添加成功!',
                        icon: 'success',
                        duration: 2000
                    });
                    this.$nextTick(() => {
                        uni.navigateBack({
                            // url: '/pages/my-application/my-application'
                            delta: 2
                        });
                    });
                }
            });
        },
        backPage() {
            uni.navigateBack({
@@ -725,67 +1623,11 @@
                        // 数据列表
                        .searchResultList {
                            margin-top: vww(16);
                            .u-collapse {
                                .u-collapse-item {
                                    .u-collapse-item__content {
                                        .u-collapse-item__content__text {
                                            padding: 0;
                                        }
                                    }
                                }
                            }
                            .customerDetails {
                                .uni-table-scroll {
                                    min-width: 0 !important;
                                    // overflow-x: hidden;
                                    .uni-table {
                                        .uni-table-tr {
                                            padding: 0;
                                            font-size: vww(13);
                                            .uni-table-th {
                                                width: vww(100);
                                                height: vww(32);
                                                line-height: vww(20);
                                                padding: vww(5) vww(10);
                                                color: #111111;
                                                font-weight: 400;
                                                background: #f5f5f5;
                                            }
                                            .uni-table-td {
                                                height: vww(32);
                                                line-height: vww(20);
                                                padding: vww(5) vww(10);
                                                color: #111111;
                                            }
                                        }
                                    }
                                }
                                .table-head {
                                    height: vww(32);
                                    border: vww(1) solid #dddddd;
                                    display: flex;
                                    justify-content: space-between;
                                    font-size: vww(13);
                                    line-height: vww(32);
                                    padding: 0 vww(8);
                                    background: #f5f5f5;
                                    .titleText {
                                        font-weight: 550;
                                    }
                                    .timeText {
                                        color: #999999;
                                    }
                                }
                            }
                        }
                        // 合同表格
                        .tableContract {
                            margin-top:vww(30);
                            margin-top: vww(30);
                            display: flex;
                            justify-content: center;
                            .uni-table-scroll {
@@ -818,12 +1660,12 @@
                            .TableUtilBtn {
                                width: 20%;
                                overflow: hidden;
                                .uni-table{
                                    min-width:0!important;
                                .uni-table {
                                    min-width: 0 !important;
                                }
                                .TableUtilBtnContainer{
                                    .u-button{
                                        width:vww(20);
                                .TableUtilBtnContainer {
                                    .u-button {
                                        width: vww(20);
                                    }
                                }
                            }
@@ -875,47 +1717,217 @@
        }
    }
    // 表格
    .newApplicationTable {
        margin: vww(40) auto;
        width: 91%;
        .uni-table {
            .uni-table-tr {
                .uni-table-th {
                    padding: 0;
                    width: vww(88);
                    height: vww(40);
                    background-color: #f5f5f5;
                    color: #111111;
                    font-size: vww(13);
                    font-weight: 500;
                }
                .uni-table-td {
                    width: vww(253);
                    height: vww(40);
                    background-color: #ffffff;
                    color: #111111;
                    font-size: vww(13);
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    .text {
    // 煤厂
    .addContractContainer {
        .u-popup {
            .u-transition {
                height: 95%;
                .u-popup__content {
                    overflow: scroll !important;
                    .addContractFormTitle {
                        margin-bottom: 0;
                    }
                    .icon {
                        display: flex;
                        align-items: center;
                        image {
                            width: vww(10);
                            height: vww(5.5);
                    // 搜索
                    .coalFiledSelectSearch {
                    }
                    // 选择煤种
                    .coalFiledSelectPopup {
                        .u-popup {
                            .u-transition {
                                height: 80%;
                                .u-popup__content {
                                    overflow: scroll !important;
                                    // 表格
                                    .coalFiledTable {
                                        width: 92%;
                                        display: flex;
                                        justify-content: center;
                                        margin: 0 auto;
                                        .uni-table-scroll {
                                            min-width: 0 !important;
                                            .uni-table {
                                                .uni-table-tr {
                                                    padding: 0;
                                                    font-size: vww(13);
                                                    .uni-table-th {
                                                        width: vww(100);
                                                        height: vww(32);
                                                        line-height: vww(20);
                                                        padding: vww(5) vww(10);
                                                        color: #111111;
                                                        font-weight: 400;
                                                        background: #f5f5f5;
                                                    }
                                                    .uni-table-td {
                                                        line-height: vww(20);
                                                        padding: vww(5) vww(10);
                                                        color: #111111;
                                                    }
                                                }
                                            }
                                        }
                                        .tableBody {
                                            width: 80%;
                                        }
                                        .TableUtilBtn {
                                            width: 20%;
                                            overflow: hidden;
                                            .uni-table {
                                                min-width: 0 !important;
                                            }
                                            .TableUtilBtnContainer {
                                                .u-button {
                                                    width: vww(20);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        // 边框
        // .table--border{
        //     border:1px solid #DDDDDD;
        // }
    }
    // 添加合同
    .addContractContainer {
        .u-popup {
            .u-transition {
                height: 95%;
                .u-popup__content {
                    // background-color: rgb(247, 247, 247);
                    overflow: scroll !important;
                    .addContractForm {
                        width: 92%;
                        margin: 0 auto;
                        // 表单
                        // .u-form{
                        //     .u-form-item{
                        //         .u-form-item__body{
                        //             .u-form-item__body__right{
                        //                 .u-form-item__body__right__content__slot{
                        //                     .u-input{
                        //                         border:1px solid #dddddd;
                        //                         .u-input__content{
                        //                         }
                        //                     }
                        //                 }
                        //             }
                        //         }
                        //     }
                        // }
                        .formUpCard {
                            margin-top: vww(10);
                            padding: vww(10);
                            border-radius: vww(4);
                            box-shadow: 0 2px 16px #e5e5e5, 0 0 1px #e5e5e5, 0 0 1px #e5e5e5;
                            background-color: #ffffff;
                            // 价格卡片
                            .priceList {
                                min-height: vww(20);
                                border-radius: vww(4);
                                padding: vww(10) 0;
                                box-shadow: 0 2px 16px #e5e5e5, 0 0 1px #e5e5e5, 0 0 1px #e5e5e5;
                                // margin-top:vww(10);
                                background-color: #ffffff;
                                .currentPriceContainer {
                                    .currentPriceBox {
                                        width: 92%;
                                        margin: 0 auto;
                                    }
                                }
                                .selectPriceContainer {
                                    .selectPricebox {
                                        width: 92%;
                                        margin: 0 auto;
                                        .selectPriceboxItem {
                                            display: flex;
                                            justify-content: space-between;
                                        }
                                    }
                                }
                            }
                        }
                        .formDownCard {
                            border-radius: vww(4);
                            padding: vww(10);
                            box-shadow: 0 2px 16px #e5e5e5, 0 0 1px #e5e5e5, 0 0 1px #e5e5e5;
                            margin-top: vww(10);
                            background-color: #ffffff;
                        }
                        .addContractConfirm {
                            margin-top: vww(30);
                        }
                    }
                    // 品种选择器
                    .addContractCoalPicker {
                        .u-popup {
                            .u-transition {
                                height: auto;
                            }
                        }
                    }
                }
            }
        }
    }
    // 表格
    .newApplicationTable {
        margin: vww(40) auto;
        width: 100%;
        padding: vww(0) vww(10) vww(60) vww(10);
        box-sizing: border-box;
        .u-swipe-action {
            .u-swipe-action-item {
                box-shadow: 0 2px 16px #e5e5e5, 0 0 1px #e5e5e5, 0 0 1px #e5e5e5;
                margin-top: vww(10);
                .u-swipe-action-item__right {
                    .u-swipe-action-item__right__button {
                        .u-swipe-action-item__right__button__wrapper {
                            background-color: #ee336b !important;
                        }
                    }
                }
            }
        }
        .cardList {
            height: vww(130);
            border-radius: vww(4);
            padding: vww(10);
            .cardList-container {
                .cardList_item {
                    margin-top: vww(12);
                    font-size: 14px;
                    display: flex;
                    view {
                        width: 50%;
                        &:nth-child(2) {
                            margin-left: vww(20);
                        }
                    }
                }
            }
        }
        .addCard {
            width: 100%;
            height: vww(130);
            margin-top: vww(10);
            border-radius: vww(4);
            display: flex;
            justify-content: center;
            align-items: center;
            box-shadow: 0 2px 16px #e5e5e5, 0 0 1px #e5e5e5, 0 0 1px #e5e5e5;
        }
    }
    // button
pages/new-application/new-application.vue
@@ -81,9 +81,15 @@
    },
    methods: {
        init(){
            this.newApplicationData = [];
            this.$reqGet('getNewProcessDataList',this.updateData).then(res=>{
                if(res.code === 0){
                    this.newApplicationData = res.data.records
                    res.data.records.forEach(item=>{
                        if(item.id=="WAY_BILL:4:87504"){
                            this.newApplicationData.push(item);
                        }
                    })
                    console.log("新增",res);
                }
            })
static/menuIcon/menu-shipment.png
utils/api.js
@@ -49,6 +49,12 @@
        name:'pig',
        method:'GET'
    },
    // 获取全部优惠政策
    getFavouredPolicyItem:{
        url:'/yunxiao/jcfavouredpolicyitem/page',
        method:'GET'
    },
    // 煤场
    coalfiled:{
        url:'/yunxiao/coalfiled/page',
        name:'pig',
@@ -67,6 +73,12 @@
        url:'/yunxiao/account/getAccount',
        method:'GET'
    },
    // 选择客户回调
    // customerAccount:{
    //     url:'/yunxiao/account/getAccountByCustmoerIdAndCompId',
    //     method:'GET'
    // },
    
    // 选择合同
    contract:{
@@ -82,22 +94,39 @@
        url:'/admin/dict/type/contract_type',
        method:'GET'
    },
    // 选定合同
    getByContractId:{
        url:'/yunxiao/contractitem/getByContractId',
    trainFreightFind:{
        url:"/yunxiao/trainFreight/find",
        mehtod:"GET"
    },
    // 添加申请
    xswaybill:{
        url:'/yunxiao/xswaybill',
        method:'POST'
    },
    // 煤种价格修改信息
    getNewPrice:{
        url:'/yunxiao/coalpricemodifyinfo/getNewPrice',
        method:'GET'
    },
    // 获取运费
    
    // 撤回
    withDraw:{
        url:'/oa/actBusiness/cancel',
        name:'pig',
        method:'POST'
    },
    // 获取操作人
    getFirstNode:{
        url:'/oa/actProcess/getFirstNode',
        method:'GET'
    },
    // 重新申请
    apply:{
        url:'/oa/actBusiness/apply',
        name:'pig',
        method:'POST'
    },
    // 我的待办
utils/index.js
@@ -8,8 +8,6 @@
    },
    headerPOST: {
        "Content-type":'application/json'
        // 'Content-Type': 'application/x-www-form-urlencoded',
    },
}
@@ -20,17 +18,22 @@
    return fetch(url, opt)
}
// get请求
export const reqGet = (url, params, opt = {}) => {
// get请求
// urlParam是拼接路径的参数
export const reqGet = (url, params, urlParam, opt = {}) => {
    opt.header = typeObj['headerGET'];
    opt.method = "GET";
    opt.data = params;
    return fetch(url, opt)
    return fetch(url, opt ,urlParam)
}
// post请求
export const reqPost = (url, params, opt = {}) => {
    opt.header = typeObj['headerPOST'];
export const reqPost = (url, params, form, opt = {}) => {
    if(form == 'form'){
        opt.header = {'Content-Type': 'application/x-www-form-urlencoded'}
    } else {
        opt.header = typeObj['headerPOST'];
    }
    opt.method = "POST";
    opt.data = params;
    return fetch(url, opt)
utils/request.js
@@ -89,11 +89,11 @@
// 请求拦截
const fetch = (url, opt) => {
const fetch = (url, opt ,urlParam) => {
    let urls = (api[opt.url]?.url || api[url]?.url || jihua[opt.url]?.url || jihua[url]?.url);
    let params = opt.params ? ('?' + Object.keys(opt.params).map(key => key + '=' + opt.params[key]).join('&')) :
    '';
    opt.url = urls + params
    opt.url = urlParam ? urls + `/${urlParam}` + params : urls + params
    opt.method = opt.method || "GET";
    var header = {}
    if (uni.getStorageSync('access_token')) {
@@ -103,8 +103,7 @@
            VERSION: "zzl"
        }
    }
    // 'Bearer'
    // 'version:zzl'
    opt.header = {
        ...opt.header,
        ...header