Przeglądaj źródła

Merge remote-tracking branch 'origin/mergeBranch' into mergeBranch

qymljy 2 lat temu
rodzic
commit
612a0b3195

+ 12 - 5
src/Form/marketing2/agent/add.vue

@@ -63,10 +63,10 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item v-if="form.cooperationstatus === '正式'"  label="erp编号:" prop="erpagentnum" :rules="{required:true,message:'请输入erp编号',trigger:'blur'}">
+            <el-form-item  style="height:51px" v-if="form.cooperationstatus === '正式'"  label="erp编号:" prop="erpagentnum" :rules="{required:true,message:'请输入erp编号',trigger:'blur'}">
               <el-input v-model="form.erpagentnum" placeholder="输入erp编号"></el-input>
             </el-form-item>
-            <el-form-item v-else label="erp编号:" prop="erpagentnum"  :rules="{required:false,message:'请输入erp编号',trigger:'blur'}">
+            <el-form-item v-else style="height:51px" label="erp编号:" prop="erpagentnum"  :rules="{required:false,message:'请输入erp编号',trigger:'blur'}">
               <el-input v-model="form.erpagentnum" placeholder="输入erp编号"></el-input>
             </el-form-item>
           </el-col>
@@ -134,10 +134,15 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="是否授权所有营销类别:" prop="saleclassauth" label-width="160px">
+            <el-form-item label="是否授权所有营销类别:" style="height:51px" prop="saleclassauth" label-width="160px">
               <el-checkbox v-model="form.saleclassauth" :true-label="0" :false-label="1"></el-checkbox>
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="是否授权所有标准:" style="height:51px" prop="standardsauth" label-width="160px">
+              <el-checkbox v-model="form.standardsauth" :true-label="1" :false-label="0"></el-checkbox>
+            </el-form-item>
+          </el-col>
           <el-col :span="12">
             <el-form-item label="是否免运费">
               <el-radio-group v-model="radio" @change="radioChange">
@@ -220,7 +225,8 @@ export default {
         "longitude": "", //经度
         "invoicingpoint": 1, //开票节点(1:订单审核:2:发货)
         "saleclassauth": 1, //是否需要经营授权,默认1
-        "grade":''
+        "grade":'',
+        "standardsauth":1,
       },
       ENlist:[],
       agent_level:[],
@@ -361,7 +367,8 @@ export default {
         "longitude": "", //经度
         "invoicingpoint": 1, //开票节点(1:订单审核:2:发货)
         "saleclassauth": 1, //是否需要经营授权,默认1
-        "grade":''
+        "grade":'',
+        "standardsauth":0
       },
       this.enterprise = {}
     },

+ 10 - 4
src/Form/marketing2/agent/edit.vue

@@ -74,10 +74,10 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item v-if="form.cooperationstatus === '正式'" label="erp编号:" prop="erpagentnum" :rules="{required:true,message:'请输入erp编号',trigger:'blur'}">
+              <el-form-item style="height:51px" v-if="form.cooperationstatus === '正式'" label="erp编号:" prop="erpagentnum" :rules="{required:true,message:'请输入erp编号',trigger:'blur'}">
                 <el-input v-model="form.erpagentnum" placeholder="输入erp编号"></el-input>
               </el-form-item>
-              <el-form-item v-else label="erp编号:" prop="erpagentnum" :rules="{required:false,message:'请输入erp编号',trigger:'blur'}">
+              <el-form-item v-else label="erp编号:" prop="erpagentnum" style="height:51px" :rules="{required:false,message:'请输入erp编号',trigger:'blur'}">
                 <el-input v-model="form.erpagentnum" placeholder="输入erp编号"></el-input>
               </el-form-item>
             </el-col>
@@ -147,10 +147,15 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="是否授权所有营销类别:" prop="saleclassauth" label-width="160px">
+              <el-form-item style="height:51px" label="是否授权所有营销类别:" prop="saleclassauth" label-width="160px">
                 <el-checkbox v-model="form.saleclassauth" :true-label="0" :false-label="1"></el-checkbox>
               </el-form-item>
             </el-col>
+            <el-col :span="12">
+            <el-form-item label="是否授权所有标准:" style="height:51px" prop="standardsauth" label-width="160px">
+              <el-checkbox v-model="form.standardsauth" :true-label="1" :false-label="0"></el-checkbox>
+            </el-form-item>
+          </el-col>
             <el-col :span="12">
               <el-form-item label="是否免运费">
                 <el-radio-group v-model="radio" @change="radioChange">
