Andy 4 anos atrás
pai
commit
c5e0519250

+ 195 - 150
src/components/header/index.vue

@@ -2,12 +2,14 @@
   <div class="header">
     <div class="content">
       <div class="content_left">
-        <img :src="$store.state.ip+'/api/pic/16038707135247'"
-             alt="">
+        <img :src="$store.state.ip + '/api/pic/16038707135247'" alt="" />
         <span class="title">
-          <span v-for="item in menuList"
-                @click="handleTitleClick(item)"
-                :key="item.id">{{item.title}}</span>
+          <span
+            v-for="item in menuList"
+            @click="handleTitleClick(item)"
+            :key="item.id"
+            >{{ item.title }}</span
+          >
         </span>
       </div>
       <div class="header-right">
@@ -16,105 +18,135 @@
         <Icon type="ios-search"
               slot="suffix" />
         </Input> -->
-        <Dropdown @on-click='dropClick'>
-          <Avatar style="margin-right:10px;"
-                  src="https://i.loli.net/2017/08/21/599a521472424.jpg" />
+        <Dropdown @on-click="dropClick">
+          <Avatar
+            style="margin-right:10px;"
+            src="https://i.loli.net/2017/08/21/599a521472424.jpg"
+          />
           <DropdownMenu slot="list">
-            <DropdownItem :name='1'>修改密码</DropdownItem>
-            <DropdownItem :name='3'>修改个人信息</DropdownItem>
+            <DropdownItem :name="1">修改密码</DropdownItem>
+            <DropdownItem :name="3">修改个人信息</DropdownItem>
             <DropdownItem :name="2">退出登录</DropdownItem>
           </DropdownMenu>
         </Dropdown>
-        <label style="margin-right:20px;">{{userInfo.nickname}}</label>
-        <Divider type="vertical"
-                 style="margin-right:20px;" />
-        <Badge style="margin-right:20px;cursor:pointer"
-               :count="noticeNum">
-          <Icon @click="goNotice"
-                type="ios-notifications-outline"
-                size="26"></Icon>
+        <label style="margin-right:20px;">{{ userInfo.nickname }}</label>
+        <Divider type="vertical" style="margin-right:20px;" />
+        <Badge style="margin-right:20px;cursor:pointer" :count="noticeNum">
+          <Icon
+            @click="goNotice"
+            type="ios-notifications-outline"
+            size="26"
+          ></Icon>
         </Badge>
-        <Dropdown trigger="custom"
-                  :visible="visible"
-                  placement="bottom-start"
-                  @on-clickoutside='clickoutside'>
-          <Icon size='26'
-                type="ios-cloud-download-outline"
-                @click="visible = true" />
-          <DropdownMenu slot="list"
-                        style="width:300px;">
+        <Dropdown
+          trigger="custom"
+          :visible="visible"
+          placement="bottom-start"
+          @on-clickoutside="clickoutside"
+        >
+          <Icon
+            size="26"
+            type="ios-cloud-download-outline"
+            @click="visible = true"
+          />
+          <DropdownMenu slot="list" style="width:300px;">
             <div style="color:#333;padding-left:15px;">模板下载</div>
-            <DropdownItem v-for="item of template_list"
-                          :key="item.id">
-              <div class='drop-dowan-item'>
-                <span>{{item.title}}</span>
-                <Icon @click="downLoadTemlate(item)"
-                      size='20'
-                      type="md-download" />
+            <DropdownItem v-for="item of template_list" :key="item.id">
+              <div class="drop-dowan-item">
+                <span>{{ item.title }}</span>
+                <Icon
+                  @click="downLoadTemlate(item)"
+                  size="20"
+                  type="md-download"
+                />
               </div>
             </DropdownItem>
-            <div style="text-align: right;margin:10px;border-top:1px solid #F4F4F4;padding-top:10px;">
-              <Button style="text-align: right"
-                      type="primary"
-                      size='small'
-                      @click="visible = false">关闭</Button>
+            <div
+              style="text-align: right;margin:10px;border-top:1px solid #F4F4F4;padding-top:10px;"
+            >
+              <Button
+                style="text-align: right"
+                type="primary"
+                size="small"
+                @click="visible = false"
+                >关闭</Button
+              >
             </div>
           </DropdownMenu>
         </Dropdown>
       </div>
     </div>
-    <Modal class-name="vertical-center-modal"
-           v-model="replacePassword"
-           title='修改密码'
-           :width="300"
-           @on-visible-change="changePass">
-      <Form ref='passwordInfo'
-            :model="passwordInfo"
-            :rules='rules'
-            :label-width="80">
-        <FormItem label='原始密码'
-                  prop='old_password'>
-          <Input type="password"
-                 v-model="passwordInfo.old_password"
-                 placeholder="请输入原始密码"></Input>
+    <Modal
+      class-name="vertical-center-modal"
+      v-model="replacePassword"
+      title="修改密码"
+      :width="300"
+      @on-visible-change="changePass"
+    >
+      <Form
+        ref="passwordInfo"
+        :model="passwordInfo"
+        :rules="rules"
+        :label-width="80"
+      >
+        <FormItem label="原始密码" prop="old_password">
+          <Input
+            type="password"
+            v-model="passwordInfo.old_password"
+            placeholder="请输入原始密码"
+          ></Input>
         </FormItem>
-        <FormItem label='新密码'
-                  prop='new_password'>
-          <Input type="password"
-                 v-model="passwordInfo.new_password"
-                 placeholder="请输入新密码"></Input>
+        <FormItem label="新密码" prop="new_password">
+          <Input
+            type="password"
+            v-model="passwordInfo.new_password"
+            placeholder="请输入新密码"
+          ></Input>
         </FormItem>
-        <FormItem label='确认密码'
-                  prop='verify_password'>
-          <Input type="password"
-                 v-model="passwordInfo.verify_password"
-                 placeholder="确认密码"></Input>
+        <FormItem label="确认密码" prop="verify_password">
+          <Input
+            type="password"
+            v-model="passwordInfo.verify_password"
+            placeholder="确认密码"
+          ></Input>
         </FormItem>
       </Form>
-      <div slot="footer"
-           class="footer-modal">
+      <div slot="footer" class="footer-modal">
         <Button>取消</Button>
-        <Button type="primary"
-                @click="replace_password('passwordInfo')">保存</Button>
+        <Button type="primary" @click="replace_password('passwordInfo')"
+          >保存</Button
+        >
       </div>
     </Modal>
