|
@@ -0,0 +1,623 @@
|
|
|
+<template>
|
|
|
+ <view class="settlement-form">
|
|
|
+ <wd-form ref="form" :model="dataForm" :rules="rules">
|
|
|
+ <wd-cell-group>
|
|
|
+ <!--加油日期615 司机名称623 项目名称622 客户名称620
|
|
|
+ 油品名称616 油品型号617 单位782 数量升633
|
|
|
+ 结算状态736 1已结算,0未结算 加油单据631 折算吨635
|
|
|
+ 油品密度634
|
|
|
+ 加油单价(送油 618 加油金额619 项目编号621
|
|
|
+ 司机手机号码627 队长名称624 队长手机号码628 经度625
|
|
|
+ 维度626 提交日期629 最后修改日期630 -->
|
|
|
+ <wd-calendar
|
|
|
+ v-model="dataForm[615]"
|
|
|
+ label="加油日期"
|
|
|
+ :prop="'615'"
|
|
|
+ placeholder="请选择提油日期"
|
|
|
+ type="date"
|
|
|
+ />
|
|
|
+ <!-- 提油人 -->
|
|
|
+ <wd-select-picker
|
|
|
+ v-model="dataForm[623]"
|
|
|
+ :columns="userList"
|
|
|
+ label="司机名称"
|
|
|
+ :prop="'623'"
|
|
|
+ placeholder="请选择司机名称"
|
|
|
+ type="radio"
|
|
|
+ @change="onUserChange"
|
|
|
+ />
|
|
|
+
|
|
|
+ <!-- 项目名称 -->
|
|
|
+ <wd-select-picker
|
|
|
+ v-model="dataForm[622]"
|
|
|
+ :columns="userProject"
|
|
|
+ label="项目名称"
|
|
|
+ :prop="'622'"
|
|
|
+ placeholder="请选择项目名称"
|
|
|
+ :disabled="dataForm[623] ? false : true"
|
|
|
+ @change="projectNameChange"
|
|
|
+ type="radio"
|
|
|
+ />
|
|
|
+ <!-- 客户名称 -->
|
|
|
+ <wd-select-picker
|
|
|
+ v-model="dataForm[620]"
|
|
|
+ :columns="kehuList"
|
|
|
+ label="客户名称"
|
|
|
+ :prop="'620'"
|
|
|
+ placeholder="请选择客户名称"
|
|
|
+ type="radio"
|
|
|
+ />
|
|
|
+
|
|
|
+ <wd-select-picker
|
|
|
+ v-if="dataForm[621]"
|
|
|
+ v-model="dataForm[616]"
|
|
|
+ :columns="oilList"
|
|
|
+ label="油品名称"
|
|
|
+ :prop="'616'"
|
|
|
+ placeholder="请选择油品名称"
|
|
|
+ type="radio"
|
|
|
+ @change="ypNameChange"
|
|
|
+ />
|
|
|
+ <!-- 油品型号 617 -->
|
|
|
+ <wd-select-picker
|
|
|
+ v-model="dataForm[617]"
|
|
|
+ :columns="oilTypeList"
|
|
|
+ label="油品型号"
|
|
|
+ :prop="'617'"
|
|
|
+ placeholder="请选择油品型号"
|
|
|
+ type="radio"
|
|
|
+ @change="oilTypeChange"
|
|
|
+ v-if="dataForm[616] && dataForm[621]"
|
|
|
+ />
|
|
|
+ <!-- 单位782 吨或者升 -->
|
|
|
+ <wd-cell prop="782" title="单位" center title-width="100px">
|
|
|
+ <view style="text-align: left">
|
|
|
+ <wd-radio-group v-model="dataForm[782]" inline cell @change="dwChange">
|
|
|
+ <wd-radio :value="'吨'">吨</wd-radio>
|
|
|
+ <wd-radio :value="'升'">升</wd-radio>
|
|
|
+ </wd-radio-group>
|
|
|
+ </view>
|
|
|
+ </wd-cell>
|
|
|
+ <!-- 数量升 -->
|
|
|
+ <wd-cell prop="633" title="数量升" center title-width="100px">
|
|
|
+ <view style="text-align: left">
|
|
|
+ <wd-input-number
|
|
|
+ v-model="dataForm[633]"
|
|
|
+ :placeholder="'请输入升'"
|
|
|
+ :min="0"
|
|
|
+ :precision="4"
|
|
|
+ @change="onChangeL"
|
|
|
+ />
|
|
|
+ </view>
|
|
|
+ </wd-cell>
|
|
|
+ <!-- 736 结算状态 -->
|
|
|
+ <wd-cell prop="736" title="结算状态" center title-width="100px">
|
|
|
+ <view style="text-align: left">
|
|
|
+ <wd-radio-group v-model="dataForm[736]" inline cell>
|
|
|
+ <wd-radio :value="0">未结算</wd-radio>
|
|
|
+ <wd-radio :value="1">已结算</wd-radio>
|
|
|
+ </wd-radio-group>
|
|
|
+ </view>
|
|
|
+ </wd-cell>
|
|
|
+
|
|
|
+ <!-- 单据照片 631 -->
|
|
|
+ <wd-cell :title="'加油单据'" title-width="120rpx" :prop="'631'">
|
|
|
+ <wd-upload
|
|
|
+ :file-list="dataForm[631]"
|
|
|
+ :action="config.baseURL + 'api/file/uploadFile'"
|
|
|
+ @change="handleChangeFile"
|
|
|
+ />
|
|
|
+ </wd-cell>
|
|
|
+
|
|
|
+ <!-- 折算吨 635 -->
|
|
|
+ <wd-input
|
|
|
+ v-model="dataForm[635]"
|
|
|
+ :placeholder="'请输入折算吨'"
|
|
|
+ :label="'折算吨'"
|
|
|
+ prop="635"
|
|
|
+ :disabled="true"
|
|
|
+ />
|
|
|
+ <!-- 油品密度 634 -->
|
|
|
+ <wd-input
|
|
|
+ v-model="dataForm[634]"
|
|
|
+ :placeholder="'请输入油品密度'"
|
|
|
+ :label="'油品密度'"
|
|
|
+ prop="634"
|
|
|
+ :disabled="true"
|
|
|
+ />
|
|
|
+ <!-- 加油单价 只能输入数字-->
|
|
|
+ <wd-input
|
|
|
+ v-model="dataForm[618]"
|
|
|
+ :placeholder="'请输入加油单价'"
|
|
|
+ :label="'加油单价'"
|
|
|
+ prop="618"
|
|
|
+ type="digit"
|
|
|
+ @blur="onChangeL"
|
|
|
+ />
|
|
|
+
|
|
|
+ <!-- 加油金额 619 -->
|
|
|
+ <wd-input
|
|
|
+ v-model="dataForm[619]"
|
|
|
+ :placeholder="'请输入加油金额'"
|
|
|
+ :label="'加油金额'"
|
|
|
+ prop="619"
|
|
|
+ type="digit"
|
|
|
+ @blur="onChangeL"
|
|
|
+ />
|
|
|
+
|
|
|
+ <!-- 项目编号 -->
|
|
|
+ <wd-input
|
|
|
+ v-model="dataForm[621]"
|
|
|
+ :placeholder="'请输入项目编号'"
|
|
|
+ :label="'项目编号'"
|
|
|
+ prop="621"
|
|
|
+ :disabled="true"
|
|
|
+ />
|
|
|
+ <!-- 司机手机号码 -->
|
|
|
+ <wd-input
|
|
|
+ v-model="dataForm[627]"
|
|
|
+ :placeholder="'请输入司机手机号码'"
|
|
|
+ :label="'司机手机号码'"
|
|
|
+ prop="627"
|
|
|
+ :disabled="true"
|
|
|
+ />
|
|
|
+ <!-- 队长名称 -->
|
|
|
+ <wd-input
|
|
|
+ v-model="dataForm[624]"
|
|
|
+ :placeholder="'请输入队长名称'"
|
|
|
+ :label="'队长名称'"
|
|
|
+ prop="624"
|
|
|
+ :disabled="true"
|
|
|
+ />
|
|
|
+ <!-- 队长手机号码 -->
|
|
|
+ <wd-input
|
|
|
+ v-model="dataForm[628]"
|
|
|
+ :placeholder="'请输入队长手机号码'"
|
|
|
+ :label="'队长手机号码'"
|
|
|
+ prop="628"
|
|
|
+ :disabled="true"
|
|
|
+ />
|
|
|
+ <!-- 经纬度 -->
|
|
|
+ <wd-input
|
|
|
+ v-model="dataForm[625]"
|
|
|
+ :placeholder="'请输入经度'"
|
|
|
+ :label="'经度'"
|
|
|
+ prop="625"
|
|
|
+ :disabled="true"
|
|
|
+ />
|
|
|
+ <wd-input
|
|
|
+ v-model="dataForm[626]"
|
|
|
+ :placeholder="'请输入维度'"
|
|
|
+ :label="'维度'"
|
|
|
+ prop="626"
|
|
|
+ :disabled="true"
|
|
|
+ />
|
|
|
+ <wd-calendar
|
|
|
+ v-model="dataForm[629]"
|
|
|
+ label="提交日期"
|
|
|
+ :prop="'629'"
|
|
|
+ placeholder="请选择提交日期"
|
|
|
+ type="date"
|
|
|
+ :disabled="true"
|
|
|
+ />
|
|
|
+ <wd-calendar
|
|
|
+ v-model="dataForm[630]"
|
|
|
+ label="最后修改日期"
|
|
|
+ :prop="'630'"
|
|
|
+ placeholder="请选择最后修改日期"
|
|
|
+ type="date"
|
|
|
+ :disabled="true"
|
|
|
+ />
|
|
|
+ </wd-cell-group>
|
|
|
+ <view class="footer">
|
|
|
+ <wd-button type="primary" size="large" block @click="handleSubmit">提交</wd-button>
|
|
|
+ </view>
|
|
|
+ </wd-form>
|
|
|
+ <wd-toast />
|
|
|
+ </view>
|
|
|
+</template>
|
|
|
+<script setup lang="ts">
|
|
|
+import DemoApi from '@/api/DemoApi';
|
|
|
+import config from '@/http/config';
|
|
|
+import { useToast } from 'wot-design-uni';
|
|
|
+
|
|
|
+const formKey = ref<string>('');
|
|
|
+const id = ref<string>('');
|
|
|
+const filedsData = ref<Object>([]);
|
|
|
+onLoad((option) => {
|
|
|
+ formKey.value = option.formKey;
|
|
|
+ filedsData.value = JSON.parse(option.filedsData || '{}');
|
|
|
+ // 过滤8开头的字段
|
|
|
+ filedsData.value = Object.keys(filedsData.value).reduce((obj, key) => {
|
|
|
+ if (key[0] !== '8') {
|
|
|
+ obj[key] = filedsData.value[key];
|
|
|
+ }
|
|
|
+ return obj;
|
|
|
+ }, {});
|
|
|
+ id.value = filedsData.value.id;
|
|
|
+ init();
|
|
|
+});
|
|
|
+const toast = useToast();
|
|
|
+
|
|
|
+const formDataSet = ref({});
|
|
|
+const dataForm = ref({});
|
|
|
+const rules = ref({
|
|
|
+ //单位
|
|
|
+ 782: [{ required: true, message: '单位未填写' }],
|
|
|
+});
|
|
|
+const showFormList = ref(1);
|
|
|
+function init() {
|
|
|
+ toast.loading('加载中...')
|
|
|
+ DemoApi.getConfig(formKey.value).then((res) => {
|
|
|
+ formDataSet.value = JSON.parse(res.data.formData || '{}');
|
|
|
+ const obj = {};
|
|
|
+ const objAllSet = {};
|
|
|
+ formDataSet.value.fields.map((item) => {
|
|
|
+ obj[item.__vModel__] = item.defaultValue || '';
|
|
|
+ // if (item.__config__.jnpfKey === 'date') {
|
|
|
+ // // 13位时间戳 代表当天时间 不算时分秒
|
|
|
+ // obj[item.__vModel__] = new Date(new Date().toLocaleDateString()).getTime();
|
|
|
+ // }
|
|
|
+ objAllSet[item.__vModel__] = item.__config__.jnpfKey;
|
|
|
+ if (item.__config__.required) {
|
|
|
+ rules.value[item.__vModel__] = [
|
|
|
+ { required: true, message: item.__config__.label + '未填写' },
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ Object.keys(filedsData.value).map((key) => {
|
|
|
+ Object.values(filedsData.value).map((item) => {
|
|
|
+ if (parseInt(item.fieldId) === parseInt(key)) {
|
|
|
+ obj[key] = item.value;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (objAllSet[key] === 'date') {
|
|
|
+ // 2024-03-12转化成时间戳
|
|
|
+ if (obj[key] != null && obj[key].indexOf('-') > -1) {
|
|
|
+ obj[key] = new Date(obj[key]).getTime();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (objAllSet[key] === 'uploadImg') {
|
|
|
+ // 如果返回字符串长度大于3则转成数组
|
|
|
+ if (obj[key] != null && obj[key].indexOf('[') > -1) {
|
|
|
+ obj[key] = JSON.parse(obj[key]);
|
|
|
+ obj[key] = obj[key].map((item) => {
|
|
|
+ return {
|
|
|
+ url: config.baseURL + item.url,
|
|
|
+ name: item.name,
|
|
|
+ fileld: item.fileld,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ obj[key] = [];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ dataForm.value = obj;
|
|
|
+ // 提交日期如果没有值则赋值
|
|
|
+ if (!dataForm.value[629]) {
|
|
|
+ dataForm.value[629] = new Date(new Date().toLocaleDateString()).getTime();
|
|
|
+ }
|
|
|
+ // 最后修改日期赋值当前时间
|
|
|
+ dataForm.value[630] = new Date().getTime();
|
|
|
+ oldFormData.value = JSON.stringify(obj);
|
|
|
+ baseSelectData();
|
|
|
+ toast.close();
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+const oilList = ref([
|
|
|
+ // 柴油 汽油
|
|
|
+ { label: '柴油', value: '柴油' },
|
|
|
+ { label: '汽油', value: '汽油' },
|
|
|
+]);
|
|
|
+
|
|
|
+const oilTypeList = ref([]);
|
|
|
+function initOilTypeList() {
|
|
|
+ let params = {
|
|
|
+ // 项目名称 油品名称
|
|
|
+ projectid: dataForm.value[621],
|
|
|
+ ypmc: dataForm.value[616],
|
|
|
+ };
|
|
|
+ DemoApi.getOilTypeList(params).then((res) => {
|
|
|
+ oilTypeList.value = res.data.map((item) => {
|
|
|
+ return {
|
|
|
+ label: item.油品型号,
|
|
|
+ value: item.油品型号,
|
|
|
+ md: item.合同定油品密度,
|
|
|
+ dj: item.加油单价,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ });
|
|
|
+}
|
|
|
+function oilTypeChange({ value }) {
|
|
|
+ dataForm.value[617] = value;
|
|
|
+ dataForm.value[634] = oilTypeList.value.find((item) => item.value === value).md;
|
|
|
+ // 加油单价
|
|
|
+ dataForm.value[618] = oilTypeList.value.find((item) => item.value === value).dj;
|
|
|
+}
|
|
|
+function ypNameChange({ value }) {
|
|
|
+ dataForm.value[616] = value;
|
|
|
+ initOilTypeList();
|
|
|
+}
|
|
|
+// 升变化 根据密度和升计算吨
|
|
|
+function onChangeL() {
|
|
|
+ dwChange();
|
|
|
+ // 根据折算吨 和 加油单价 计算加油金额
|
|
|
+ if (dataForm.value[633] && dataForm.value[618]) {
|
|
|
+ dataForm.value[619] = dataForm.value[633] * dataForm.value[618];
|
|
|
+ }
|
|
|
+}
|
|
|
+function dwChange() {
|
|
|
+ // 单位变化 根据数量升 油品密度进行换算 折算吨
|
|
|
+ const type = dataForm.value[782];
|
|
|
+ if (type === '吨') {
|
|
|
+ dataForm.value[635] = dataForm.value[633];
|
|
|
+ } else if (type === '升') {
|
|
|
+ dataForm.value[635] = (
|
|
|
+ ((dataForm.value[633] || 0) * (dataForm.value[634] || 0)) /
|
|
|
+ 1000
|
|
|
+ ).toFixed(4);
|
|
|
+ }
|
|
|
+}
|
|
|
+// 上传
|
|
|
+function handleChangeFile({ fileList }) {
|
|
|
+ // 如果不是数组
|
|
|
+ const arr = [];
|
|
|
+ if (!Array.isArray(fileList)) {
|
|
|
+ fileList = [];
|
|
|
+ }
|
|
|
+ for (let i = 0; i < fileList.length; i++) {
|
|
|
+ const val = fileList[i];
|
|
|
+ if (val.response) {
|
|
|
+ const response = JSON.parse(val.response);
|
|
|
+ if (response.code === 200) {
|
|
|
+ const obj = {
|
|
|
+ url: config.baseURL + response.msg,
|
|
|
+ name: response.msg,
|
|
|
+ fileld: response.msg,
|
|
|
+ };
|
|
|
+ arr.push(obj);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ const oldData = {
|
|
|
+ url: val.url,
|
|
|
+ name: val.name,
|
|
|
+ fileld: val.fileld,
|
|
|
+ };
|
|
|
+
|
|
|
+ arr.push(oldData);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ dataForm.value[631] = arr;
|
|
|
+}
|
|
|
+
|
|
|
+const userList = ref([]);
|
|
|
+// 获取提油人
|
|
|
+function getUserList() {
|
|
|
+ DemoApi.getDriverAllInfo().then((res) => {
|
|
|
+ userList.value = res.data.map((item) => {
|
|
|
+ return {
|
|
|
+ label: item.司机姓名,
|
|
|
+ value: item.司机姓名,
|
|
|
+ phone: item.手机号,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ });
|
|
|
+}
|
|
|
+getUserList();
|
|
|
+const userProject = ref([]);
|
|
|
+// 获取全部项目
|
|
|
+function onUserChange({ value }) {
|
|
|
+ dataForm.value[623] = value;
|
|
|
+ dataForm.value[627] = userList.value.find((item) => item.value === value).phone;
|
|
|
+ // 获取全部项目
|
|
|
+ DemoApi.getDriverInfo({
|
|
|
+ driverleader: dataForm.value[623],
|
|
|
+ }).then((res) => {
|
|
|
+ userProject.value = res.data.map((item) => {
|
|
|
+ return {
|
|
|
+ label: item.复杂项目名称,
|
|
|
+ value: item.复杂项目名称,
|
|
|
+ code: item.项目编号,
|
|
|
+ // 队长名
|
|
|
+ name: item.队长名称,
|
|
|
+ // 队长手机号
|
|
|
+ phone: item.队长手机号,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ });
|
|
|
+}
|
|
|
+// 初始化必要信息
|
|
|
+function baseSelectData() {
|
|
|
+ DemoApi.getDriverInfo({
|
|
|
+ drivername: dataForm.value[623],
|
|
|
+ }).then((res) => {
|
|
|
+ userProject.value = res.data.map((item) => {
|
|
|
+ return {
|
|
|
+ label: item.复杂项目名称,
|
|
|
+ value: item.复杂项目名称,
|
|
|
+ code: item.项目编号,
|
|
|
+ // 队长名
|
|
|
+ name: item.队长名称,
|
|
|
+ // 队长手机号
|
|
|
+ phone: item.队长手机号,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ });
|
|
|
+ // 获取客户名称
|
|
|
+ getKehuLists();
|
|
|
+ initOilTypeList();
|
|
|
+}
|
|
|
+// 负责的项目
|
|
|
+// 所有项目
|
|
|
+const allProject = ref([]);
|
|
|
+function getPriceList() {
|
|
|
+ DemoApi.getProjectInfo().then((res) => {
|
|
|
+ // 过滤所有
|
|
|
+ allProject.value = res.data.map((item) => {
|
|
|
+ return {
|
|
|
+ label: item.项目名称,
|
|
|
+ value: item.项目名称,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ });
|
|
|
+}
|
|
|
+getPriceList();
|
|
|
+
|
|
|
+function projectNameChange({ value }) {
|
|
|
+ dataForm.value[622] = value;
|
|
|
+ // 621
|
|
|
+ dataForm.value[621] = userProject.value.find((item) => item.value === value).code;
|
|
|
+ // 队长名
|
|
|
+ dataForm.value[624] = userProject.value.find((item) => item.value === value).name;
|
|
|
+ // 队长手机号
|
|
|
+ dataForm.value[628] = userProject.value.find((item) => item.value === value).phone;
|
|
|
+ // 获取客户名称
|
|
|
+ getKehuLists();
|
|
|
+}
|
|
|
+function getInvoiceCompanyLists({ value }) {
|
|
|
+ dataForm.value[641] = value;
|
|
|
+ // 采购单名称647 采购单价655 采购金额656 付款单位624 收款单位643
|
|
|
+ const find = allProject.value.find((item) => item.采购单号 === value);
|
|
|
+ dataForm.value[647] = find.采购单名称;
|
|
|
+ dataForm.value[655] = find.采购单价;
|
|
|
+ dataForm.value[656] = find.采购金额;
|
|
|
+ dataForm.value[624] = find.付款单位;
|
|
|
+ dataForm.value[643] = find.收款单位;
|
|
|
+}
|
|
|
+// 获取客户kehuList
|
|
|
+const kehuList = ref([]);
|
|
|
+function getKehuLists() {
|
|
|
+ DemoApi.getKehuList({
|
|
|
+ // 项目编号
|
|
|
+ projectid: dataForm.value[621],
|
|
|
+ }).then((res) => {
|
|
|
+ kehuList.value = res.data.map((item) => {
|
|
|
+ return {
|
|
|
+ label: item.客户名称,
|
|
|
+ value: item.客户名称,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ if (dataForm.value[620] && !kehuList.value.some((item) => item.value === dataForm.value[620])) {
|
|
|
+ kehuList.value.push({
|
|
|
+ label: dataForm.value[620],
|
|
|
+ value: dataForm.value[620],
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+// 是否发票
|
|
|
+const isInvoice = ref([
|
|
|
+ {
|
|
|
+ label: '是',
|
|
|
+ value: '是',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '否',
|
|
|
+ value: '否',
|
|
|
+ },
|
|
|
+]);
|
|
|
+const form = ref();
|
|
|
+const oldFormData = ref('');
|
|
|
+function handleSubmit() {
|
|
|
+ form.value
|
|
|
+ .validate()
|
|
|
+ .then(({ valid, errors }) => {
|
|
|
+ if (valid) {
|
|
|
+ dataForm.value[631] = dataForm.value[631].map((item) => {
|
|
|
+ return {
|
|
|
+ name: item.name,
|
|
|
+ fileld: item.fileld,
|
|
|
+ url: item.fileld,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ let paramsData = {};
|
|
|
+ // 过滤所有空值 为空字符 或者 null 或者 空数组
|
|
|
+ // 不能为8开头
|
|
|
+ const paramsFiled = Object.keys(dataForm.value)
|
|
|
+ .map((key) => key.toString())
|
|
|
+ .filter((item) => item[0] !== '8');
|
|
|
+ paramsFiled.map((key) => {
|
|
|
+ if (
|
|
|
+ dataForm.value[key] !== '' &&
|
|
|
+ dataForm.value[key] !== null &&
|
|
|
+ dataForm.value[key]?.length !== 0
|
|
|
+ ) {
|
|
|
+ paramsData[key] = dataForm.value[key];
|
|
|
+ }
|
|
|
+ });
|
|
|
+ const params = {
|
|
|
+ id: id.value ? '/' + id.value : '',
|
|
|
+ formKey: formKey.value,
|
|
|
+ data: [
|
|
|
+ {
|
|
|
+ data: JSON.stringify(paramsData),
|
|
|
+ id: id.value ? id.value : '',
|
|
|
+ oldData: id.value ? oldFormData.value : null,
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ };
|
|
|
+ // 如果 id 存在则是编辑 否则是新增getAddData
|
|
|
+ if (id.value) {
|
|
|
+ DemoApi.getEditData(params).then((res) => {
|
|
|
+ toast.close();
|
|
|
+ dataForm.value[631] = dataForm.value[631].map((item) => {
|
|
|
+ return {
|
|
|
+ name: item.name,
|
|
|
+ fileld: item.fileld,
|
|
|
+ url: config.baseURL + item.fileld,
|
|
|
+ };
|
|
|
+ });
|
|
|
+
|
|
|
+ if (res.code === 200) {
|
|
|
+ toast.success('更新成功');
|
|
|
+ // 如果res.data是数组则提示新增成功
|
|
|
+ setTimeout(() => {
|
|
|
+ uni.redirectTo({
|
|
|
+ url: '/pages/takeOil/list',
|
|
|
+ });
|
|
|
+ }, 3000);
|
|
|
+ } else {
|
|
|
+ toast.error('提交失败');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ DemoApi.getAddData(params).then((res) => {
|
|
|
+ toast.close();
|
|
|
+ dataForm.value[631] = dataForm.value[631].map((item) => {
|
|
|
+ return {
|
|
|
+ name: item.name,
|
|
|
+ fileld: item.fileld,
|
|
|
+ url: config.baseURL + item.fileld,
|
|
|
+ };
|
|
|
+ });
|
|
|
+
|
|
|
+ if (res.code === 200) {
|
|
|
+ // 如果res.data是数组则提示新增成功
|
|
|
+ toast.success('新增成功');
|
|
|
+ // 返回上一页
|
|
|
+ // 三秒后返回上一页
|
|
|
+ setTimeout(() => {
|
|
|
+ uni.redirectTo({
|
|
|
+ url: '/pages/takeOil/list',
|
|
|
+ });
|
|
|
+ }, 3000);
|
|
|
+ } else {
|
|
|
+ toast.error('提交失败');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch((error) => {
|
|
|
+ console.log(error, 'error');
|
|
|
+ });
|
|
|
+}
|
|
|
+</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+.footer {
|
|
|
+ padding-bottom: 20px;
|
|
|
+}
|
|
|
+</style>
|