@@ -235,7 +240,8 @@ export default {
         "longitude": "", //经度
         "invoicingpoint": 1, //开票节点(1:订单审核:2:发货)
         "saleclassauth": 1, //是否需要经营授权,默认1
-        "grade":''
+        "grade":'',
+        "standardsauth":''
       },
       ENlist:[],
       agent_level:[],

+ 6 - 2
src/HDrpManagement/ProductMag/detail/index.vue

@@ -9,7 +9,7 @@
         idname="itemid"
         ownertable="plm_item"
         tags=""
-        :tabs="['详细信息','营销分类','商品组','商品等级价格']"
+        :tabs="['详细信息','营销分类','商品组','商品等级价格','技术资料']"
         @pageChange="pageChange"
         @onEditSuccess="queryMainData($route.query.id)"
         >
@@ -98,6 +98,9 @@
       <div slot="slot3">
         <productPrice :data="mainData"></productPrice>
       </div>
+      <div slot="slot4">
+        <productInfo></productInfo>
+      </div>
     </basicDetails>
   </div>
 </template>
@@ -109,6 +112,7 @@ import saleClass from '../modules/saleClass.vue'
 import productGroup from '../modules/productGroup.vue'
 import productPrice from '../modules/productPrice'
 import addClass from '../modules/addClass'