-    <Modal class-name="vertical-center-modal"
-           v-model="showUserInfo"
-           title='修改个人信息'
-           @on-ok="replaceUserInfo">
+    <Modal
+      class-name="vertical-center-modal"
+      v-model="showUserInfo"
+      title="修改个人信息"
+      @on-ok="replaceUserInfo"
+    >
       <Form :label-width="70">
         <FormItem label="修改头像">
-          <Upload :show-upload-list='false'
-                  :headers='headers'
-                  :on-success='uploadSuccess'
-                  :action="$store.state.ip+'/api/upload_pic'">
+          <Upload
+            :show-upload-list="false"
+            :headers="headers"
+            :on-success="uploadSuccess"
+            :action="$store.state.ip + '/api/upload_pic'"
+          >
             <div class="upload-avatar">
-              <Icon v-if="!info.avatar"
-                    size='30'
-                    type="ios-cloud-upload-outline" />
-              <img v-if="info.avatar||userInfo.avatar"
-                   :src="info.avatar ? $store.state.ip+info.avatar : $store.state.ip+userInfo.avatar"
-                   alt="">
+              <Icon
+                v-if="!info.avatar"
+                size="30"
+                type="ios-cloud-upload-outline"
+              />
+              <img
+                v-if="info.avatar || userInfo.avatar"
+                :src="
+                  info.avatar
+                    ? $store.state.ip + info.avatar
+                    : $store.state.ip + userInfo.avatar
+                "
+                alt=""
+              />
             </div>
           </Upload>
         </FormItem>
@@ -127,126 +159,139 @@
 </template>
 
 <script>
