Browse Source

Merge branch 'develop_temp31' of http://git.chelingzhu.com/jianguan-web/qpls-md-html into develop_yh31

# Conflicts:
#	public/version.json
lilei 1 năm trước cách đây
mục cha
commit
a22aaa53bb

+ 1 - 1
public/version.json

@@ -1,5 +1,5 @@
 {
   "message": "发现有新版本发布,确定更新系统?",
   "vendorJsVersion": "",
-  "version": 1704158925510
+  "version": 1704782231947
 }

+ 26 - 10
src/views/numsGoodsShelves/approveStore/authPass.vue

@@ -142,19 +142,30 @@
                 <template slot="label">
                   <a-tooltip placement="top">
                     <template slot="title">
-                      1、不勾选则不显示价格,非货架产品只显示车主价,不选择车主价时,非货架产品不显示价格<br>
-                      2、结算价:即易码通进货价
+                     不勾选则不显示价格,结算价:即易码通进货价。
                     </template>
                     价格权限设置<a-icon type="question-circle" style="color: rgba(0,0,0,.65);font-size: 16px;margin-left: 2px;vertical-align: sub;cursor: pointer;" />
                   </a-tooltip>
                 </template>
                 <a-checkbox-group v-model="showPrice">
-                  <a-checkbox value="shelf_price_show">
-                    车主价
-                  </a-checkbox>
-                  <a-checkbox value="shelf_cost_show">
-                    结算价
-                  </a-checkbox>
+                  <div style="display: flex;padding:10px 0;">
+                    <div style="width: 80px;font-weight: bold;">货架产品:</div>
+                    <a-checkbox value="shelf_price_show">
+                      车主价
+                    </a-checkbox>
+                    <a-checkbox value="shelf_cost_show">
+                      结算价
+                    </a-checkbox>
+                  </div>
+                  <div style="display: flex;padding:10px 0;">
+                    <div style="width: 80px;font-weight: bold;">非货架产品:</div>
+                    <a-checkbox value="non_shelf_price_show">
+                      车主价
+                    </a-checkbox>
+                    <a-checkbox value="non_shelf_cost_show">
+                      结算价
+                    </a-checkbox>
+                  </div>
                 </a-checkbox-group>
               </a-form-model-item>
             </a-col>
@@ -206,7 +217,7 @@ export default {
         applySn: undefined,
         auditStatus: 'PASS' // 通过
       },
