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 };