-import { mapState, mapMutations, mapActions } from 'vuex'
+import { mapState, mapMutations, mapActions } from "vuex";
 export default {
-  data () {
+  data() {
     return {
       replacePassword: false,
       passwordInfo: {
-        old_password: '',
-        new_password: '',
-        verify_password: '',
+        old_password: "",
+        new_password: "",
+        verify_password: "",
       },
       rules: {
         old_password: [
-          { required: true, message: '请输入原始密码', trigger: 'blur' }
+          { required: true, message: "请输入原始密码", trigger: "blur" },
         ],
         new_password: [
-          { required: true, message: '请输入新密码', trigger: 'blur' }
+          { required: true, message: "请输入新密码", trigger: "blur" },
         ],
         verify_password: [
-          { required: true, message: '确认密码', trigger: 'blur' }
+          { required: true, message: "确认密码", trigger: "blur" },
         ],
       },
       showUserInfo: false,
       info: {
-        nickname: '',
-        avatar: '',
+        nickname: "",
+        avatar: "",
       },
-      headers: { 'Authorization': localStorage.getItem('token') },
+      headers: { Authorization: localStorage.getItem("token") },
       visible: false,
       template_list: [],
       menuList: [],
-    }
+    };
   },
-  created () {
-    this.axios({ method: 'get', url: '/api/menu', }).then((res) => { this.menuList = res.data })
-    this.saveUser()
+  created() {
+    this.axios({ method: "get", url: "/api/menu" }).then((res) => {
+      this.menuList = res.data;
+      // this.undata_navData();
+    });
+    this.saveUser();
   },
   computed: {
-    ...mapState(['userInfo', 'noticeNum'])
+    ...mapState(["userInfo", "noticeNum"]),
   },
-  mounted () {
-    this.getTemplateDown_list()
-    this.update_notice()
+  mounted() {
+    this.getTemplateDown_list();
+    this.update_notice();
   },
   methods: {
-    ...mapMutations(['saveUser']),
-    ...mapActions(['update_notice']),
-    loginOut () {
-      this.axios.post('/api/login_out').then(res => {
+    ...mapMutations(["saveUser"]),
+    ...mapActions(["undata_navData"]),
+    ...mapActions(["update_notice"]),
+    loginOut() {
+      this.axios.post("/api/login_out").then((res) => {
         if (res.code == 200) {
-          this.$Message.success(res.msg || '已退出登录');
-          localStorage.removeItem('token')
-          localStorage.removeItem('autoLogin')
-          setTimeout(() => this.$router.push({ name: 'Login' }), 500)
+          this.$Message.success(res.msg || "已退出登录");
+          localStorage.removeItem("token");
+          localStorage.removeItem("autoLogin");
+          setTimeout(() => this.$router.push({ name: "Login" }), 500);
         }
-      })
+      });
     },
-    openPasswordModal () {
+    openPasswordModal() {
       this.replacePassword = true;
     },
-    openUserInfoModal () {
+    openUserInfoModal() {
       this.showUserInfo = true;
     },
-    replaceUserInfo () {
-      this.axios.post('/api/replace_userinfo', this.info).then(res => {
+    replaceUserInfo() {
+      this.axios.post("/api/replace_userinfo", this.info).then((res) => {
         if (res.code == 200) {
-          this.$Message.success(res.msg)//这里可以继续取出缓存更换头像再存入缓存以达到同步更新效果
-          let user = JSON.parse(localStorage.getItem('user_info'));
+          this.$Message.success(res.msg); //这里可以继续取出缓存更换头像再存入缓存以达到同步更新效果
+          let user = JSON.parse(localStorage.getItem("user_info"));
           user.nickname = this.info.nickname;
           user.avatar = this.info.avatar;
-          localStorage.setItem('user_info', JSON.stringify(user))
+          localStorage.setItem("user_info", JSON.stringify(user));
         }
-      })
+      });
     },
-    uploadSuccess (e) {
+    uploadSuccess(e) {
       this.info.avatar = e.data.url;
     },
-    replace_password (name) {
+    replace_password(name) {
       this.$refs[name].validate((valid) => {
         if (valid) {
-          this.axios.post('/api/replace_password', this.passwordInfo).then(res => {
-            if (res.code == 200) {
-              this.$Message.success(res.msg)
-              this.replacePassword = false;
-              localStorage.removeItem('token')
-              setTimeout(() => this.$router.push({ name: 'Login' }), 500)
-            }
-          })
+          this.axios
+            .post("/api/replace_password", this.passwordInfo)
+            .then((res) => {
+              if (res.code == 200) {
+                this.$Message.success(res.msg);
+                this.replacePassword = false;
+                localStorage.removeItem("token");
+                setTimeout(() => this.$router.push({ name: "Login" }), 500);
+              }
+            });
         }
-      })
+      });
     },
-    changePass (e) {
-      !e ? this.passwordInfo = {} : ''
+    changePass(e) {
+      !e ? (this.passwordInfo = {}) : "";
     },
-    dropClick (name) {
-      name == 2 ? this.loginOut() : (name == 1 ? this.openPasswordModal() : (name == 3 ? this.openUserInfoModal() : ''));
+    dropClick(name) {
+      name == 2
+        ? this.loginOut()
+        : name == 1
+        ? this.openPasswordModal()
+        : name == 3
+        ? this.openUserInfoModal()
+        : "";
     },
-    goNotice () {
+    goNotice() {
       this.$router.push({
-        path: '/cms/notice/menote'
-      })
+        path: "/cms/notice/menote",
+      });
     },
-    clickoutside (e) {
-      e && (this.visible = false)
+    clickoutside(e) {
+      e && (this.visible = false);
     },
-    getTemplateDown_list () {
-      this.axios('/api/template_list')
-        .then(res => {
-          res.code == 200 ? (() => {
-            this.template_list = res.data.data;
-          })() : ''
-        })
+    getTemplateDown_list() {
+      this.axios("/api/template_list").then((res) => {
+        res.code == 200
+          ? (() => {
+              this.template_list = res.data.data;
+            })()
+          : "";
+      });
     },
-    downLoadTemlate (row) {
+    downLoadTemlate(row) {
       location.href = row.url;
     },
-    handleTitleClick (e) {
-      this.$emit('handleTitleClick', e)
+    handleTitleClick(e) {
+      this.$emit("handleTitleClick", e);
     },
   },
-}
+};
 </script>
 
 <style lang="scss" scoped>
@@ -265,7 +310,7 @@ export default {
     justify-content: space-between;
     padding: 0 20px;
     color: #fff;
-    .content_left{
+    .content_left {
       display: flex;
       justify-content: flex-start;
     }
@@ -311,4 +356,4 @@ export default {
   justify-content: space-between;
   align-items: center;
 }
-</style>
+</style>

+ 103 - 95
src/components/navgation/index.vue

@@ -1,126 +1,135 @@
 <template>
   <div class="content">
-    <Menu :active-name='activeMenu'
-          :open-names='openMenu'
-          @on-select='menuSelect($event,navgationData)'>
-      <Submenu v-if="!item.page"
-               v-for="(item,index) of navgationData"
-               :key="index"
-               :name="index">
+    <Menu
+      :active-name="activeMenu"
+      :open-names="openMenu"
+      @on-select="menuSelect($event, navgationData)"
+    >
+      <Submenu
+        v-if="!item.page"
+        v-for="(item, index) of navgationData"
+        :key="index"
+        :name="index"
+      >
         <template slot="title">
           <div class="sort">
-            <svg class="icon icon-nav"
-                 aria-hidden="true">
-              <use style="font-size:20px"
-                   :xlink:href="item.icon"></use>
+            <svg class="icon icon-nav" aria-hidden="true">
+              <use style="font-size:20px" :xlink:href="item.icon"></use>
             </svg>
-            <span>{{item.title}}</span>
+            <span>{{ item.title }}</span>
           </div>
         </template>
-        <MenuItem v-if="_item.page"
-                  v-for="(_item,_index) of item.sub"
-                  :key="_index"
-                  :name="index+'-'+_index">
-        <svg class="icon icon-nav"
-             aria-hidden="true">
-          <use style="font-size:20px"
-               :xlink:href="_item.icon"></use>
-        </svg>
-        {{_item.title}}
+        <MenuItem
+          v-if="_item.page"
+          v-for="(_item, _index) of item.sub"
+          :key="_index"
+          :name="index + '-' + _index"
+        >
+          <svg class="icon icon-nav" aria-hidden="true">
+            <use style="font-size:20px" :xlink:href="_item.icon"></use>
+          </svg>
+          {{ _item.title }}
         </MenuItem>
-        <Submenu v-else
-                 :name="index+'-'+_index">
+        <Submenu v-else :name="index + '-' + _index">
           <template slot="title">
-            <svg class="icon icon-nav"
-                 aria-hidden="true">
-              <use style="font-size:20px"
-                   :xlink:href="_item.icon"></use>
+            <svg class="icon icon-nav" aria-hidden="true">
+              <use style="font-size:20px" :xlink:href="_item.icon"></use>
             </svg>
-            {{_item.title}}
+            {{ _item.title }}
           </template>
-          <MenuItem v-if='__item.page'
-                    v-for="(__item,__index) of _item.sub"
-                    :key="__index"
-                    :name="index+'-'+_index+'-'+__index">
-          <svg class="icon icon-nav"
-               aria-hidden="true">
-            <use style="font-size:20px"
-                 :xlink:href="__item.icon"></use>
-          </svg>
-          {{__item.title}}</MenuItem>
+          <MenuItem
+            v-if="__item.page"
+            v-for="(__item, __index) of _item.sub"
+            :key="__index"
+            :name="index + '-' + _index + '-' + __index"
+          >
+            <svg class="icon icon-nav" aria-hidden="true">
+              <use style="font-size:20px" :xlink:href="__item.icon"></use>
+            </svg>
+            {{ __item.title }}</MenuItem
+          >
 
-          <Submenu v-else
-                   :name="index+'-'+_index+'-'+__index">
+          <Submenu v-else :name="index + '-' + _index + '-' + __index">
             <template slot="title">
-              <svg class="icon icon-nav"
-                   aria-hidden="true">
-                <use style="font-size:20px"
-                     :xlink:href="_item.icon"></use>
+              <svg class="icon icon-nav" aria-hidden="true">
+                <use style="font-size:20px" :xlink:href="_item.icon"></use>
               </svg>
-              {{__item.title}}
+              {{ __item.title }}
             </template>
-            <MenuItem v-if="___item.page"
-                      v-for="(___item,___index) of __item.sub"
-                      :key="___index"
-                      :name="index+'-'+_index+'-'+__index+'-'+___index">
-            <svg class="icon icon-nav"
-                 aria-hidden="true">
-              <use style="font-size:20px"
-                   :xlink:href="___item.icon"></use>
-            </svg>
-            {{___item.title}}</MenuItem>
-            <Submenu v-else
-                     :name="index+'-'+_index+'-'+__index+'-'+___index">
+            <MenuItem
+              v-if="___item.page"
+              v-for="(___item, ___index) of __item.sub"
+              :key="___index"
+              :name="index + '-' + _index + '-' + __index + '-' + ___index"
+            >
+              <svg class="icon icon-nav" aria-hidden="true">
+                <use style="font-size:20px" :xlink:href="___item.icon"></use>
+              </svg>
+              {{ ___item.title }}</MenuItem
+            >
+            <Submenu
+              v-else
+              :name="index + '-' + _index + '-' + __index + '-' + ___index"
+            >
               <template slot="title">
-                <svg class="icon icon-nav"
-                     aria-hidden="true">
-                  <use style="font-size:20px"
-                       :xlink:href="item.icon"></use>
+                <svg class="icon icon-nav" aria-hidden="true">
+                  <use style="font-size:20px" :xlink:href="item.icon"></use>
                 </svg>
-                {{___item.title}}
+                {{ ___item.title }}
               </template>
-              <MenuItem v-for="(____item,____index) of ___item.sub"
-                        :key="____index"
-                        :name="index+'-'+_index+'-'+__index+'-'+___index+'-'+____index">{{____item.title}}</MenuItem>
+              <MenuItem
+                v-for="(____item, ____index) of ___item.sub"
+                :key="____index"
+                :name="
+                  index +
+                    '-' +
+                    _index +
+                    '-' +
+                    __index +
+                    '-' +
+                    ___index +
+                    '-' +
+                    ____index
+                "
+                >{{ ____item.title }}</MenuItem
+              >
             </Submenu>
           </Submenu>
         </Submenu>
       </Submenu>
-      <MenuItem v-else="item.page"
-                :name="index">
-      <svg class="icon icon-nav"
-           aria-hidden="true">
-        <use style="font-size:20px"
-             :xlink:href="item.icon"></use>
-      </svg>
-      {{item.title}}
+      <MenuItem v-else="item.page" :name="index">
+        <svg class="icon icon-nav" aria-hidden="true">
+          <use style="font-size:20px" :xlink:href="item.icon"></use>
+        </svg>
+        {{ item.title }}
       </MenuItem>
-
     </Menu>
   </div>
 </template>
 
 <script>
+import { mapActions } from "vuex";
 export default {
   props: {
     navgationData: {
       type: Array,
       default: [],
-    }
+    },
   },
-  data () {
+  data() {
     return {
-      activeMenu: '',
+      activeMenu: "",
       openMenu: [],
-      c: '#icongongyiluxian'
-    }
+      c: "#icongongyiluxian",
+    };
   },
-  created () {
-    if (sessionStorage.getItem('open-menu')) {
-      let open = sessionStorage.getItem('open-menu')
-      this.activeMenu = open
-      let first = parseInt(open[0])
-      this.openMenu.push(first)
+  created() {
+    if (sessionStorage.getItem("open-menu")) {
+      this.undata_side_navData();
+      let open = sessionStorage.getItem("open-menu");
+      this.activeMenu = open;
+      let first = parseInt(open[0]);
+      this.openMenu.push(first);
       // for (open=open.substring(0,open.length-2); 1 < open.length; open=open.substring(0,open.length-2)) {
       //   this.openMenu.unshift(open)
       // }
@@ -128,15 +137,14 @@ export default {
       //   this.openMenu.unshift(parseInt(open))
     }
   },
-  mounted () {
-
-  },
+  mounted() {},
   methods: {
-    menuSelect (name, data) {
-      this.$emit('menuSelect', name, data)
-    }
-  }
-}
+    ...mapActions(["undata_side_navData"]),
+    menuSelect(name, data) {
+      this.$emit("menuSelect", name, data);
+    },
+  },
+};
 </script>
 
 <style lang="scss" scoped>
@@ -152,4 +160,4 @@ export default {
     font-size: 16px;
   }
 }
-</style>
+</style>

+ 0 - 1
src/views/BasicSettings/CustomerProductPrice/list.vue

@@ -116,7 +116,6 @@ export default {
         // },
         { title: "操作", key: "", align: "center", slot: "set", width: 300 },
       ],
-      tableData: [],
       type: null,
       userList: [],
       overStandardList: [],

+ 2 - 2
src/views/BasicSettings/Process.vue

@@ -152,7 +152,7 @@ export default {
         if (res.code == 200) {
           this.$Message.success(res.msg)
           this.getData(this.searchObj)
-          this.undata_navData()
+          // this.undata_navData()
         }
       })
     },
@@ -185,7 +185,7 @@ export default {
             if (res.code == 200) {
               this.$Message.success(res.msg)
               this.getData(this.proxyObj)
-              this.undata_navData()
+              // this.undata_navData()
             }
           })
         }

+ 6 - 8
src/views/BidSystem/ContractList/list.vue

@@ -635,14 +635,12 @@ export default {
       });
     },
     handleSetHeader(res) {
-      this.tableModalTableData =
-        res.data.tableSet.tableSet.length < 1
-          ? this.tableModalTableData
-          : res.data.tableSet.tableSet;
-      this.formModalTableData =
-        res.data.tableSet.formSet.length < 1
-          ? this.formModalTableData
-          : res.data.tableSet.formSet;
+      if (res.data.tableSet.tableSet && res.data.tableSet.tableSet.length > 0) {
+        this.tableModalTableData = res.data.tableSet.tableSet;
+      }
+      if (res.data.tableSet.formSet && res.data.tableSet.formSet.length > 0) {
+        this.formModalTableData = res.data.tableSet.formSet;
+      }
       this.sub_formModalTableData = JSON.parse(
         JSON.stringify(this.formModalTableData)
       );

+ 55 - 35
src/views/OrderMannage/BusinessOrderlist/edit.vue

@@ -2184,7 +2184,7 @@
         :data="formSetTableData"
       >
       </Table>
-      <CheckboxGroup v-model="forms_list">
+      <!-- <CheckboxGroup v-model="forms_list">
         <Checkbox label="order_no">订单编号</Checkbox>
         <Checkbox label="residential_name">项目名称</Checkbox>
         <Checkbox label="warning_state">紧急程度</Checkbox>
@@ -2201,9 +2201,7 @@
         <Checkbox label="box_id">包装</Checkbox>
         <Checkbox label="remark">订单备注</Checkbox>
         <Checkbox label="pay_state">收款</Checkbox>
-        <!-- <Checkbox label="predict_working">预估工期</Checkbox> -->
-        <!-- <Checkbox label="predict_time">预估交付日期</Checkbox> -->
-      </CheckboxGroup>
+      </CheckboxGroup> -->
     </Modal>
   </div>
 </template>
@@ -2547,7 +2545,7 @@ export default {
         { is_show: true, key: "box_id", value: "包装", title: "包装" },
         { is_show: true, key: "remark", value: "订单备注", title: "订单备注" },
       ],
-      post_formSetTableData:[],
+      post_formSetTableData: [],
     };
   },
   computed: {
@@ -2558,6 +2556,12 @@ export default {
   },
   watch: {},
   created() {
+    // 获取设置表单
+    this.axios
+      .post("/api/update/get_table", { id: "businessorderlist_detail" })
+      .then((res) => {
+        console.log("res :>> ", res);
+      });
     // 获取紧急程度
     this.axios.get("/api/warning_list").then((res) => {
       (this.warningList = res.data.data),
@@ -2596,12 +2600,12 @@ export default {
     this.tableWidth = window.innerWidth - 300;
     this.getUsers();
     this.type = this.$route.query.type;
-    this.axios("/api/order_get_forms").then((res) => {
-      if (res.code == 200) {
-        this.forms_list = res.data;
-        this.postForms(0);
-      }
-    });
+    // this.axios("/api/order_get_forms").then((res) => {
+    //   if (res.code == 200) {
+    //     this.forms_list = res.data;
+    //     this.postForms(0);
+    //   }
+    // });
     this.getCoumstList();
     this.getLockList();
   },
@@ -2626,32 +2630,48 @@ export default {
       });
     },
     postForms(n) {
-      let result = [];
-      this.forms_list.map((rows) => {
-        for (let i in this.formObjs_reset) {
-          // if (i == rows) {
-          result.push(i);
-          // }
-        }
+      this.formSetTableData.forEach((element, index) => {
+        element.sort = index;
       });
-      const news_forms = {};
-      this.post_formSetTableData = JSON.parse(JSON.stringify(this.formSetTableData))
-      result.forEach((element) => {
-        news_forms[element] = 1;
+      this.axios({
+        method: "post",
+        url: "/api/update/table",
+        data: {
+          id: "businessorderlist_detail",
+          result: {
+            formSet: this.formSetTableData,
+          },
+        },
+      }).then((res) => {
+        this.$Message.success(res.msg);
+        this.initData(this.order_no);
       });
-      this.formObjs = news_forms;
-      if (n) {
-        this.axios
-          .post("/api/order_set_form", {
-            result: this.post_formSetTableData,
-            all: Object.keys(this.formObjs_reset),
-          })
-          .then((res) => {
-            if (res.code == 200) {
-              this.$Message.success(res.msg);
-            }
-          });
-      }
+      // let result = [];
+      // this.forms_list.map((rows) => {
+      //   for (let i in this.formObjs_reset) {
+      //     // if (i == rows) {
+      //     result.push(i);
+      //     // }
+      //   }
+      // });
+      // const news_forms = {};
+      // this.post_formSetTableData = JSON.parse(JSON.stringify(this.formSetTableData))
+      // result.forEach((element) => {
+      //   news_forms[element] = 1;
+      // });
+      // this.formObjs = news_forms;
+      // if (n) {
+      //   this.axios
+      //     .post("/api/order_set_form", {
+      //       result: this.post_formSetTableData,
+      //       all: Object.keys(this.formObjs_reset),
+      //     })
+      //     .then((res) => {
+      //       if (res.code == 200) {
+      //         this.$Message.success(res.msg);
+      //       }
+      //     });
+      // }
     },
     postData() {
       let sendData = JSON.parse(JSON.stringify(this.info));

+ 1 - 1
src/views/ProcedureMannage/edit.vue

@@ -77,7 +77,7 @@ export default {
         capacity: "",
         wages: "",
         type: 1,
-        p_id: this.$route.query.id,
+        p_id: this.$route.query.id*1,
         classify: this.$route.query.title || "",
       },
       employeeList: [],

+ 173 - 41
src/views/ProcessLine/index.vue

@@ -52,9 +52,11 @@
     </FullPage>
     <Modal
       class-name="vertical-center-modal"
-      width="1000"
+      width="80%"
       v-model="showModal"
-      :title="isCheck ? '工艺路线详情' : '工艺路线编辑'"
+      :title="
+        isAdd ? '工艺路线新增' : isCheck ? '工艺路线详情' : '工艺路线编辑'
+      "
     >
       <div class="modal_process_route">
         <div>
@@ -111,28 +113,99 @@
           </SlickList>
         </div>
         <div class="modal_content_right">
-          <div
-            v-for="(item, index) of info.bps"
-            :key="index"
-            :label="item.title"
-          >
-            <div v-for="(_item, _index) in item.cld" :key="_index" >
-              <div v-if="_item.cld&&_item.cld.length>0" style="position:relative;left:0;top:0">{{ _item.title }}:</div>
-              <Tooltip v-for="(__item, __index) of _item.cld" :key="__index">
-                <div slot="content">
-                  <p>工时:{{ __item.time }}</p>
-                  <p>工价:{{ __item.wages }}</p>
-                  <p>产能:{{ __item.capacity }}</p>
-                </div>
-                <Checkbox
-                  @on-change="changeCheck($event, __item, selectTags)"
-                  v-model="__item.show"
-                  :disabled="isCheck"
-                  style="padding: 0px 5px"
-                  >{{ __item.title }}</Checkbox
+          <div v-for="(item, index) of info.bps" :key="index">
+            <div v-if="item.cld && item.cld.length > 0">
+              <span style="font-weight:bold">{{ item.title }}</span>
+              <div>
+                <div
+                  v-for="(_item, _index) in item.cld"
+                  :key="_index"
+                  style="margin-left:10px"
                 >
-              </Tooltip>
+                  <div v-if="_item.cld && _item.cld.length > 0">
+                    <div>
+                      <div style="font-weight:bold;width:100%">
+                        {{ _item.title }}:
+                      </div>
+                      <div
+                        style="display: flex;justify-content: flex-start;flex-wrap: wrap;"
+                      >
+                        <div
+                          v-for="(__item, __index) in _item.cld"
+                          :key="__index"
+                          style="margin-left:10px"
+                        >
+                          <div v-if="__item.cld && __item.cld.length > 0">
+                            <span style="font-weight:bold"
+                              >{{ __item.title }}:</span
+                            >
+                            <div
+                              style="display: flex;justify-content: flex-start;flex-wrap: wrap;"
+                            >
+                              <Tooltip
+                                v-for="(___item, ___index) of __item.cld"
+                                :key="___index"
+                              >
+                                <div slot="content">
+                                  <p>工时:{{ ___item.time }}</p>
+                                  <p>工价:{{ ___item.wages }}</p>
+                                  <p>产能:{{ ___item.capacity }}</p>
+                                </div>
+                                <Checkbox
+                                  @on-change="
+                                    changeCheck($event, ___item, selectTags)
+                                  "
+                                  v-model="___item.show"
+                                  :disabled="isCheck"
+                                  style="padding: 0px 5px"
+                                  >{{ ___item.title }}</Checkbox
+                                >
+                              </Tooltip>
+                            </div>
+                          </div>
+                          <div v-else>
+                            <Tooltip v-if="__item.p_id">
+                              <div slot="content">
+                                <p>工时:{{ __item.time }}</p>
+                                <p>工价:{{ __item.wages }}</p>
+                                <p>产能:{{ __item.capacity }}</p>
+                              </div>
+                              <Checkbox
+                                @on-change="
+                                  changeCheck($event, __item, selectTags)
+                                "
+                                v-model="__item.show"
+                                :disabled="isCheck"
+                                style="padding: 0px 5px"
+                                >{{ __item.title }}</Checkbox
+                              >
+                            </Tooltip>
+                          </div>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
+                  <div v-else>
+                    <Tooltip v-if="_item.p_id">
+                      <div slot="content">
+                        <p>工时:{{ _item.time }}</p>
+                        <p>工价:{{ _item.wages }}</p>
+                        <p>产能:{{ _item.capacity }}</p>
+                      </div>
+                      <Checkbox
+                        @on-change="changeCheck($event, _item, selectTags)"
+                        v-model="_item.show"
+                        :disabled="isCheck"
+                        style="padding: 0px 5px"
+                        >{{ _item.title }}</Checkbox
+                      >
+                    </Tooltip>
+                    <!-- <span v-else>{{ _item.title }}</span> -->
+                  </div>
+                </div>
+              </div>
             </div>
+            <!-- <div v-else>{{ item.title }}</div> -->
           </div>
         </div>
       </div>
@@ -205,6 +278,7 @@ export default {
         procedure_id: "",
       },
       isCheck: false,
+      isAdd: false,
     };
   },
   // 生命周期 - 创建完成(可以访问当前this实例)
@@ -232,20 +306,34 @@ export default {
   methods: {
     handleAddPL() {
       this.isCheck = false;
+      this.isAdd = true;
       this.info.id = "";
       this.info.title = "";
       this.info.procedure_id = "";
       this.selectTags = [];
       for (const key in this.info.bps) {
         const element = this.info.bps[key];
-        element.cld.forEach((z) => {
-          z.show = false;
-        });
+        element.cld &&
+          element.cld.length > 0 &&
+          element.cld.forEach((z) => {
+            z.show = false;
+            z.cld &&
+              z.cld.length > 0 &&
+              z.cld.forEach((elem) => {
+                elem.show = false;
+                elem.cld &&
+                  elem.cld.length > 0 &&
+                  elem.cld.forEach((el) => {
+                    el.show = false;
+                  });
+              });
+          });
       }
       this.showModal = true;
     },
     //1复制 2编辑 3查看 4删除
     handleSet(row, index, type) {
+      this.isAdd = false;
       this.info.id = row.id;
       this.info.title = row.title;
       this.info.procedure_id = row.procedure_id;
@@ -257,6 +345,16 @@ export default {
         const el = this.info.bps[key];
         el.cld.forEach((z) => {
           z.show = false;
+          z.cld &&
+            z.cld.length > 0 &&
+            z.cld.forEach((elem) => {
+              elem.show = false;
+              elem.cld &&
+                elem.cld.length > 0 &&
+                elem.cld.forEach((ele) => {
+                  ele.show = false;
+                });
+            });
         });
       }
       this.$nextTick(() => {
@@ -265,12 +363,33 @@ export default {
             const el = this.info.bps[key];
             for (const k in el.cld) {
               const e = el.cld[k];
+              if (e.id == element) {
+                e.show = true;
+                this.selectTags.push(e);
+              }
               e.cld &&
+                e.cld.length > 0 &&
                 e.cld.forEach((z) => {
                   if (z.id == element) {
                     z.show = true;
                     this.selectTags.push(z);
                   }
+                  z.cld &&
+                    z.cld.length > 0 &&
+                    z.cld.forEach((elem) => {
+                      if (elem.id == element) {
+                        elem.show = true;
+                        this.selectTags.push(elem);
+                      }
+                      elem.cld &&
+                        elem.cld.length > 0 &&
+                        elem.cld.forEach((ele) => {
+                          if (ele.id == element) {
+                            ele.show = true;
+                            this.selectTags.push(ele);
+                          }
+                        });
+                    });
                 });
             }
           }
@@ -284,13 +403,11 @@ export default {
                 title: row.title + "副本",
                 procedure_id: this.info.procedure_id,
               },
-            })
-              .then((res) => {
-                if (res.code == 200) {
-                  this.init(this.proxyObj);
-                }
-              })
-              .catch((err) => {});
+            }).then((res) => {
+              if (res.code == 200) {
+                this.init(this.proxyObj);
+              }
+            });
             break;
           case 2:
             this.showModal = true;
@@ -370,6 +487,16 @@ export default {
           const element = this.info.bps[key];
           element.cld.map((p) => {
             p.id == row.id ? (p.show = false) : "";
+            p.cld &&
+              p.cld.length > 0 &&
+              p.cld.map((q) => {
+                q.id == row.id ? (q.show = false) : "";
+                q.cld &&
+                  q.cld.length > 0 &&
+                  q.cld.map((r) => {
+                    r.id == row.id ? (r.show = false) : "";
+                  });
+              });
           });
         }
         arr.splice(key, 1);
@@ -454,24 +581,29 @@ export default {
 }
 
 .modal_process_route {
-  div {
-    display: flex;
-    justify-content: space-around;
-    align-items: center;
-    margin: 5px 0;
-  }
+  // div {
+  display: flex;
+  justify-content: space-around;
+  align-items: center;
+  margin: 5px 0;
+  // }
 }
 .modal_content {
   display: flex;
   justify-content: space-around;
+  height: 100%;
   .modal_content_left {
-    width: 40%;
+    max-width: 40%;
+    min-width: 30%;
+    border-right: 1px solid #d8d8d8;
   }
   .modal_content_right {
     width: 60%;
-    max-height: 500px;
+    max-height: 600px;
+    padding-left: 10px;
     overflow: hidden;
     overflow-y: auto;
+    font-size: 18px;
   }
 }
 .tag-modal {
@@ -489,7 +621,7 @@ export default {
   }
 }
 /deep/.ivu-modal-body {
-  max-height: 500px;
+  max-height: 800px;
   overflow: hidden;
   overflow-y: auto;
 }

+ 131 - 38
src/views/ProcessRoute/edit.vue

@@ -119,24 +119,13 @@
     </Modal>
     <Modal
       class-name="vertical-center-modal"
+      width="80%"
       v-model="show_add_detail"
       title="工艺路线"
-      @on-ok="saveTableData"
     >
-      <!-- <div class="modal_process_route">
-        <div>id: <Input v-model="processRouteId"
-                 disabled
-                 placeholder="自动生成"
-                 style="width: 100px"
-                 size="small" /></div>
-        <div>工艺路线名称: <Input v-model="processRouteName"
-                 placeholder="请输入工艺路线名称"
-                 size="small"
-                 style="width: 150px" /></div>
-      </div> -->
-      <span>已选:</span>
-      <Form>
-        <FormItem>
+      <div class="modal_content">
+        <div class="modal_content_left">
+          <span>已选:</span>
           <SlickList
             :distance="10"
             :lockToContainerEdges="true"
@@ -147,7 +136,7 @@
             @input="getChangeLists"
           >
             <SlickItem
-              style="z-index:9999"
+              style="z-index: 9999"
               v-for="(item, key) of selectTags"
               :key="key"
               class="SortableItem"
@@ -165,28 +154,113 @@
               </div>
             </SlickItem>
           </SlickList>
-        </FormItem>
-        <FormItem
-          v-for="(item, index) of info.bps"
-          :key="index"
-          :label="item.title"
-        >
-          <Tooltip v-for="(_item, _index) of item.cld" :key="_index">
-            <!-- todo -->
-            <div slot="content">
-              <p>工时:{{ _item.time }}</p>
-              <p>工价:{{ _item.wages }}</p>
-              <p>产能:{{ _item.capacity }}</p>
+        </div>
+        <div class="modal_content_right">
+          <div v-for="(item, index) of info.bps" :key="index">
+            <div v-if="item.cld && item.cld.length > 0">
+              <span style="font-weight:bold">{{ item.title }}</span>
+              <div>
+                <div
+                  v-for="(_item, _index) in item.cld"
+                  :key="_index"
+                  style="margin-left:10px"
+                >
+                  <div v-if="_item.cld && _item.cld.length > 0">
+                    <div>
+                      <div style="font-weight:bold;width:100%">
+                        {{ _item.title }}:
+                      </div>
+                      <div
+                        style="display: flex;justify-content: flex-start;flex-wrap: wrap;"
+                      >
+                        <div
+                          v-for="(__item, __index) in _item.cld"
+                          :key="__index"
+                          style="margin-left:10px"
+                        >
+                          <div v-if="__item.cld && __item.cld.length > 0">
+                            <span style="font-weight:bold"
+                              >{{ __item.title }}:</span
+                            >
+                            <div
+                              style="display: flex;justify-content: flex-start;flex-wrap: wrap;"
+                            >
+                              <Tooltip
+                                v-for="(___item, ___index) of __item.cld"
+                                :key="___index"
+                              >
+                                <div slot="content">
+                                  <p>工时:{{ ___item.time }}</p>
+                                  <p>工价:{{ ___item.wages }}</p>
+                                  <p>产能:{{ ___item.capacity }}</p>
+                                </div>
+                                <Checkbox
+                                  @on-change="
+                                    changeCheck($event, ___item, selectTags)
+                                  "
+                                  v-model="___item.show"
+                                  style="padding: 0px 5px"
+                                  >{{ ___item.title }}</Checkbox
+                                >
+                              </Tooltip>
+                            </div>
+                          </div>
+                          <div v-else>
+                            <Tooltip v-if="__item.p_id">
+                              <div slot="content">
+                                <p>工时:{{ __item.time }}</p>
+                                <p>工价:{{ __item.wages }}</p>
+                                <p>产能:{{ __item.capacity }}</p>
+                              </div>
+                              <Checkbox
+                                @on-change="
+                                  changeCheck($event, __item, selectTags)
+                                "
+                                v-model="__item.show"
+                                style="padding: 0px 5px"
+                                >{{ __item.title }}</Checkbox
+                              >
+                            </Tooltip>
+                          </div>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
+                  <div v-else>
+                    <Tooltip v-if="_item.p_id">
+                      <div slot="content">
+                        <p>工时:{{ _item.time }}</p>
+                        <p>工价:{{ _item.wages }}</p>
+                        <p>产能:{{ _item.capacity }}</p>
+                      </div>
+                      <Checkbox
+                        @on-change="changeCheck($event, _item, selectTags)"
+                        v-model="_item.show"
+                        style="padding: 0px 5px"
+                        >{{ _item.title }}</Checkbox
+                      >
+                    </Tooltip>
+                    <!-- <span v-else>{{ _item.title }}</span> -->
+                  </div>
+                </div>
+              </div>
             </div>
-            <Checkbox
-              @on-change="changeCheck($event, _item, selectTags)"
-              v-model="_item.show"
-              style="padding:0px 5px;"
-              >{{ _item.title }}</Checkbox
-            >
-          </Tooltip>
-        </FormItem>
-      </Form>
+            <!-- <div v-else>{{ item.title }}</div> -->
+          </div>
+        </div>
+      </div>
+      <div slot="footer">
+        <Button
+          @click="
+            show_add_detail = false;
+            show_add = true;
+          "
+          type="primary"
+          ghost
+          >取消</Button
+        >
+        <Button @click="saveTableData()" type="primary">确定</Button>
+      </div>
     </Modal>
   </div>
 </template>
@@ -379,7 +453,7 @@ export default {
           //         v.cld.map(v=>v.show = false)
           //     }
           // })
-          this.process_name = res.data.technological_route_title
+          this.process_name = res.data.technological_route_title;
           this.tableData = JSON.parse(JSON.stringify(this.selectTags));
         }
       );
@@ -417,6 +491,7 @@ export default {
     },
     saveTableData() {
       this.tableData = JSON.parse(JSON.stringify(this.selectTags));
+      this.show_add_detail = false;
     },
     handleSubmit(name) {
       this.$refs[name].validate((valid) => {
@@ -566,4 +641,22 @@ export default {
 .ivu-tooltip-popper {
   z-index: 999999 !important;
 }
+.modal_content {
+  display: flex;
+  justify-content: space-around;
+  height: 100%;
+  .modal_content_left {
+    max-width: 40%;
+    min-width: 30%;
+    border-right: 1px solid #d8d8d8;
+  }
+  .modal_content_right {
+    width: 60%;
+    max-height: 600px;
+    padding-left: 10px;
+    overflow: hidden;
+    overflow-y: auto;
+    font-size: 18px;
+  }
+}
 </style>

+ 67 - 20
src/views/ProcessRoute/index.vue

@@ -188,7 +188,10 @@ export default {
       pageIndex: 1,
       total: 0,
       pageSize: 10,
-      proxyObj: {},
+      proxyObj: {
+        page_index: 1,
+        page_size: 10,
+      },
       loading: false,
       headers: { Authorization: localStorage.getItem("token") },
       showSortModal: false,
@@ -286,11 +289,17 @@ export default {
     changePage(e) {
       this.pageIndex = e;
       this.proxyObj.page_index = this.pageIndex;
+      this.sortList &&
+        this.sortList.length > 0 &&
+        (this.proxyObj.sortList = this.sortList);
       this.getData(this.proxyObj);
     },
     changeSize(e) {
       this.pageSize = e;
       this.proxyObj.page_size = this.pageSize;
+      this.sortList &&
+        this.sortList.length > 0 &&
+        (this.proxyObj.sortList = this.sortList);
       this.getData(this.proxyObj);
     },
     goPage(n, row) {
@@ -319,31 +328,69 @@ export default {
         (this.sortList.length == 1 && this.sortList[0].sort)
       ) {
         this.loading = true;
-        this.axios("/api/order_list_new", {
+        this.axios("/api/process_route_index", {
           params: { ...this.proxyObj, sortList: this.sortList },
         }).then((res) => {
           if (res.code == 200) {
             this.loading = false;
-            if (!res.data.data) {
-              return this.$Message.error("列表数据返回格式不正确");
-            }
-            this.tableData = res.data.data;
+            // if (!res.data.data) {
+            //   return this.$Message.error("列表数据返回格式不正确");
+            // }
+            res.data.top.map((v, i) => {
+              if (v.key == "颜色") {
+                v.hover = 1;
+              }
+              if (i == 0) {
+                v.fixed = "left";
+                v.width = "100";
+              } else {
+                if (i == res.data.top.length - 1) {
+                  v.fixed = "right";
+                  v.width = "150";
+                } else {
+                  v.minWidth = 150;
+                }
+              }
+
+              if (v.hover == 1) {
+                v.render = function(h, params) {
+                  const { row } = params;
+
+                  return h(
+                    "Tooltip",
+                    {
+                      props: {
+                        content: row[v.key],
+                        placement: "right",
+                        maxWidth: "200",
+                        style: {
+                          zIndex: 10000,
+                        },
+                      },
+                    },
+                    [
+                      h(
+                        "div",
+                        {
+                          props: {},
+                          style: {
+                            width: "100px",
+                            overflow: "hidden",
+                            whiteSpace: "nowrap",
+                            textOverflow: "ellipsis",
+                          },
+                        },
+                        row[v.key]
+                      ),
+                    ]
+                  );
+                };
+              }
+            });
+            this.tableColums = res.data.top;
+            this.tableData = res.data.detail;
             this.total = res.data.total;
             this.showSortModal = false;
-            // this.tableModalTableData =
-            //   res.data.tableSet.tableSet.length < 1
-            //     ? this.tableModalTableData
-            //     : res.data.tableSet.tableSet;
-            // this.formModalTableData =
-            //   res.data.tableSet.formSet.length < 1
-            //     ? this.formModalTableData
-            //     : res.data.tableSet.formSet;
-            // this.sub_formModalTableData = JSON.parse(
-            //   JSON.stringify(this.formModalTableData)
-            // );
-            // this.sub_tableModalTableData = JSON.parse(
-            //   JSON.stringify(this.tableModalTableData)
-            // );
           }
         });
       } else {

+ 15 - 6
src/views/ProductMannage/index.vue

@@ -349,7 +349,10 @@ export default {
       pageIndex: 1,
       total: 0,
       pageSize: 10,
-      proxyObj: {},
+      proxyObj: {
+        page_index: 1,
+        page_size: 10,
+      },
       loading: false,
       headers: { Authorization: localStorage.getItem("token") },
       showModal: false,
@@ -594,13 +597,13 @@ export default {
       const temp_product = this.tableData.filter((item) => item.isSelect);
       const product_id = temp_product.map((item) => item.id);
       // 判断是否全选,全选标题选中
-      let flag = true
-      this.tableData.map(item=>{
+      let flag = true;
+      this.tableData.map((item) => {
         if (!item.isSelect) {
-          flag = false
+          flag = false;
         }
-      })
-      this.isSelectAll = flag
+      });
+      this.isSelectAll = flag;
       this.axios
         .post("/api/support_product_get_part", {
           type,
@@ -689,11 +692,17 @@ export default {
     changePage(e) {
       this.pageIndex = e;
       this.proxyObj.page_index = this.pageIndex;
+      this.sortList &&
+        this.sortList.length > 0 &&
+        (this.proxyObj.sortList = this.sortList);
       this.getData(this.proxyObj);
     },
     changeSize(e) {
       this.pageSize = e;
       this.proxyObj.page_size = this.pageSize;
+      this.sortList &&
+        this.sortList.length > 0 &&
+        (this.proxyObj.sortList = this.sortList);
       this.getData(this.proxyObj);
     },
     goPage(n, row) {

+ 1 - 1
vue.config.js

@@ -2,7 +2,7 @@ const axios_default_ip =
     process.env.NODE_ENV == 'dev' ?
     'http://121.41.102.225:82' :
     process.env.NODE_ENV == 'test-prd' ?
-    'http://121.41.102.225:82' //测试服
+    'http://124.71.176.88:882' //测试服
     :
     process.env.NODE_ENV == 'prd_other' ?
     'http://121.37.173.82:82' //森兰九鼎