zhangwencui
2026-10-28 7413690d1c0fcc71dd03f2781111a2b5127e76e3
新聚工贸最新修改
已修改12个文件
245 ■■■■■ 文件已修改
src/config.js 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/manifest.json 170 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/basicData/customerFile/edit.vue 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/basicData/customerFile/index.vue 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/basicData/supplierManage/edit.vue 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/basicData/supplierManage/index.vue 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/cooperativeOffice/clientVisit/index.vue 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/procurementManagement/procurementLedger/detail.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/productionManagement/productionReporting/ledger.vue 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/sales/salesAccount/goOut.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/sales/salesAccount/out.vue 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/sales/salesQuotation/edit.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/config.js
@@ -1,7 +1,7 @@
// 应用全局配置
const config = {
  baseUrl: "http://1.15.17.182:9116",
  fileUrl: "http://1.15.17.182:9115",
  baseUrl: "http://36.213.90.123:9015",
  fileUrl: "http://36.213.90.123:9016",
  // 应用信息
  appInfo: {
    // 应用名称
src/manifest.json
@@ -1,36 +1,36 @@
{
    "name" : "意博凯信",
    "appid" : "__UNI__9BDA18B",
    "description" : "",
    "versionName" : "1.1.5",
    "versionCode" : 100,
    "transformPx" : false,
    "name": "新聚工贸",
    "appid": "__UNI__0E0D28E",
    "description": "",
    "versionName": "1.1.5",
    "versionCode": 100,
    "transformPx": false,
    /* 5+App特有相关 */
    "app-plus" : {
        "compatible" : {
            "usingComponents" : true,
            "ignoreVersion" : true
    "app-plus": {
        "compatible": {
            "usingComponents": true,
            "ignoreVersion": true
        },
        "usingComponents" : true,
        "nvueStyleCompiler" : "uni-app",
        "compilerVersion" : 3,
        "splashscreen" : {
            "alwaysShowBeforeRender" : true,
            "waiting" : true,
            "autoclose" : true,
            "delay" : 0
        "usingComponents": true,
        "nvueStyleCompiler": "uni-app",
        "compilerVersion": 3,
        "splashscreen": {
            "alwaysShowBeforeRender": true,
            "waiting": true,
            "autoclose": true,
            "delay": 0
        },
        /* 模块配置 */
        "modules" : {
            "Camera" : {},
            "Barcode" : {},
            "Maps" : {}
        "modules": {
            "Camera": {},
            "Barcode": {},
            "Maps": {}
        },
        /* 应用发布信息 */
        "distribute" : {
        "distribute": {
            /* android打包配置 */
            "android" : {
                "permissions" : [
            "android": {
                "permissions": [
                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
@@ -55,88 +55,88 @@
                ]
            },
            /* ios打包配置 */
            "ios" : {
                "dSYMs" : false,
                "plist" : {
                    "NSLocationWhenInUseUsageDescription" : "需要获取您的位置信息来记录客户拜访地点",
                    "NSLocationAlwaysAndWhenInUseUsageDescription" : "需要获取您的位置信息来记录客户拜访地点"
            "ios": {
                "dSYMs": false,
                "plist": {
                    "NSLocationWhenInUseUsageDescription": "需要获取您的位置信息来记录客户拜访地点",
                    "NSLocationAlwaysAndWhenInUseUsageDescription": "需要获取您的位置信息来记录客户拜访地点"
                }
            },
            /* SDK配置 */
            "sdkConfigs" : {
                "push" : {
                    "unipush" : {
                        "icons" : {
                            "small" : {
                                "ldpi" : "D:/xindao/wenjian/img/logo/app.png"
            "sdkConfigs": {
                "push": {
                    "unipush": {
                        "icons": {
                            "small": {
                                "ldpi": "D:/xindao/wenjian/img/logo/app.png"
                            }
                        },
                        "offline" : false
                        "offline": false
                    }
                },
                "maps" : {
                    "amap" : {
                        "name" : "amap_18330707920ae9zOwCD",
                        "appkey_ios" : "c2b4e3889ab4cb9468e9c8ae4f3ab53f",
                        "appkey_android" : "c2b4e3889ab4cb9468e9c8ae4f3ab53f"
                "maps": {
                    "amap": {
                        "name": "amap_18330707920ae9zOwCD",
                        "appkey_ios": "c2b4e3889ab4cb9468e9c8ae4f3ab53f",
                        "appkey_android": "c2b4e3889ab4cb9468e9c8ae4f3ab53f"
                    }
                }
            },
            "icons" : {
                "android" : {
                    "hdpi" : "unpackage/res/icons/72x72.png",
                    "xhdpi" : "unpackage/res/icons/96x96.png",
                    "xxhdpi" : "unpackage/res/icons/144x144.png",
                    "xxxhdpi" : "unpackage/res/icons/192x192.png"
            "icons": {
                "android": {
                    "hdpi": "unpackage/res/icons/72x72.png",
                    "xhdpi": "unpackage/res/icons/96x96.png",
                    "xxhdpi": "unpackage/res/icons/144x144.png",
                    "xxxhdpi": "unpackage/res/icons/192x192.png"
                },
                "ios" : {
                    "appstore" : "unpackage/res/icons/1024x1024.png",
                    "ipad" : {
                        "app" : "unpackage/res/icons/76x76.png",
                        "app@2x" : "unpackage/res/icons/152x152.png",
                        "notification" : "unpackage/res/icons/20x20.png",
                        "notification@2x" : "unpackage/res/icons/40x40.png",
                        "proapp@2x" : "unpackage/res/icons/167x167.png",
                        "settings" : "unpackage/res/icons/29x29.png",
                        "settings@2x" : "unpackage/res/icons/58x58.png",
                        "spotlight" : "unpackage/res/icons/40x40.png",
                        "spotlight@2x" : "unpackage/res/icons/80x80.png"
                "ios": {
                    "appstore": "unpackage/res/icons/1024x1024.png",
                    "ipad": {
                        "app": "unpackage/res/icons/76x76.png",
                        "app@2x": "unpackage/res/icons/152x152.png",
                        "notification": "unpackage/res/icons/20x20.png",
                        "notification@2x": "unpackage/res/icons/40x40.png",
                        "proapp@2x": "unpackage/res/icons/167x167.png",
                        "settings": "unpackage/res/icons/29x29.png",
                        "settings@2x": "unpackage/res/icons/58x58.png",
                        "spotlight": "unpackage/res/icons/40x40.png",
                        "spotlight@2x": "unpackage/res/icons/80x80.png"
                    },
                    "iphone" : {
                        "app@2x" : "unpackage/res/icons/120x120.png",
                        "app@3x" : "unpackage/res/icons/180x180.png",
                        "notification@2x" : "unpackage/res/icons/40x40.png",
                        "notification@3x" : "unpackage/res/icons/60x60.png",
                        "settings@2x" : "unpackage/res/icons/58x58.png",
                        "settings@3x" : "unpackage/res/icons/87x87.png",
                        "spotlight@2x" : "unpackage/res/icons/80x80.png",
                        "spotlight@3x" : "unpackage/res/icons/120x120.png"
                    "iphone": {
                        "app@2x": "unpackage/res/icons/120x120.png",
                        "app@3x": "unpackage/res/icons/180x180.png",
                        "notification@2x": "unpackage/res/icons/40x40.png",
                        "notification@3x": "unpackage/res/icons/60x60.png",
                        "settings@2x": "unpackage/res/icons/58x58.png",
                        "settings@3x": "unpackage/res/icons/87x87.png",
                        "spotlight@2x": "unpackage/res/icons/80x80.png",
                        "spotlight@3x": "unpackage/res/icons/120x120.png"
                    }
                }
            }
        }
    },
    /* 快应用特有相关 */
    "quickapp" : {},
    "quickapp": {},
    /* 小程序特有相关 */
    "mp-weixin" : {
        "appid" : "",
        "setting" : {
            "urlCheck" : false
    "mp-weixin": {
        "appid": "",
        "setting": {
            "urlCheck": false
        },
        "usingComponents" : true
        "usingComponents": true
    },
    "mp-alipay" : {
        "usingComponents" : true
    "mp-alipay": {
        "usingComponents": true
    },
    "mp-baidu" : {
        "usingComponents" : true
    "mp-baidu": {
        "usingComponents": true
    },
    "mp-toutiao" : {
        "usingComponents" : true
    "mp-toutiao": {
        "usingComponents": true
    },
    "uniStatistics" : {
        "enable" : false
    "uniStatistics": {
        "enable": false
    },
    "vueVersion" : "3"
}
    "vueVersion": "3"
}
src/pages/basicData/customerFile/edit.vue
@@ -200,8 +200,8 @@
  };
  const customerTypeActions = [
    { name: "零售客户", value: "零售客户" },
    { name: "经销商客户", value: "经销商客户" },
    { name: "三大油", value: "三大油" },
    { name: "外销", value: "外销" },
  ];
  const pageTitle = computed(() =>
src/pages/basicData/customerFile/index.vue
@@ -104,8 +104,8 @@
  const tabList = reactive([
    { name: "全部客户", value: "" },
    { name: "零售客户", value: "零售客户" },
    { name: "经销商客户", value: "经销商客户" },
    { name: "三大油", value: "三大油" },
    { name: "外销", value: "外销" },
  ]);
  const tabValue = ref(0);
src/pages/basicData/supplierManage/edit.vue
@@ -21,6 +21,9 @@
        <up-form-item label="账号" prop="bankAccountNum" required>
          <up-input v-model="form.bankAccountNum" placeholder="请输入" clearable />
        </up-form-item>
        <up-form-item label="银联行号" prop="bankCode">
          <up-input v-model="form.bankCode" placeholder="请输入" clearable />
        </up-form-item>
        <up-form-item label="联系人" prop="contactUserName">
          <up-input v-model="form.contactUserName" placeholder="请输入" clearable />
        </up-form-item>
@@ -91,6 +94,7 @@
    companyPhone: "",
    bankAccountName: "",
    bankAccountNum: "",
    bankCode: "",
    contactUserName: "",
    contactUserPhone: "",
    maintainUserId: "",
src/pages/basicData/supplierManage/index.vue
@@ -60,6 +60,10 @@
              <text class="detail-value">{{ item.contactUserPhone || "-" }}</text>
            </view>
            <view class="detail-row">
              <text class="detail-label">银联行号</text>
              <text class="detail-value">{{ item.bankCode || "-" }}</text>
            </view>
            <view class="detail-row">
              <text class="detail-label">维护人</text>
              <text class="detail-value">{{ item.maintainUserName || "-" }}</text>
            </view>
src/pages/cooperativeOffice/clientVisit/index.vue
@@ -83,12 +83,12 @@
                      @click="editVisit(item)">
              编辑
            </u-button>
            <!-- <u-button type="error"
            <u-button type="error"
                      size="small"
                      class="action-btn"
                      @click="deleteVisit(item)">
              删除
            </u-button> -->
            </u-button>
          </view>
        </view>
      </view>
src/pages/procurementManagement/procurementLedger/detail.vue
@@ -710,7 +710,7 @@
    showInvoiceTypePicker.value = false;
  };
  // 格式化函数 - 固定两位小数
  // 金额固定两位小数,采购数量保留三位小数
  const formatTaxPrice = idx => {
    if (productData.value[idx].taxInclusiveUnitPrice) {
      const value = parseFloat(productData.value[idx].taxInclusiveUnitPrice);
@@ -755,7 +755,7 @@
    if (productData.value[idx].quantity) {
      const value = parseFloat(productData.value[idx].quantity);
      if (!isNaN(value)) {
        productData.value[idx].quantity = value.toFixed(2);
        productData.value[idx].quantity = value.toFixed(3);
      }
    }
    if (!productData.value[currentProductIndex.value].taxRate) {
@@ -1500,4 +1500,4 @@
    color: #3b82f6;
    font-size: 14px;
  }
</style>
</style>
src/pages/productionManagement/productionReporting/ledger.vue
@@ -94,11 +94,6 @@
                             plain
                             text="查看投入"
                             @click="handleShowInput(item)"></up-button>
                  <up-button type="info"
                             size="small"
                             plain
                             text="参数详情"
                             @click="handleShowParams(item)"></up-button>
                  <!-- <up-button type="error"
                             size="small"
                             plain
@@ -151,24 +146,6 @@
                  text="暂无投入数据" />
      </view>
    </up-modal>
    <!-- 参数详情弹窗 -->
    <up-modal :show="paramsVisible"
              title="参数详情"
              @confirm="paramsVisible = false">
      <view class="modal-content">
        <view v-if="currentParams.length > 0">
          <view v-for="(param, idx) in currentParams"
                :key="idx"
                class="detail-row">
            <text class="detail-label">{{ param.paramName }}</text>
            <text class="detail-value">{{ param.inputValue }} {{ param.unit && param.unit !== '/' ? '(' + param.unit + ')' : '' }}</text>
          </view>
        </view>
        <up-empty v-else
                  mode="data"
                  text="暂无参数数据" />
      </view>
    </up-modal>
  </view>
</template>
@@ -201,9 +178,6 @@
  const inputVisible = ref(false);
  const inputList = ref([]);
  // 参数详情相关
  const paramsVisible = ref(false);
  const currentParams = ref([]);
  const goBack = () => {
    uni.navigateBack();
@@ -275,11 +249,6 @@
        modal.closeLoading();
        modal.msgError("加载投入数据失败");
      });
  };
  const handleShowParams = item => {
    currentParams.value = item.productionOperationParamList || [];
    paramsVisible.value = true;
  };
  const handleDelete = item => {
src/pages/sales/salesAccount/goOut.vue
@@ -49,6 +49,11 @@
                        clearable />
            </up-form-item>
          </block>
          <up-form-item label="发货地址" prop="shippingAddress">
            <up-input v-model="form.shippingAddress"
                      placeholder="请输入发货地址"
                      clearable />
          </up-form-item>
        </u-cell-group>
        <!-- 批次选择 -->
        <u-cell-group title="批次选择"
@@ -133,6 +138,7 @@
    shippingCarNumber: "",
    expressCompany: "",
    expressNumber: "",
    shippingAddress: "",
  });
  const rules = {
@@ -334,6 +340,7 @@
      shippingCarNumber: form.type === "货车" ? form.shippingCarNumber : "",
      expressCompany: form.type === "快递" ? form.expressCompany : "",
      expressNumber: form.type === "快递" ? form.expressNumber : "",
      shippingAddress: form.shippingAddress,
      storageBlobDTOs: fileList.value
        .filter(f => f.status === "success")
        .map(f => f.storageBlobDTO),
src/pages/sales/salesAccount/out.vue
@@ -90,6 +90,10 @@
            <text class="detail-value">{{ item.shippingDate || '-' }}</text>
          </view>
          <view class="detail-row">
            <text class="detail-label">发货地址</text>
            <text class="detail-value">{{ item.shippingAddress || '-' }}</text>
          </view>
          <view class="detail-row">
            <text class="detail-label">数量</text>
            <text class="detail-value">{{ item.quantity }}</text>
          </view>
src/pages/sales/salesQuotation/edit.vue
@@ -199,7 +199,7 @@
  import { onLoad } from "@dcloudio/uni-app";
  import FooterButtons from "@/components/FooterButtons.vue";
  import PageHeader from "@/components/PageHeader.vue";
  import { formatDateToYMD } from "@/utils/ruoyi";
  import { formatDateToYMD, parseTime } from "@/utils/ruoyi";
  import { modelList, productTreeList } from "@/api/basicData/product";
  import { userListNoPageByTenantId } from "@/api/system/user";
  import {
@@ -549,6 +549,7 @@
    const payload = {
      ...form.value,
      ...(!quotationId.value ? { createTime: parseTime(new Date()) } : {}),
      products: form.value.products.map(item => ({
        productId: item.productId,
        product: item.product,