+import productInfo from './modules/productInfo'
 export default {
   name: "index",
   data() {
@@ -117,7 +121,7 @@ export default {
       mainAreaData:{}
     }
   },
-  components:{detail_data,saleClass,productPrice,addClass,Edit,productGroup},
+  components:{detail_data,saleClass,productPrice,addClass,Edit,productGroup,productInfo},
   methods: {
     async queryMainData(id) {
       const res = await this.$api.requested({

+ 94 - 0
src/HDrpManagement/ProductMag/detail/modules/productInfo.vue

@@ -0,0 +1,94 @@
+
+<template>
+  <div>
+    <div style="display:flex;align-items:center">
+      <el-input
+          placeholder="请输入搜索内容"
+          suffix-icon="el-icon-search"
+          v-model="params.content.where.condition"
+          style="width:200px"
+          size="mini"
+          class="input-with-select inline-16"
+          @keyup.native.enter="listData(params.content.pageNumber=1)"
+          @clear="clearData"
+          clearable>
+      </el-input>
+    </div>
+    <div style="margin-top: 15px">
+      <tableLayout :layout="tablecols" :data="list" :opwidth="200"  :custom="false" :width="false" fixedName="operation">
+      
+      </tableLayout>
+    </div>
+    <div style="margin-top:16px;text-align:right">
+      <el-pagination
+          background
+          small
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="params.content.pageNumber"
+          :page-size="params.content.pageSize"
+          layout="total, prev, pager, next, jumper"
+          :total="total">
+      </el-pagination>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  props:["data"],
+  data () {
+    return {
+      tablecols:[],
+      list:[],
+      total:0,
+      params:{
+        "id": 20221216105402,
+        "content": {
+            "itemid": '',
+            "pageNumber": 1,
+            "pageSize": 20,
+            "where": {
+                "condition": ""
+            }
+        },
+      },
+      options:[
+      ],
+    }
+  },
+  methods:{
+    async listData(){
+      this.params.content.itemid = this.$route.query.id
+      const res = await this.$api.requested(this.params)
+      this.list = res.data
+      this.total = res.total
+      console.log(this.list)
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.params.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.params.content.pageNumber = val
+      this.listData()
+    },
+    clearData(){
+      this.listData()
+    },
+    queryClick(){
+      this.listData()
+    }
+  },
+  created() {
+    this.listData()
+    this.tablecols = this.tool.tabelCol(this.$route.name).productInfo.tablecols
+  }
+}
+
+</script>
+<style scoped>
+
+</style>

+ 18 - 9
src/HManagement/marketing2/agent/details/index.vue

@@ -9,7 +9,7 @@
     turnPageId="20221011144903"
     idname="sa_agentsid"
     :tags="[]"
-    :tabs="['经销商团队','授权营销类别','授权领域','账户余额查询','地址管理','财务信息','银行卡信息','关联合同','联系人管理','业绩目标','代理区域']"
+    :tabs="['经销商团队','授权营销类别','授权领域','授权标准','账户余额查询','地址管理','财务信息','银行卡信息','关联合同','联系人管理','业绩目标','代理区域']"
     @pageChange="pageChange"
     @onEditSuccess="queryMainData($route.query.id)">
     <div slot="tags">
@@ -79,15 +79,18 @@
       <field :data="mainData"></field>
     </div>
     <div slot="slot3">
-      <accountMoney :mainData="mainData"></accountMoney>
+      <areaBase :data="mainData"></areaBase>
     </div>
     <div slot="slot4">
-      <agent-address :mainData="mainData"></agent-address>
+      <accountMoney :mainData="mainData"></accountMoney>
     </div>
     <div slot="slot5">
-      <financial :mainData="mainData"></financial>
+      <agent-address :mainData="mainData"></agent-address>
     </div>
     <div slot="slot6">
+      <financial :mainData="mainData"></financial>
+    </div>
+    <div slot="slot7">
        <bankInfo :data="mainData" ref="bank">
         <addBank v-if="tool.checkAuth($route.name,'bankInfo')" slot="addBank" @onSuccess="$refs.bank.listData()" :data="mainData" />
         <template v-slot:editBank="scope">
@@ -98,16 +101,16 @@
         </template>
       </bankInfo>
     </div>
-    <div slot="slot7" >
+    <div slot="slot8" >
       <contract :data="mainData"></contract>
     </div>
-    <div slot="slot8"  >
+    <div slot="slot9"  >
       <agent-contact :mainData="mainData"></agent-contact>
     </div>
-    <div slot="slot9">
+    <div slot="slot10">
       <achievementTarget :data="mainData"></achievementTarget>
     </div>
-    <div slot="slot10">
+    <div slot="slot11">
       <salescope :data="mainData"></salescope>
     </div>
   </basicDetails>
@@ -126,6 +129,7 @@ import achievementTarget from './modules/achievementTarget/index'
 import bankInfo from './modules/bankInfo/index'
 import addBank from './modules/bankInfo/add'
 import editBank from './modules/bankInfo/edit'
+import areaBase from './modules/areaBase/index'
 export default {
   data () {
     return {
@@ -151,7 +155,8 @@ export default {
     achievementTarget,
     bankInfo,
     addBank,
-    editBank
+    editBank,
+    areaBase
   },
   methods:{
     async queryMainData (id) {
@@ -268,6 +273,10 @@ export default {
           label:'订单可退货天数',
           value: this.mainData.limitreturnday
         },
+        {
+          label:'是否授权所有',
+          value: this.mainData.standardsauth ? '开启' : '关闭'
+        },
         {
           label:'是否订单审核可开票',
           value: this.mainData.invoicingpoint == '1' ? '订单审核' : '发货'

+ 85 - 0
src/HManagement/marketing2/agent/details/modules/areaBase/add.vue

@@ -0,0 +1,85 @@
+<template>
+  <div>
+    <el-button size="mini" type="primary" @click="dialogFormVisible = true">授 权</el-button>
+    <el-dialog append-to-body :visible.sync="dialogFormVisible" width="500px" @close="dialogFormVisible = false;$refs.form.resetFields()">
+      <div slot="title" style="font-size: 15px">
+        授权标准
+      </div>
+      <el-row :gutter="20">
+        <el-form :model="form" :rules="rules" ref="form" label-width="90px" label-position="right" size="mini">
+          <el-col :span="24">
+            <el-form-item label="授权标准" prop="standards">
+              <el-select placeholder="请选择授权标准" v-model="form.standards" multiple>
+                <el-option v-for="item in list" :key="item.rowindex" :value="item.value" :label="item.value"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-form>
+      </el-row>
+      <div class="dialog-footer">
+        <el-button size="small" @click="dialogFormVisible = false;$refs.form.resetFields()" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="warning" @click="onSubmit" class="normal-btn-width btn-warning">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "add",
+  components:{},
+  inject:['detailInfo'],
+  data(){
+    return {
+      dialogFormVisible:false,
+      list:[],
+      form:{
+        "standards": [
+        ],
+        "ownertable": "sys_enterprise", //sys_enterprise或者sys_hr
+        "ownerid": "" //sys_enterpriseid或者hrid
+      },
+      rules:{
+        standards:[
+          { required: true, message: '请选择授权标准', trigger: 'change'},
+        ],
+      },
+    }
+  },
+  created () {
+    this.listData()
+  },
+  methods:{
+    async listData () {
+      const res = await this.$store.dispatch('optiontypeselect','itemstandards')
+      this.list = res.data
+      console.log(this.list);
+    },
+    onSubmit(){
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        this.form.ownerid = this.$route.query.id
+        this.form.ownerid = this.detailInfo().sys_enterpriseid
+        const res = await this.$api.requested({
+          "id": "20230518111602",
+          "content": this.form
+        })
+        this.tool.showMessage(res,()=>{
+          this.$emit('onSuccess')
+          this.$refs['form'].resetFields();
+          this.dialogFormVisible = false
+        })
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+.dialog-footer {
+  margin-top: 0;
+}
+.el-select {
+  width: 100% !important;
+}
+</style>

+ 73 - 0
src/HManagement/marketing2/agent/details/modules/areaBase/index.vue

@@ -0,0 +1,73 @@
+<template>
+  <div>
+    <Add class="inline-16 mt-10" @onSuccess="listData" v-if="tool.checkAuth($route.name,'areaBase')"/>
+    <el-table
+      :data="list"
+      style="width: 100%"
+      size="small"
+      border>
+      <el-table-column
+        prop="standards"
+        label="授权标准">
+      </el-table-column>
+      <el-table-column
+        label="操作">
+        <template slot-scope="scope">
+          <el-popconfirm
+            title="确定删除吗?"
+            @confirm="deleteField(scope.row)">
+            <el-button slot="reference" type="text" size="mini" v-if="tool.checkAuth($route.name,'areaBase')">删除</el-button>
+          </el-popconfirm>
+        </template>
+      </el-table-column>
+    </el-table>
+  </div>
+</template>
+<script>
+import Add from './add'
+export default {
+  components: {Add},
+  props:['data'],
+  inject:['detailInfo'],
+  data () {
+    return {
+      list:[],
+      dialogVisible:false,
+      param:{
+        "id": "20230518155602",
+        "content": {
+            "ownertable": "sys_enterprise",
+            "ownerid": ''
+        },
+      }
+    }
+  },
+  methods:{
+    async listData () {
+      this.param.content.ownerid = this.data.sys_enterpriseid
+      const res = await this.$api.requested(this.param)
+      this.list = res.data
+      console.log(res.data);
+      
+    },
+    async deleteField (data) {
+      console.log(data);
+      const res = await this.$api.requested({
+        "id": "20230518160202",
+        "content": {
+            "ownertable": "sys_enterprise",
+            "ownerid": this.detailInfo().sys_enterpriseid,
+            "standards": data.standards
+        },
+      })
+      this.tool.showMessage(res,()=>{
+        this.listData()
+      })
+   
+    },
+  },
+  mounted () {
+    this.listData()
+  }
+}
+</script>

+ 7 - 2
src/HManagement/marketing2/saler/area/detail/index.vue

@@ -10,7 +10,7 @@
         idname="sa_salearea_hrid"
         ownertable="sa_salearea_hr"
         tags=""
-        :tabs="['详细信息','领域授权']"
+        :tabs="['详细信息','领域授权','授权标准']"
         @pageChange="pageChange"
         @onEditSuccess="queryMainData($route.query.id)">
       <div slot="tags">
@@ -24,6 +24,9 @@
       <div slot="slot1">
         <TradefieldList :mainData="mainData"></TradefieldList>
       </div>
+      <div slot="slot2">
+      <areaBase :data="mainData"></areaBase>
+    </div>
     </basicDetails>
   </div>
 </template>
@@ -31,8 +34,9 @@
 <script>
 import detailed from './modules/detailedData'
 import TradefieldList from './modules/tradefieldList'
+import areaBase from './modules/areaBase/index'
 export default {
-  components:{detailed,TradefieldList},
+  components:{detailed,TradefieldList,areaBase},
   data () {
     return {
       mainData:{},
@@ -71,6 +75,7 @@ export default {
         }
       })
       this.mainData = res.data
+      console.log(this.mainData);
       this.$refs['details'].param.content.sa_saleareaid = this.mainData.sa_saleareaid
       this.changeDataStructure()
     },

+ 84 - 0
src/HManagement/marketing2/saler/area/detail/modules/areaBase/add.vue

@@ -0,0 +1,84 @@
+<template>
+  <div>
+    <el-button size="mini" type="primary" @click="dialogFormVisible = true">授 权</el-button>
+    <el-dialog append-to-body :visible.sync="dialogFormVisible" width="500px" @close="dialogFormVisible = false;$refs.form.resetFields()">
+      <div slot="title" style="font-size: 15px">
+        授权标准
+      </div>
+      <el-row :gutter="20">
+        <el-form :model="form" :rules="rules" ref="form" label-width="90px" label-position="right" size="mini">
+          <el-col :span="24">
+            <el-form-item label="授权标准" prop="standards">
+              <el-select placeholder="请选择授权标准" v-model="form.standards" multiple>
+                <el-option v-for="item in list" :key="item.rowindex" :value="item.value" :label="item.value"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-form>
+      </el-row>
+      <div class="dialog-footer">
+        <el-button size="small" @click="dialogFormVisible = false;$refs.form.resetFields()" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="warning" @click="onSubmit" class="normal-btn-width btn-warning">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "add",
+  components:{},
+  props:['data'],
+  data(){
+    return {
+      dialogFormVisible:false,
+      list:[],
+      form:{
+        "standards": [
+        ],
+        "ownertable": "sys_hr", //sys_enterprise或者sys_hr
+        "ownerid": "" //sys_enterpriseid或者hrid
+      },
+      rules:{
+        standards:[
+          { required: true, message: '请选择授权标准', trigger: 'change'},
+        ],
+      },
+    }
+  },
+  created () {
+    this.listData()
+  },
+  methods:{
+    async listData () {
+      const res = await this.$store.dispatch('optiontypeselect','itemstandards')
+      this.list = res.data
+      console.log(this.list);
+    },
+    onSubmit(){
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        this.form.ownerid = this.data.hrid
+        const res = await this.$api.requested({
+          "id": "20230518111602",
+          "content": this.form
+        })
+        this.tool.showMessage(res,()=>{
+          this.$emit('onSuccess')
+          this.$refs['form'].resetFields();
+          this.dialogFormVisible = false
+        })
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+.dialog-footer {
+  margin-top: 0;
+}
+.el-select {
+  width: 100% !important;
+}
+</style>

+ 71 - 0
src/HManagement/marketing2/saler/area/detail/modules/areaBase/index.vue

@@ -0,0 +1,71 @@
+<template>
+  <div>
+    <Add class="inline-16 mt-10" :data="data" @onSuccess="listData" v-if="tool.checkAuth($route.name,'areaBase') && data.standardsauth == 0"/>
+    <el-table
+      :data="list"
+      style="width: 100%"
+      size="small"
+      border>
+      <el-table-column
+        prop="standards"
+        label="授权标准">
+      </el-table-column>
+      <el-table-column
+        label="操作">
+        <template slot-scope="scope">
+          <el-popconfirm
+            title="确定删除吗?"
+            @confirm="deleteField(scope.row)">
+            <el-button slot="reference" type="text" size="mini" v-if="tool.checkAuth($route.name,'areaBase') && data.standardsauth == 0">删除</el-button>
+          </el-popconfirm>
+        </template>
+      </el-table-column>
+    </el-table>
+  </div>
+</template>
+<script>
+import Add from './add'
+export default {
+  components: {Add},
+  props:['data'],
+  data () {
+    return {
+      list:[],
+      dialogVisible:false,
+      param:{
+        "id": "20230518155602",
+        "content": {
+            "ownertable": "sys_hr",
+            "ownerid": ''
+        },
+      }
+    }
+  },
+  methods:{
+    async listData () {
+      this.param.content.ownerid = this.data.hrid
+      const res = await this.$api.requested(this.param)
+      this.list = res.data
+      console.log(res.data);
+      
+    },
+    async deleteField (data) {
+      const res = await this.$api.requested({
+        "id": "20230518160202",
+        "content": {
+            "ownertable": "sys_hr",
+            "ownerid": this.data.hrid,
+            "standards": data.standards
+        },
+      })
+      this.tool.showMessage(res,()=>{
+        this.listData()
+      })
+   
+    },
+  },
+  mounted () {
+    this.listData()
+  }
+}
+</script>

+ 10 - 1
src/SDrpManagement/ProductGroup/index.vue

@@ -26,7 +26,7 @@
         </div>
       </selectPeople>
     </div>
-    <selectClass ref="class" @brandChange="brandChange" @onClassChange="onClassChange" @Search="Search" @clearSearch="clearSearch" @clickField="clickField" :default="true"></selectClass>
+    <selectClass ref="class" @clickAreaBase="clickAreaBase" @brandChange="brandChange" @onClassChange="onClassChange" @Search="Search" @clearSearch="clearSearch" @clickField="clickField" :default="true"></selectClass>
     <div class="content" v-if="Object.keys(productGroup).length > 0">
       <div class="group-list">
         <div class="group-item" v-for="item in productGroup" :key="item.sa_itemgroupid" @click="itemClick(item)">
@@ -80,6 +80,7 @@ export default {
           "where":{
             "condition":"",
             "tradefield":'',
+            "standards":''
           }
         }
       },
@@ -113,6 +114,10 @@ export default {
         this.$refs.class.queryClass()
         this.brandId = [this.$refs.class.brand_act]
       })
+      this.$refs.class.queryAreaBase(() => {
+        this.$refs.class.queryAreaBase()
+        this.params.content.where.standards = [this.$refs.class.areaBase]
+      })
       this.$refs.class.queryAgentiInfo(() => {
         this.params.content.where.tradefield = this.$refs.class.tradefield
         
@@ -191,6 +196,10 @@ export default {
       this.params.content.where.tradefield = item.tradefield
       this.getProductGroup()
     },
+    clickAreaBase (item) {
+      this.params.content.where.standards = item
+      this.getProductGroup()
+    },
     pageChange(n) {
       this.params.content.pageNumber = n
       this.getProductGroup()

+ 24 - 1
src/SDrpManagement/ProductGroup/modules/Select.vue

@@ -1,6 +1,10 @@
 <template>
   <div class="border-bottom">
     <div>
+      <ul class="flex-align-center normal-margin-new" >
+        <li  :class="areaBase === ''?'act':''" class="brand-item border-all" @click="clickField(null)" >全部标准</li>
+        <li  :class="areaBase === item?'act':''" class="brand-item margin-notAll" v-for="item in areaBases" :key="item" @click="clickField(item)">{{item}}</li>
+      </ul>
       <ul class="flex-align-center normal-margin-new" >
         <!-- <li  :class="field_act === ''?'act':''" class="brand-item border-all" @click="clickField({})" >全部领域</li> -->
         <li  :class="field_act === item.sys_enterprise_tradefieldid?'act':''" class="brand-item" style="margin-left:0" v-for="item in fields" :key="item.sys_enterprise_tradefieldid" @click="clickField(item)">{{item.tradefield}}</li>
@@ -31,7 +35,9 @@ export default {
       field_act:'',
       tradefield:'',
       brand_act:0,
-      class_act:''
+      class_act:'',
+      areaBases:[],
+      areaBase:''
     }
   },
   provide () {
@@ -50,6 +56,18 @@ export default {
     classTree
   },
   methods:{
+    /* 授权标准 */
+    async queryAreaBase () {
+      const res1 = await this.$api.requested({
+        "id": "20230519141202",
+        "content": {
+            "sys_enterpriseid": '', //不传查询当前账号授权的标准
+        },
+      })
+      this.areaBases = res1.data
+      this.areaBase = ''
+      console.log('标准',this.areaBases);
+    },
     async queryAgentiInfo (callback) {
       let param = {
         "id": 20221223141802,
@@ -111,6 +129,10 @@ export default {
       
       this.itemclass = res.data.length ? res.data[0].ttemclass : []
     },
+    clickAreaBase (item) {
+      this.areaBase = item ? item : ''
+      this.$emit('clickAreaBase',item)
+    },
     clickBrand (id) {
       this.brand_act = id ? id : 0
       this.queryClass()
@@ -144,6 +166,7 @@ export default {
     this.queryClass()
     this.queryAgentiInfo()
     this.queryBrands()
+    this.queryAreaBase()
   }
 }
 

+ 30 - 1
src/SDrpManagement/ProductGroup/modules/Select2.vue

@@ -1,6 +1,10 @@
 <template>
   <div class="border-bottom">
     <div>
+      <ul class="flex-align-center normal-margin-new" >
+        <!-- <li  :class="field_act === ''?'act':''" class="brand-item border-all" @click="clickField({})" >全部领域</li> -->
+        <li style="margin-left:0" :class="areaBase === item?'act':''" class="brand-item margin-notAll" v-for="item in areaBases" :key="item" @click="clickAreaBase(item)">{{item}}</li>
+      </ul>
       <ul class="flex-align-center normal-margin-new" >
         <!-- <li  :class="field_act === ''?'act':''" class="brand-item border-all" @click="clickField({})" >全部领域</li> -->
         <li  :class="tradefield === item.tradefield?'act':''" class="brand-item" style="margin-left:0" v-for="item in fields" :key="item.sys_enterprise_tradefieldid" @click="clickField(item)">{{item.tradefield}}</li>
@@ -31,7 +35,9 @@ export default {
       field_act:'',
       tradefield:'',
       brand_act:0,
-      class_act:''
+      class_act:'',
+      areaBases:[],
+      areaBase:''
     }
   },
   provide () {
@@ -50,6 +56,24 @@ export default {
     classTree
   },
   methods:{
+    /* 授权标准 */
+    async queryAreaBase () {
+      const res1 = await this.$api.requested({
+        "id": "20230519141202",
+        "content": {
+            "sys_enterpriseid": '', //不传查询当前账号授权的标准
+        },
+      })
+      if (res1.data.length) {
+        this.areaBase = res1.data[0]
+        this.areaBases = res1.data
+        this.$emit('clickAreaBase',res1.data[0])
+      } else {
+        this.areaBases = res1.data
+        this.areaBase = ''
+      }
+      console.log('标准',this.areaBases);
+    },
     async queryAgentiInfo (callback) {
       let param = {
         "id": 20230418142202,
@@ -110,6 +134,10 @@ export default {
       
       this.itemclass = res.data.length ? res.data[0].ttemclass : []
     },
+    clickAreaBase (item) {
+      this.areaBase = item ? item : ''
+      this.$emit('clickAreaBase',item)
+    },
     clickBrand (id) {
       this.brand_act = id ? id : 0
       this.queryClass()
@@ -145,6 +173,7 @@ export default {
     this.queryClass()
     this.queryAgentiInfo()
     this.queryBrands()
+    this.queryAreaBase()
   }
 }
 

+ 20 - 1
src/SDrpManagement/Products/modules/Select.vue

@@ -1,6 +1,10 @@
 <template>
   <div class="border-bottom">
     <div>
+      <!-- <ul class="flex-align-center normal-margin-new" >
+        <li  :class="field_act === ''?'act':''" class="brand-item border-all" @click="clickField(null)" >全部标准</li>
+        <li  :class="field_act === item.sys_enterprise_tradefieldid?'act':''" class="brand-item margin-notAll" v-for="item in areaBases" :key="item.sys_enterprise_tradefieldid" @click="clickField(item)">{{item.tradefield}}</li>
+      </ul> -->
       <ul class="flex-align-center normal-margin-new" >
         <li  :class="field_act === ''?'act':''" class="brand-item border-all" @click="clickField(null)" >全部领域</li>
         <li  :class="field_act === item.sys_enterprise_tradefieldid?'act':''" class="brand-item margin-notAll" v-for="item in fields" :key="item.sys_enterprise_tradefieldid" @click="clickField(item)">{{item.tradefield}}</li>
@@ -30,7 +34,9 @@ export default {
       activeClass:{},
       field_act:'',
       brand_act:'',
-      class_act:''
+      class_act:'',
+      areaBasesL:[],
+      areaBase:''
     }
   },
   props: {
@@ -43,6 +49,18 @@ export default {
     classTree
   },
   methods:{
+    /* 授权标准 */
+    async queryAreaBase () {
+      const res1 = await this.$api.requested({
+        "id": "20230519141202",
+        "content": {
+            "sys_enterpriseid": '', //不传查询当前账号授权的标准
+        },
+      })
+      this.areaBases = res1.data
+      this.areaBase = ''
+      console.log('标准',this.areaBases);
+    },
     async queryAgentiInfo () {
       const res1 = await this.$api.requested({
         "id": 20221223141802,
@@ -116,6 +134,7 @@ export default {
     this.queryClass()
     this.queryAgentiInfo()
     this.queryBrands()
+    this.queryAreaBase()
   }
 }
 

+ 38 - 0
src/SManagement/orderclue/components/add.vue

@@ -210,6 +210,35 @@ export default {
         tradefield:[
           { required: true, message: '请选择领域', trigger: 'change'}
         ],
+        totalinvestment:[
+          {
+            validator: (rule, value, callback) => {
+              if (!value) {
+                callback()
+              } else if (!this.isNumber(value)) {
+                callback(new Error('请输入数字值'))
+              } else {
+                callback()
+              }
+            },
+            trigger:'blur'
+          }
+        ],
+        costofconstruction:[
+          {
+            validator: (rule, value, callback) => {
+              if (!value) {
+                callback()
+              } else if (!this.isNumber(value)) {
+                callback(new Error('请输入数字值'))
+              } else {
+                callback()
+              }
+            },
+            trigger:'blur'
+          }
+        ],
+        
       },
       areaSelectResult:'',
       options: [],
@@ -237,6 +266,15 @@ export default {
       this.drawer = true
       this.queryTradefield()
     },
+    isNumber (val) {
+      var regPos = /^\d+(\.\d+)?$/
+      var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/
+      if (regPos.test(val) || regNeg.test(val)) {
+        return true
+      } else {
+        return false
+      }
+    },
     addOrdercule() {
       if (this.param.content.begdate_due !== ''){
         const data = new Date(this.param.content.begdate_due)

+ 37 - 0
src/SManagement/orderclue/components/edit.vue

@@ -206,6 +206,34 @@ export default {
         tradefield:[
           { required: true, message: '请选择领域', trigger: 'change'}
         ],
+        totalinvestment:[
+          {
+            validator: (rule, value, callback) => {
+              if (!value) {
+                callback()
+              } else if (!this.isNumber(value)) {
+                callback(new Error('请输入数字值'))
+              } else {
+                callback()
+              }
+            },
+            trigger:'blur'
+          }
+        ],
+        costofconstruction:[
+          {
+            validator: (rule, value, callback) => {
+              if (!value) {
+                callback()
+              } else if (!this.isNumber(value)) {
+                callback(new Error('请输入数字值'))
+              } else {
+                callback()
+              }
+            },
+            trigger:'blur'
+          }
+        ]
       },
       areaSelectResult: '',
       options: [],
@@ -240,6 +268,15 @@ export default {
   },
   
   methods: {
+    isNumber (val) {
+      var regPos = /^\d+(\.\d+)?$/
+      var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/
+      if (regPos.test(val) || regNeg.test(val)) {
+        return true
+      } else {
+        return false
+      }
+    },
     editBtn () {
       this.drawer = true
       this.param = Object.assign({}, this.param, this.data)

+ 2 - 1
src/components/normal-basic-layout/details/modules/tabs/tab.vue

@@ -15,7 +15,7 @@
       <attachmentList v-if="activeName === 'file'" :attinfos="attinfo_attachment" @onSuccess="queryAttments" @cancelEdit="queryAttments">
         <upload slot="upload" :folderid="folderid"
           :bindData="{ ownertable: ownertable, ownerid: editData[idname], usetype: 'default' }"
-          @onSuccess="queryAttments"></upload>
+          @onSuccess="queryAttments" :hidemediastock="hidemediastock"></upload>
       </attachmentList>
     </div>
     <div v-show="activeName === 'log'">
@@ -41,6 +41,7 @@ export default {
       activeName:'tab0',
       attinfo_attachment:[],
       folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
+      hidemediastock:!JSON.parse(sessionStorage.getItem('activeApp')).selectfileinattachment,
     }
   },
   methods:{

+ 7 - 4
src/components/normal-basic-layout/index.vue

@@ -4,7 +4,7 @@
       <div class="layout-header-panel container normal-panel">
         <div class="flex-align-center flex-between">
           <div class="normal-margin flex-align-center">
-            <div v-if="activeApp" style="font-size:26px;font-weight:300">{{customTitle ? customTitle : activeApp.meta.title}}&nbsp;
+            <div v-if="activeApp" style="font-size:26px;font-weight:300;flex-shrink:0">{{customTitle ? customTitle : activeApp.meta.title}}&nbsp;
               <!-- <i v-if="!customTitle" @click="addToAsideBar" style="color:#999" :class="showAppCollection()?'el-icon-star-on collection':'el-icon-star-off'"></i> -->
               <div v-if="!customTitle" style="display:inline">
                 <img width="20" v-if="showAppCollection()" src="@/assets/icons/incoll.svg" alt="">
@@ -13,7 +13,7 @@
             </div>
             <div style="margin:0 8px"></div>
 
-            <div class="flex-align-center">
+            <div class="flex-align-center flex-wrap" style="line-height: 40px;">
               <div v-if="oldFormPath || formPath">
                 <cpAdd v-if="tool.checkAuth($route.name,'insert')" :formPath="formPath" :oldFormPath="oldFormPath" @onAddSuccess="listData(param.content.pageNumber = 1)"></cpAdd>
               </div>
@@ -28,10 +28,10 @@
                   <el-button @click="printBtn({},scope2.data)" type="text" size="mini">打 印</el-button>
                 </template>
               </reportCenter>
+              <slot name="titleRight"></slot>
             </div>
-            <slot name="titleRight"></slot>
           </div>
-          <div class="normal-margin">
+          <div class="normal-margin" style="flex-shrink:0">
             <setColumn :layout="layout" @changeColumn="changeColumn"></setColumn>
             <setFixed :data="tableLayout" @onFixedClick="onFixedClick"></setFixed>
             <i class="el-icon-refresh" @click="listData(param.content.pageNumber = 1,param.content.where.condition = '')"></i>
@@ -345,4 +345,7 @@ export default {
   color: orange !important;
   flex-direction: row-reverse;
 }
+.flex-wrap {
+  flex-wrap: wrap;
+}
 </style>

+ 1 - 1
src/components/uploadBindMediaStock/index.vue

@@ -1,6 +1,6 @@
 <template>
 <div>
-  <el-button class="normal-margin" size="small" type="primary" @click="onShow">从媒体库选择</el-button>
+  <el-button class="normal-margin" size="small" type="primary" @click="onShow">查询媒体库所有数据</el-button>
   <el-dialog title="媒体库" append-to-body :visible.sync="dialogMediaVisible" width="90%" top="30px">
     <list ref="list" :accept="accept" @folderChecked="folderChecked" @toFolderDetail="toFolderDetail">
       <!-- <div slot="upload">