-      showPrice:['shelf_price_show'], // 价格显示
+      showPrice:['shelf_price_show','non_shelf_price_show'], // 价格显示
       rules: {
         storeImage: [{ required: true, message: '请上传门头照片', trigger: 'change' }],
         storeName: [{ required: true, message: '请输入门店名称', trigger: 'change' }],
@@ -294,7 +305,12 @@ export default {
         if (res.status == 200) {
           const shelfSn = res.data.shelfSn
           // 更新价格显示设置
-          const priceStr = [{paramCode: 'shelf_price_show',paramValue:0},{paramCode: 'shelf_cost_show',paramValue:0}]
+          const priceStr = [
+            {paramCode: 'shelf_price_show',paramValue:0},
+            {paramCode: 'shelf_cost_show',paramValue:0},
+            {paramCode: 'non_shelf_price_show',paramValue:0},
+            {paramCode: 'non_shelf_cost_show',paramValue:0}
+            ]
           priceStr.map(item => {
              item.paramValue = _this.showPrice.includes(item.paramCode) ? 1 : 0
           })

+ 4 - 3
src/views/numsGoodsShelves/approveStore/list.vue

@@ -109,12 +109,13 @@ export default {
         { title: '联系人手机', dataIndex: 'contactPhone', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '联系人姓名', dataIndex: 'contactName', width: '6%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '门店名称', dataIndex: 'storeName', width: '15%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '门店地址', dataIndex: 'addrDetail', width: '22%', align: 'center', scopedSlots: { customRender: 'addr' } },
+        { title: '门店地址', dataIndex: 'addrDetail', width: '20%', align: 'center', scopedSlots: { customRender: 'addr' } },
         { title: '门头照片', dataIndex: 'storeImage', width: '6%', align: 'center', scopedSlots: { customRender: 'imageUrl' } },
         { title: '营业执照', dataIndex: 'licenseImage', width: '6%', align: 'center', scopedSlots: { customRender: 'imageUrl' } },
         { title: '审核状态', dataIndex: 'auditStatusDictValue', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '价格权限设置', dataIndex: 'priceShowName', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '操作', scopedSlots: { customRender: 'action' }, width: '8%', align: 'center' }
+        { title: '货架产品', dataIndex: 'priceShowName', width: '6%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '非货架产品', dataIndex: 'nonShelfPriceShowName', width: '6%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '操作', scopedSlots: { customRender: 'action' }, width: '6%', align: 'center' }
       ],
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {

+ 2 - 2
src/views/numsGoodsShelves/shelfMonitoring/list.vue

@@ -96,7 +96,7 @@
       </div>
       <!-- 未选择合作商 -->
       <div class="unChoose" v-show="!isSearch">
-        <a-icon type="exclamation-circle" theme="filled" :style="{ fontSize: '18px', color: '#ff9900', verticalAlign: 'sub', marginRight: '5px' }" />
+        <a-icon type="exclamation-circle" style="{ fontSize: '18px', color: '#ff9900', verticalAlign: 'sub', marginRight: '5px' }" />
         <span>请选择一个货架后点击查询按钮</span>
       </div>
       <div v-show="isSearch">
@@ -136,7 +136,7 @@
                 <div v-if="record.replenishBillData">{{ record.replenishBillData.join(',') }}</div>
               </template>
               {{ record.stateDictValue }}
-              <a-icon type="exclamation-circle" theme="filled" style="color: #39f;font-size: 16px;margin-left: 5px;vertical-align: middle;cursor: pointer;" />
+              <a-icon type="exclamation-circle" style="color: #39f;font-size: 16px;margin-left: 5px;vertical-align: middle;cursor: pointer;" />
             </a-tooltip>
             <span v-else>{{ record.stateDictValue }}</span>
           </template>

+ 19 - 8
src/views/numsGoodsShelves/shelfSet/basicInfoModal.vue

@@ -35,19 +35,30 @@
           <template slot="label">
             <a-tooltip placement="top">
               <template slot="title">
-                1、不勾选则不显示价格,非货架产品只显示车主价,不选择车主价时,非货架产品不显示价格<br>
-                2、结算价:即易码通进货价
+                不勾选则不显示价格,结算价:即易码通进货价。
               </template>
               价格权限设置<a-icon type="question-circle" style="color: rgba(0,0,0,.65);font-size: 16px;margin-left: 2px;vertical-align: sub;cursor: pointer;" />
             </a-tooltip>
           </template>
           <a-checkbox-group v-model="form.showPrice">
-            <a-checkbox value="shelf_price_show">
-              车主价
-            </a-checkbox>
-            <a-checkbox value="shelf_cost_show">
-              结算价
-            </a-checkbox>
+            <div style="display: flex;padding:10px 0;">
+              <div style="width: 80px;font-weight: bold;">货架产品:</div>
+              <a-checkbox value="shelf_price_show">
+                车主价
+              </a-checkbox>
+              <a-checkbox value="shelf_cost_show">
+                结算价
+              </a-checkbox>
+            </div>
+            <div style="display: flex;padding:10px 0;">
+              <div style="width: 80px;font-weight: bold;">非货架产品:</div>
+              <a-checkbox value="non_shelf_price_show">
+                车主价
+              </a-checkbox>
+              <a-checkbox value="non_shelf_cost_show">
+                结算价
+              </a-checkbox>
+            </div>
           </a-checkbox-group>
         </a-form-model-item>
       </a-form-model>

+ 19 - 11
src/views/numsGoodsShelves/shelfSet/set.vue

@@ -15,8 +15,14 @@
               <span>基础信息</span>
               <a-button icon="edit" size="small" type="link" style="margin-left: 20px;color: #39f;" @click.stop="openInfoModal = true">编辑</a-button>
             </template>
-            <a-descriptions :column="3">
+            <a-descriptions :column="2">
               <a-descriptions-item label="货架名称">{{ basicInfoData&&basicInfoData.shelfName || '--' }}</a-descriptions-item>
+              <a-descriptions-item>
+                <template slot="label">
+                    货架产品 
+                </template>
+                <span>{{showPriceStr.length ? showPriceStr.join("/") : '--'}}</span>
+              </a-descriptions-item>
               <a-descriptions-item>
                 <template slot="label">
                   <a-tooltip placement="top">
@@ -30,15 +36,9 @@
               </a-descriptions-item>
               <a-descriptions-item>
                 <template slot="label">
-                  <a-tooltip placement="top">
-                    <template slot="title">
-                      1、不勾选则不显示价格,非货架产品只显示车主价,不选择车主价时,非货架产品不显示价格<br>
-                      2、结算价:即易码通进货价
-                    </template>
-                    价格权限设置<a-icon type="question-circle" style="color: rgba(0,0,0,.65);font-size: 16px;margin-left: 2px;vertical-align: sub;cursor: pointer;" />
-                  </a-tooltip>
+                    非货架产品
                 </template>
-                <span>{{showPriceStr.length ? showPriceStr.join("/") : '--'}}</span>
+                <span>{{showNoShelfPriceStr.length ? showNoShelfPriceStr.join("/") : '--'}}</span>
               </a-descriptions-item>
             </a-descriptions>
           </a-collapse-panel>
@@ -77,7 +77,7 @@
             <template slot="title">
               <span>如果货位还没有绑定产品,可使用此功能通过Excel批量导入</span>
             </template>
-            <a-icon type="question-circle" theme="filled" style="color: rgba(0,0,0,.45);font-size: 16px;margin-left: 5px;vertical-align: middle;cursor: pointer;" />
+            <a-icon type="question-circle" style="color: rgba(0,0,0,.45);font-size: 16px;margin-left: 5px;vertical-align: middle;cursor: pointer;" />
           </a-tooltip>
         </div>
         <!-- 列表 -->
@@ -228,13 +228,15 @@ export default {
       openInfoModal: false,
       openHwModal: false,
       openImportModal: false,
-      showPriceStr: []
+      showPriceStr: [],
+      showNoShelfPriceStr: []
     }
   },
   methods: {
     // 获取价格显示设置
     getShelfPriceShow () {
       this.showPriceStr = []
+      this.showNoShelfPriceStr = []
       getShelfPriceShow({ shelfSn: this.$route.params.sn }).then(res => {
         if (res.status == 200) {
           const ret = res.data&&res.data
@@ -246,6 +248,12 @@ export default {
             if(item.paramCode == 'shelf_cost_show'&&item.paramValue == 1){
               this.showPriceStr.push("结算价")
             }
+            if(item.paramCode == 'non_shelf_price_show'&&item.paramValue == 1){
+              this.showNoShelfPriceStr.push("车主价")
+            }
+            if(item.paramCode == 'non_shelf_cost_show'&&item.paramValue == 1){
+              this.showNoShelfPriceStr.push("结算价")
+            }
           })
         }
       })

+ 1 - 1
src/views/numsGoodsShelves/vinAnalysis/spList.vue

@@ -93,7 +93,7 @@
       </s-table>
     </div>
     <div class="unChoose" v-show="!isSearchFlag">
-      <a-icon type="exclamation-circle" theme="filled" :style="{ fontSize: '18px', color: '#ff9900', verticalAlign: 'sub', marginRight: '5px' }" />
+      <a-icon type="exclamation-circle" :style="{ fontSize: '18px', color: '#ff9900', verticalAlign: 'sub', marginRight: '5px' }" />
       <span>请选择一个货架后点击查询按钮</span>
     </div>
     </div>

+ 1 - 1
src/views/numsGoodsShelves/vinAnalysis/vinList.vue

@@ -102,7 +102,7 @@
       </s-table>
     </div>
     <div class="unChoose" v-show="!isSearch">
-      <a-icon type="exclamation-circle" theme="filled" :style="{ fontSize: '18px', color: '#ff9900', verticalAlign: 'sub', marginRight: '5px' }" />
+      <a-icon type="exclamation-circle" :style="{ fontSize: '18px', color: '#ff9900', verticalAlign: 'sub', marginRight: '5px' }" />
       <span>请选择一个货架后点击查询按钮</span>
     </div>
     <!-- 详情 -->

+ 1 - 1
src/views/salesManagement/salesQuery/queryPart.vue

@@ -89,7 +89,7 @@
       </a-form-model>
     </div>
     <a-alert type="error" style="margin-bottom: 10px;" v-if="vinInfoData&&!vinInfoData.vinInfo">
-      <template slot="message"><a-icon type="exclamation-circle" theme="filled" :style="{ color: '#E70012', fontSize: '15px', verticalAlign: 'sub', marginRight: '3px' }" />抱歉!暂未找到匹配VIN码的车型!</template>
+      <template slot="message"><a-icon type="exclamation-circle" :style="{ color: '#E70012', fontSize: '15px', verticalAlign: 'sub', marginRight: '3px' }" />抱歉!暂未找到匹配VIN码的车型!</template>
     </a-alert>
     <a-alert type="warning" style="margin-bottom: 10px;cursor: pointer;" v-if="vinInfoData&&vinInfoData.vinInfo" @click="openCarInfoModal=true">
       <template slot="message">

+ 1 - 1
src/views/salesManagement/salesQueryNew/chooseProductModal.vue

@@ -91,7 +91,7 @@
       <div v-if="hasVaild&&showTable" class="vinInfo-box">
         <div>
           <div class="vinInfo-error" v-if="vinInfoData&&!vinInfoData.vinInfo">
-            <a-icon type="exclamation-circle" theme="filled" :style="{ color: '#E70012', fontSize: '15px', verticalAlign: 'sub', marginRight: '3px' }" />抱歉!暂未找到匹配VIN码的车型!
+            <a-icon type="exclamation-circle" :style="{ color: '#E70012', fontSize: '15px', verticalAlign: 'sub', marginRight: '3px' }" />抱歉!暂未找到匹配VIN码的车型!
           </div>
           <div v-if="vinInfoData&&vinInfoData.vinInfo" @click="openCarInfoModal=true">
             <div style="display: flex;justify-content: space-between;align-items: center;" @click="openCarInfoModal=true">

+ 21 - 21
vue.config.js

@@ -23,12 +23,12 @@ function isProd () {
 }
 
 // 项目部署基础
-// 默认情况下,我们假设你的应用将被部署在域的根目录丄1�7
+// 默认情况下,我们假设你的应用将被部署在域的根目录丄1�7
 // 例如:https://www.my-app.com/
-// 默认$1�7/'
+// 默认$1�7/'
 // 如果您的应用程序部署在子路径中,则需要在这指定子路径
 // 例如:https://www.foobar.com/my-app/
-// 霄1�7要将它改丄1�7/my-app/'
+// 霄1�7要将它改丄1�7/my-app/'
 const BASE_URL = isProd ? '/' : '/'
 const assetsCDN = {
   css: [],
@@ -59,14 +59,14 @@ const prodExternals = {
 
 // vue.config.js
 const vueConfig = {
-  runtimeCompiler: true, // 动��1�7�编译组仄1�7
+  runtimeCompiler: true, // 动��1�7�编译组仄1�7
   publicPath: BASE_URL,
   configureWebpack: {
     optimization: isProd() ? {
       minimize: true,
       minimizer: [new TerserPlugin({
-        test: /\.js(\?.*)?$/i, // 匹配参与压缩的文仄1�7
-        parallel: true, // 使用多进程并发运衄1�7
+        test: /\.js(\?.*)?$/i, // 匹配参与压缩的文仄1�7
+        parallel: true, // 使用多进程并发运衄1�7
         terserOptions: { // Terser 压缩配置
           output: { comments: false },
           compress: {// console删除
@@ -81,15 +81,15 @@ const vueConfig = {
       // Ignore all locale files of moment.js
       new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
       new compressionWebpackPlugin({
-        // [file] 会被替换成原始资源��1�7�[path] 会被替换成原始资源的路径$1�7[query] 会被替换成查询字符串。默认��1�7�是 "[path].gz[query]"〄1�7
+        // [file] 会被替换成原始资源��1�7�[path] 会被替换成原始资源的路径$1�7[query] 会被替换成查询字符串。默认��1�7�是 "[path].gz[query]"〄1�7
         filename: '[path].gz[query]', // 提示compression-webpack-plugin@3.0.0的话asset改为filename
-        // 可以昄1�7function(buf, callback) 或��1�7�字符串。对于字符串来说依照 zlib 的算泄1�7或��1�7�1�7zopfli 的算泄1�7。默认��1�7�是 "gzip"〄1�7
+        // 可以昄1�7function(buf, callback) 或��1�7�字符串。对于字符串来说依照 zlib 的算泄1�7或��1�7�1�7zopfli 的算泄1�7。默认��1�7�是 "gzip"〄1�7
         algorithm: 'gzip',
-        // 扄1�7有匹配该正则的资源都会被处理。默认��1�7�是全部资源〄1�7
+        // 扄1�7有匹配该正则的资源都会被处理。默认��1�7�是全部资源〄1�7
         test: new RegExp('\\.(' + ['js', 'css'].join('|') + ')$'),
-        // 只有大小大于该��1�7�的资源会被处理。单位是 bytes。默认��1�7�是 0〄1�7
+        // 只有大小大于该��1�7�的资源会被处理。单位是 bytes。默认��1�7�是 0〄1�7
         threshold: 10240,
-        // 只有压缩率小于这个��1�7�的资源才会被处理��1�7�默认��1�7�是 0.8〄1�7
+        // 只有压缩率小于这个��1�7�的资源才会被处理��1�7�默认��1�7�是 0.8〄1�7
         minRatio: 0.8
       }),
       new WebpackVersionPlugin({
@@ -136,16 +136,16 @@ const vueConfig = {
 
     config.optimization && config.optimization.splitChunks({
       // 拆包配置
-      chunks: 'all', // 三��1�7�一$1�7initial" 初始化,"all"(默认就是all)$1�7async"(动态加载)
-      minSize: 30000, // 形成丄1�7个新代码块最小的体积,只有 >= minSize 的bundle会被拆分出来 30000
-      maxSize: 0, // 拆分之前朄1�7大的数��1�7�,默认丄1�7�即不做限制
-      minChunks: 1, // 引入次数,如果为2 那么丄1�7个资源最少被引用两次才可以被拆分出来
+      chunks: 'all', // 三��1�7�一$1�7initial" 初始化,"all"(默认就是all)$1�7async"(动态加载)
+      minSize: 30000, // 形成丄1�7个新代码块最小的体积,只有 >= minSize 的bundle会被拆分出来 30000
+      maxSize: 0, // 拆分之前朄1�7大的数��1�7�,默认丄1�7�即不做限制
+      minChunks: 1, // 引入次数,如果为2 那么丄1�7个资源最少被引用两次才可以被拆分出来
       maxAsyncRequests: 5, // 按需加载的最大并行请求数
-      maxInitialRequests: 4, // 丄1�7个入口最大并行请求数
-      automaticNameDelimiter: '~', // 文件名的连接笄1�7
+      maxInitialRequests: 4, // 丄1�7个入口最大并行请求数
+      automaticNameDelimiter: '~', // 文件名的连接笄1�7
       name: true,
       cacheGroups: {
-        // node_modules模块匄1�7
+        // node_modules模块匄1�7
         vendors: {
           test: /[\\/]node_modules[\\/]/,
           name: 'chunk-vendors',
@@ -156,7 +156,7 @@ const vueConfig = {
           chunks: 'all',
           priority: -10
         },
-        // UI库单独拆匄1�7
+        // UI库单独拆匄1�7
         antDesign: {
           name: 'chunk-antDesign',
           priority: 19, //  the weight needs to be larger than libs and app or it will be packaged into libs or app
@@ -171,7 +171,7 @@ const vueConfig = {
         common: {
           name: 'chunk-common',
           minChunks: 2,
-          maxSize: 1024, // 拆分之前朄1�7大的数��1�7�,默认丄1�7�即不做限制
+          maxSize: 1024, // 拆分之前朄1�7大的数��1�7�,默认丄1�7�即不做限制
           priority: -20,
           reuseExistingChunk: true
         }
@@ -209,7 +209,7 @@ const vueConfig = {
     // If you want to turn on the proxy, please remove the mockjs /src/main.jsL11
     proxy: {
       '/api': {
-        // target: 'http://192.168.2.103/qpls-md',
+        // target: 'http://192.168.2.103:8503/qpls-md',
         target: 'https://p.iscm.360arrow.com/qpls-md',
         // ws: false,
         ws: true,