浏览代码

更新2022-11-02

qymljy 2 年之前
父节点
当前提交
0aed503de6

+ 83 - 4
src/Form/QuotedPrice/add.vue

@@ -1,7 +1,82 @@
 <template>
   <div>
     <el-button size="mini" type="primary" @click="dialogFormVisible = true">新 增</el-button>
-    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="900px">
+    <el-drawer
+        title="创建报价单"
+        :visible.sync="dialogFormVisible"
+        size="800px"
+        direction="rtl"
+        append-to-body
+        @close="onClose">
+      <div class="drawer__panel">
+        <el-row :gutter="120">
+          <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="left" size="mini">
+            <el-col :span="10">
+              <el-form-item label="项目名称" >
+                <el-input v-model="form.projectname" placeholder="请选择项目" style="width: 100%" @focus="projectList"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="10">
+              <el-form-item label="项目编号" >
+                <el-input v-model="form.projectnum" placeholder="请输入项目编号" style="width: 100%"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="10">
+              <el-form-item label="收件单位" >
+                <el-input v-model="form.sys_enterpriseid" placeholder="请选择收件单位" style="width: 100%" @focus="enterpriseList"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="10">
+              <el-form-item label="收件人" >
+                <el-input v-model="form.contactsid" placeholder="请选择收件人" style="width: 100%" ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="10">
+              <el-form-item label="收件手机号" >
+                <el-input v-model="form.phonenumber" placeholder="请输入联系方式" style="width: 100%" ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="10">
+              <el-form-item label="报价单有效期" >
+                <el-date-picker
+                    v-model="form.invaliddate"
+                    type="date"
+                    value-format="yyyy-MM-dd"
+                    placeholder="选择日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <!--          <el-col :span="10">
+                        <el-form-item label="备注" >
+                          <el-input v-model="form.remarks" placeholder="请输入备注信息" style="width: 100%"></el-input>
+                        </el-form-item>
+                      </el-col>-->
+            <el-col :span="20">
+              <p>商品明细报价</p>
+            </el-col>
+            <el-col :span="20">
+              <hr style="margin-top: 2%;margin-bottom: 2%">
+            </el-col>
+            <el-col :span="10">
+              <el-form-item label="整单折扣(系数)" >
+                <el-input v-model="form.discountrate" placeholder="保留两位小数" style="width: 100%"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="2" :offset="1">
+              <el-button size="small" @click="dialogProjectVisible = false" type="primary" class="normal-btn-width el-icon-plus">添加商品明细</el-button>
+            </el-col>
+            <el-col :span="2">
+              <el-button size="small" @click="dialogProjectVisible = false" type="info" class="normal-btn-width">删除</el-button>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="fixed__btn__panel">
+        <el-button size="small" @click="drawer = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
+      </div>
+    </el-drawer>
+<!--    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="900px">
       <div slot="title" style="font-size: 15px">
         新增报价单
       </div>
@@ -42,11 +117,11 @@
               </el-date-picker>
             </el-form-item>
           </el-col>
-<!--          <el-col :span="10">
+&lt;!&ndash;          <el-col :span="10">
             <el-form-item label="备注" >
               <el-input v-model="form.remarks" placeholder="请输入备注信息" style="width: 100%"></el-input>
             </el-form-item>
-          </el-col>-->
+          </el-col>&ndash;&gt;
           <el-col :span="20">
             <p>商品明细报价</p>
           </el-col>
@@ -70,7 +145,7 @@
         <el-button size="small" @click="dialogProjectVisible = false" 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>
+    </el-dialog>-->
 <!--    <el-dialog title="新 增" :visible.sync="dialogProjectVisible" width="900px">
       <div slot="title" style="font-size: 15px">
         选择项目
@@ -229,6 +304,10 @@ export default {
       console.log(data)
       this.projectData = data
     },
+    onClose(){
+      this.dialogFormVisible = false
+      this.$refs['form'].resetFields()
+    }
   },
   created() {
     this.tablecols = this.tool.tabelCol(this.$route.name).projectTable.tablecols

+ 63 - 44
src/Form/competitor/add.vue

@@ -1,57 +1,72 @@
 <template>
   <div>
     <el-button size="mini" type="primary" @click="onShow">新 增</el-button>
-    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="900px">
+    <el-drawer
+        title="创建竞争对手"
+        :visible.sync="dialogFormVisible"
+        size="800px"
+        direction="rtl"
+        append-to-body
+        @close="onClose">
+      <div class="drawer__panel">
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="left" size="mini" >
+            <el-col :span="20">
+              <el-form-item label="品牌名称" prop="brandname">
+                <el-input v-model="form.brandname" placeholder="请输入品牌名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="20">
+              <el-form-item label="企业名称" prop="enterprisename">
+                <el-popover
+                    placement="bottom"
+                    width="100%"
+                    v-model="visible">
+                  <div>
+                    <ul class="enterprisePanel">
+                      <li v-for="item in ENlist" :key="item.sys_enterpriseid" @click="chooseEnterprise(item)">
+                        <p>{{item.enterprisename}}</p>
+                        <small>{{item.province}}-{{item.city}}-{{item.county}}</small>
+                      </li>
+                    </ul>
+                  </div>
+                  <el-input slot="reference" v-model="form.enterprisename" @focus="queryEnterpriseArchives" @input.native="onChange"  placeholder="输入企业名称" clearable></el-input>
+                </el-popover>
+              </el-form-item>
+            </el-col>
+            <el-col :span="20">
+              <el-form-item label="优势信息" >
+                <el-input type="textarea" autosize v-model="form.advantage" placeholder="请输入优势信息"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="20">
+              <el-form-item label="劣势信息" >
+                <el-input  v-model="form.inferiority" placeholder="请输入劣势信息"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="20">
+              <el-form-item label="备注" >
+                <el-input type="textarea" autosize v-model="form.remarks" placeholder="请输入备注信息"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="fixed__btn__panel">
+        <el-button size="small" @click="onClose" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
+      </div>
+    </el-drawer>
+<!--    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="900px">
       <div slot="title" style="font-size: 15px">
         新增竞争对手
       </div>
-      <el-row :gutter="20">
-        <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="left" size="mini" >
-          <el-col :span="20">
-            <el-form-item label="品牌名称" prop="brandname">
-              <el-input v-model="form.brandname" placeholder="请输入品牌名称"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="企业名称" prop="enterprisename">
-              <el-popover
-                  placement="bottom"
-                  width="100%"
-                  v-model="visible">
-                <div>
-                  <ul class="enterprisePanel">
-                    <li v-for="item in ENlist" :key="item.sys_enterpriseid" @click="chooseEnterprise(item)">
-                      <p>{{item.enterprisename}}</p>
-                      <small>{{item.province}}-{{item.city}}-{{item.county}}</small>
-                    </li>
-                  </ul>
-                </div>
-                <el-input slot="reference" v-model="form.enterprisename" @focus="queryEnterpriseArchives" @input.native="onChange"  placeholder="输入企业名称" clearable></el-input>
-              </el-popover>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="优势信息" >
-              <el-input type="textarea" autosize v-model="form.advantage" placeholder="请输入优势信息"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="劣势信息" >
-              <el-input  v-model="form.inferiority" placeholder="请输入劣势信息"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="备注" >
-              <el-input type="textarea" autosize v-model="form.remarks" placeholder="请输入备注信息"></el-input>
-            </el-form-item>
-          </el-col>
-        </el-form>
-      </el-row>
+
       <div class="dialog-footer">
         <el-button size="small" @click="dialogFormVisible = false" 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>
+    </el-dialog>-->
   </div>
 </template>
 
@@ -141,6 +156,10 @@ export default {
       item.province = `${item.province}-${item.city}-${item.county}`
       this.enterprise = item
     },
+    onClose(){
+      this.dialogFormVisible = false
+      this.$refs['form'].resetFields()
+    }
   }
 }
 </script>

+ 59 - 44
src/Form/competitor/edit.vue

@@ -1,57 +1,72 @@
 <template>
   <div>
     <el-button size="mini"  :type="btnType?btnType:'text'"  @click="show" >编 辑</el-button>
-    <el-dialog title="编 辑" :visible.sync="dialogFormVisible" width="900px">
+    <el-drawer
+        title="创建用户"
+        :visible.sync="dialogFormVisible"
+        size="800px"
+        direction="rtl"
+        append-to-body
+        @close="dialogFormVisible = false">
+      <div class="drawer__panel">
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="left" size="mini">
+            <el-col :span="20">
+              <el-form-item label="品牌名称" prop="brandname">
+                <el-input v-model="form.brandname" placeholder="请输入品牌名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="20">
+              <el-form-item label="企业名称" prop="enterprisename">
+                <el-popover
+                    placement="bottom"
+                    width="100%"
+                    v-model="visible">
+                  <div>
+                    <ul class="enterprisePanel">
+                      <li v-for="item in ENlist" :key="item.sys_enterpriseid" @click="chooseEnterprise(item)">
+                        <p>{{item.enterprisename}}</p>
+                        <small>{{item.province}}-{{item.city}}-{{item.county}}</small>
+                      </li>
+                    </ul>
+                  </div>
+                  <el-input slot="reference" v-model="form.enterprisename" @focus="queryEnterpriseArchives" @input.native="onChange"  placeholder="输入企业名称" clearable></el-input>
+                </el-popover>
+              </el-form-item>
+            </el-col>
+            <el-col :span="20">
+              <el-form-item label="优势信息" >
+                <el-input type="textarea" autosize v-model="form.advantage" placeholder="请输入优势信息"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="20">
+              <el-form-item label="劣势信息" >
+                <el-input type="textarea" autosize v-model="form.inferiority" placeholder="请输入劣势信息"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="20">
+              <el-form-item label="备注" >
+                <el-input type="textarea" autosize v-model="form.remarks" placeholder="请输入备注信息"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="fixed__btn__panel">
+        <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
+      </div>
+    </el-drawer>
+<!--    <el-dialog title="编 辑" :visible.sync="dialogFormVisible" width="900px">
       <div slot="title" style="font-size: 15px">
         编辑竞争对手
       </div>
-      <el-row :gutter="20">
-        <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="left" size="mini">
-          <el-col :span="20">
-            <el-form-item label="品牌名称" prop="brandname">
-              <el-input v-model="form.brandname" placeholder="请输入品牌名称"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="企业名称" prop="enterprisename">
-              <el-popover
-                  placement="bottom"
-                  width="100%"
-                  v-model="visible">
-                <div>
-                  <ul class="enterprisePanel">
-                    <li v-for="item in ENlist" :key="item.sys_enterpriseid" @click="chooseEnterprise(item)">
-                      <p>{{item.enterprisename}}</p>
-                      <small>{{item.province}}-{{item.city}}-{{item.county}}</small>
-                    </li>
-                  </ul>
-                </div>
-                <el-input slot="reference" v-model="form.enterprisename" @focus="queryEnterpriseArchives" @input.native="onChange"  placeholder="输入企业名称" clearable></el-input>
-              </el-popover>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="优势信息" >
-              <el-input type="textarea" autosize v-model="form.advantage" placeholder="请输入优势信息"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="劣势信息" >
-              <el-input type="textarea" autosize v-model="form.inferiority" placeholder="请输入劣势信息"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="20">
-            <el-form-item label="备注" >
-              <el-input type="textarea" autosize v-model="form.remarks" placeholder="请输入备注信息"></el-input>
-            </el-form-item>
-          </el-col>
-        </el-form>
-      </el-row>
+
       <div class="dialog-footer">
         <el-button size="small" @click="dialogFormVisible = false" 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>
+    </el-dialog>-->
   </div>
 </template>
 

+ 123 - 2
src/Form/projectChange/add.vue

@@ -1,7 +1,114 @@
 <template>
   <div>
     <el-button size="mini" type="primary" @click="dialogFormVisible = true">新 增</el-button>
-    <el-dialog title="新 增" append-to-body :visible.sync="dialogFormVisible" width="50%">
+    <el-drawer
+        title="新建项目"
+        :visible.sync="dialogFormVisible"
+        size="45%"
+        direction="rtl"
+        append-to-body
+        @close="onClose">
+      <div class="drawer__panel">
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="left" size="mini">
+            <el-col :span="12">
+              <el-form-item label="项目名称" prop="projectname">
+                <el-input v-model="form.projectname" placeholder="请输入项目名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="项目编号" prop="projectnum">
+                <el-input v-model="form.projectnum" placeholder="请输入项目编号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="当前项目模板" prop="sa_projstagetempid">
+                <el-select v-model="form.sa_projstagetempid" placeholder="请选择当前项目模板" size="mini">
+                  <el-option
+                      v-for="item in projectPanl()"
+                      :key="item.sa_projstagetempid"
+                      :label="item.stagetempname"
+                      :value="item.sa_projstagetempid">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="项目类型" prop="projecttype">
+                <el-select v-model="form.projecttype" placeholder="请选择项目类型" size="mini">
+                  <el-option
+                      v-for="(item,index) in projectType()"
+                      :key="index"
+                      :label="item.value"
+                      :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="项目预算" prop="budgetary">
+                <el-input v-model="form.budgetary" placeholder="项目预算"></el-input>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="12">
+              <el-form-item label="项目规模" prop="scale">
+                <el-input v-model="form.scale" placeholder="请输入项目规模"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="预计签约金额" prop="signamount_due">
+                <el-input v-model="form.signamount_due" placeholder="请输入预计签约金额"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="项目等级" prop="grade">
+                <el-select v-model="form.grade" placeholder="请选择项目等级" size="mini">
+                  <el-option
+                      v-for="item in projectLead()"
+                      :key="item.rowindex"
+                      :label="item.value"
+                      :value="item.rowindex">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="项目地址" prop="province">
+                <el-cascader
+                    style="width:100%"
+                    v-model="value"
+                    :options="basicData.data().areaData"
+                    @change="cascaderChange" clearable>
+                </el-cascader>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="12">
+              <el-form-item label="详细地址" prop="address">
+                <el-input v-model="form.address" placeholder="请输入详细地址"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="预计签约月份" prop="signdate_due">
+                <el-date-picker
+                    style="width: 100%"
+                    v-model="form.signdate_due"
+                    type="month"
+                    placeholder="选择月份"
+                    @change="timeChange">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="fixed__btn__panel">
+        <el-button size="small" @click="onClose" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
+      </div>
+    </el-drawer>
+<!--    <el-dialog title="新 增" append-to-body :visible.sync="dialogFormVisible" width="50%">
       <div slot="title" style="font-size: 15px">
         新增账户类型
       </div>
@@ -101,7 +208,7 @@
         <el-button size="small" @click="dialogFormVisible = false" 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>
+    </el-dialog>-->
   </div>
 </template>
 
@@ -131,6 +238,7 @@ export default {
         "city":"",
         "county":"",
       },
+      value:'',
       rules:{
         projectname:[
           { required: true, message: '输入项目名称', trigger: 'blur'},
@@ -147,13 +255,23 @@ export default {
         sa_projstagetempid:[
           { required: true, message: '请选择当前项目模板', trigger: 'blur'}
         ],
+        province:[
+          { required: true, message: '请选择项目地址', trigger: 'blur'}
+        ]
       }
     }
   },
   methods:{
     /*省市县*/
     cascaderChange (val) {
+      /*console.log(val)
       this.form = Object.assign({},this.form,{province:val[0],city:val[1],county:val[2]})
+      console.log(this.form)*/
+      if (val.length === 1)
+        return this.form = Object.assign({},this.form,{province:val[0],city:'',county:''})
+
+      this.form = Object.assign({},this.form,{province:val[0],city:val[1],county:val[2]})
+
     },
     onSubmit(){
       console.log(this.form)
@@ -184,6 +302,9 @@ export default {
       var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
       var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
       return date.getFullYear() + "-" + month + "-" + currentDate
+    },
+    onClose(){
+      this.$refs['form'].resetFields()
     }
   }
 }

+ 111 - 2
src/Form/projectChange/edit.vue

@@ -1,7 +1,113 @@
 <template>
   <div>
     <el-button size="mini" :type="btnType?btnType:'text'" @click="editBtn">编 辑</el-button>
-    <el-dialog title="新 增" append-to-body :visible.sync="dialogFormVisible" width="50%">
+    <el-drawer
+        title="创建用户"
+        :visible.sync="dialogFormVisible"
+        size="800px"
+        direction="rtl"
+        append-to-body
+        @close="onClose">
+      <div class="drawer__panel">
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="left" size="mini">
+            <el-col :span="12">
+              <el-form-item label="项目名称" prop="projectname">
+                <el-input v-model="form.projectname" placeholder="请输入项目名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="项目编号" prop="projectnum">
+                <el-input v-model="form.projectnum" placeholder="请输入项目编号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="当前项目模板" prop="sa_projstagetempid">
+                <el-select v-model="form.sa_projstagetempid" placeholder="请选择当前项目模板" size="mini">
+                  <el-option
+                      v-for="item in projectPanl()"
+                      :key="item.sa_projstagetempid"
+                      :label="item.stagetempname"
+                      :value="item.sa_projstagetempid">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="项目类型" prop="projecttype">
+                <el-select v-model="form.projecttype" placeholder="请选择项目类型" size="mini">
+                  <el-option
+                      v-for="(item,index) in projectType()"
+                      :key="index"
+                      :label="item.value"
+                      :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="项目预算" prop="budgetary">
+                <el-input v-model="form.budgetary" placeholder="项目预算"></el-input>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="12">
+              <el-form-item label="项目规模" prop="scale">
+                <el-input v-model="form.scale" placeholder="请输入项目规模"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="预计签约金额" prop="signamount_due">
+                <el-input v-model="form.signamount_due" placeholder="请输入预计签约金额"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="项目等级" prop="grade">
+                <el-select v-model="form.grade" placeholder="请选择项目等级" size="mini">
+                  <el-option
+                      v-for="item in projectLead()"
+                      :key="item.rowindex"
+                      :label="item.value"
+                      :value="item.rowindex">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="项目地址" prop="province">
+                <el-cascader
+                    style="width:100%"
+                    v-model="form.province"
+                    :options="basicData.data().areaData"
+                    @change="cascaderChange" clearable>
+                </el-cascader>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="12">
+              <el-form-item label="详细地址" prop="address">
+                <el-input v-model="form.address" placeholder="请输入详细地址"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="预计签约时间" prop="signdate_due">
+                <el-date-picker
+                    v-model="form.signdate_due"
+                    type="date"
+                    placeholder="选择日期"
+                    @change="timeChange">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="fixed__btn__panel">
+        <el-button size="small" @click="drawer = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
+      </div>
+    </el-drawer>
+<!--    <el-dialog title="新 增" append-to-body :visible.sync="dialogFormVisible" width="50%">
       <div slot="title" style="font-size: 15px">
         新增账户类型
       </div>
@@ -101,7 +207,7 @@
         <el-button size="small" @click="dialogFormVisible = false" 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>
+    </el-dialog>-->
   </div>
 </template>
 
@@ -196,6 +302,9 @@ export default {
       var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
       var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
       return date.getFullYear() + "-" + month + "-" + currentDate
+    },
+    onClose(){
+      this.dialogFormVisible = false
     }
   }
 }

+ 50 - 2
src/Form/projectManage/add.vue

@@ -1,7 +1,51 @@
 <template>
   <div>
     <el-button size="mini" type="primary" @click="onShow(dialogFormVisible = true)">新 增</el-button>
-    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="500px">
+    <el-drawer
+        title="新增模板"
+        :visible.sync="dialogFormVisible"
+        size="800px"
+        direction="rtl"
+        append-to-body
+        @close="onClose">
+      <div class="drawer__panel">
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules" ref="form" label-width="110px" label-position="left" size="mini">
+            <el-col :span="24">
+              <el-form-item label="项目模板名称" prop="stagetempname">
+                <el-input v-model="form.stagetempname" placeholder="项目模板名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="项目类型">
+                <el-select v-model="form.projecttype" style="width:100%">
+                  <el-option v-for="item in sys_options" :key="item.index" :value="item.value" :label="item.value"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="备注" prop="remarks">
+                <el-input type="textarea" v-model="form.remarks" placeholder="请输入备注"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="10">
+              <el-form-item>
+                <div style="display:flex">
+                  <el-checkbox :true-label="1" :false-label="0" v-model="form.isused" checked="checked">启用</el-checkbox>
+                  <el-checkbox :true-label="1" :false-label="0" v-model="form.locked">锁定</el-checkbox>
+                </div>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="fixed__btn__panel">
+        <el-button size="small" @click="onClose" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
+      </div>
+    </el-drawer>
+
+<!--    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="500px">
       <div slot="title" style="font-size: 15px">
         新增模板
       </div>
@@ -38,7 +82,7 @@
         <el-button size="small" @click="dialogFormVisible = false" 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>
+    </el-dialog>-->
   </div>
 </template>
 
@@ -93,6 +137,10 @@ export default {
           this.dialogFormVisible = false
         })
       })
+    },
+    onClose(){
+      this.dialogFormVisible = false
+      this.$refs['form'].resetFields()
     }
   }
 }

+ 1 - 1
src/HDrpManagement/competitor/detail/modules/toVoid.vue

@@ -4,7 +4,7 @@
     <el-dialog
         title="提示"
         :visible.sync="dialogVisible"
-        width="900px"
+        width="600px"
         center>
       <span>是否确定作废该竞争对手</span>
       <span slot="footer" class="dialog-footer">

+ 10 - 2
src/HDrpManagement/competitor/index.vue

@@ -1,6 +1,15 @@
 <template>
   <div>
-    <basicLayout ref="list" formPath="competitor" tableName="competitorTable" idName="sa_competitorid" :apiId="{query:20221018164302,del:''}" :options="options" :autoQuery="false">
+    <basicLayout
+        ref="list"
+        formPath="competitor"
+        tableName="competitorTable"
+        idName="sa_competitorid"
+        :apiId="{query:20221018164302,del:''}"
+        :options="options"
+        :autoQuery="false"
+        :detailPath="{path:'/competitorDetail'}"
+      >
       <div slot="custom" class="inline-16">
         <el-date-picker
           v-model="date"
@@ -20,7 +29,6 @@
         </div>
       </template>
       <template v-slot:tbOpreation="scope">
-        <el-button size="mini" type="text" @click="$router.push({path:'/competitorDetail',query:{id:scope.data.data.sa_competitorid,data:scope.data.data,rowindex:scope.data.data.rowindex}})">详情</el-button>
       </template>
     </basicLayout>
   </div>

+ 46 - 6
src/HDrpManagement/projectChange/index.vue

@@ -8,14 +8,25 @@
       idName="sa_projectid" 
       :apiId="{query:20221020143502,del:20221020144302}" 
       :options="options"
-      :detailPath="{path:'/projectChangeDetail',param:{tabIndex:editableTabsValue}}">
+      :detailPath="{path:'/projectChangeDetail',param:{tabIndex:tabIndex}}">
+      <template #titleRight>
+        <el-divider direction="vertical"></el-divider>
+        <el-dropdown size="medium" @command="handleCommand">
+          <span class="el-dropdown-link">
+            {{tabName}}<i class="el-icon-arrow-down el-icon--right"></i>
+          </span>
+          <el-dropdown-menu slot="dropdown">
+            <el-dropdown-item v-for="(item,index) in editableTabs" :key="index" :command="item">{{item.title}}</el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
+      </template>
       <div slot="custom" style="display:flex">
-        <el-select class="inline-16" v-model="editableTabsValue" placeholder="筛选数据" @change="onChange" size="small">
+        <el-select class="inline-16" v-model="statusValue" placeholder="项目状态" @change="onChange" size="small">
           <el-option
-            v-for="item in editableTabs"
-            :key="item.name"
-            :label="item.title"
-            :value="item.name">
+            v-for="item in statusTab"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value">
           </el-option>
         </el-select>
         <time-select class="inline-16" @clearSelect="clearTime" @timeChange="timeChange"></time-select>
@@ -57,7 +68,28 @@ export default {
       projectType:'',
       projectLead:'',
       projectPanl:'',
+      statusValue:"全部",
       options:[],
+      statusTab:[
+        {
+          value:"",
+          label:"全部"
+        },
+        {
+          value:"跟进中",
+          label:"跟进中"
+        },
+        {
+          value:"已成交",
+          label:"已成交"
+        },
+        {
+          value:"已失败",
+          label:"已失败"
+        }
+      ],
+      tabName:"我负责的",
+      tabIndex:"",
       editableTabs: [{
         title: '全部',
         name: "0",
@@ -134,6 +166,13 @@ export default {
       })
       this.projectPanl = res.data
     },
+    handleCommand(command){
+      console.log("输出command")
+      console.log(command)
+      this.tabName = command.title
+      this.tabIndex = command.name
+      this.queryData(command.name)
+    },
     queryData(id){
       console.log("执行")
       this.$refs['basicLayout'].param.content.type = id
@@ -143,6 +182,7 @@ export default {
     onChange (val) {
       console.log(val)
       this.$refs['basicLayout'].param.content.type = this.editableTabsValue
+      this.$refs['basicLayout'].param.content.where.status = this.statusValue
       this.$refs['basicLayout'].param.content.isExport = 0
       this.$refs['basicLayout'].listData()
     },

+ 8 - 1
src/HManagement/notice/dataAnalysis/index.vue

@@ -6,7 +6,9 @@
         :with-header="false"
         direction="rtl"
         size="90%"
-        append-to-body>
+        append-to-body
+        @close="onClose"
+      >
       <div class="detail__panel">
         <div class="tabs normal-panel normal-margin">
           <el-tabs v-model="activeName">
@@ -37,6 +39,11 @@ export default {
       drawer:true
     }
   },
+  methods:{
+    onClose(){
+      this.$router.go(-1)
+    }
+  },
   created () {
     this.tool.checkAuth(this.$route.name,'data_analysis')?'':this.$router.go(-1)
   }

+ 13 - 35
src/HManagement/notice/index.vue

@@ -6,6 +6,7 @@
         tableName="noticeTable"
         idName="sat_noticeid"
         :apiId="{query:20221101094903,del:20221101095103}"
+        :options="options"
         >
     >
       <template v-slot:tbList="scope">
@@ -21,59 +22,36 @@
       <template v-slot:tbOpreation="scope">
         <edit :id="scope.data.data.sat_noticeid" @updateSuccess="onSuccess"></edit>
         <el-button class="inline-16" v-if="tool.checkAuth($route.name,'data_analysis')" type="text" size="small" @click="$router.push({path:'/notice_analysis',query:{id:scope.data.data.sat_noticeid}})">数据分析</el-button>
-<!--        <el-button v-if="tool.checkAuth($route.name,'data_analysis')" type="text" size="small" @click="$router.push({path:'/notice_edit',query:{id:scope.data.data.sat_noticeid}})">详情</el-button>-->
-        <message class="inline-16" v-if="tool.checkAuth($route.name,'read')" :data="scope.data.data" @onSuccess="onSuccess"></message>
+        <message class="inline-16" v-if="tool.checkAuth($route.name,'read')" :data="scope.data.data.sat_noticeid" @onSuccess="onSuccess"></message>
       </template>
     </basicLayout>
-<!--    <div class="container normal-panel normal-margin">
-      <el-button type="primary" icon="el-icon-plus" v-if="tool.checkAuth($route.name,'insert')" size="small" @click="$router.push({path:'/notice_add'})">新 建</el-button>
-    </div>
-    <list ref="list">
-      <template v-slot:edit="scope">
-        <el-button class="inline-16" @click="$router.push({path:'/notice_edit',query:{id:scope.data.data.sat_noticeid}})" type="text" size="mini">编 辑</el-button>
-      </template>
-      <template v-slot:release="scope">
-        <release v-if="tool.checkAuth($route.name,'update')"  :data="scope.data.data" @onSuccess="onSuccess"></release>
-      </template>
-      <template v-slot:topping="scope">
-        <topping v-if="tool.checkAuth($route.name,'update')" :data="scope.data.data" @onSuccess="onSuccess"></topping>
-      </template>
-      <template v-slot:message="scope">
-        <message class="inline-16" v-if="tool.checkAuth($route.name,'read')" :data="scope.data.data" @onSuccess="onSuccess"></message>
-      </template>
-      <template v-slot:data_statistics="scope">
-        <el-button v-if="tool.checkAuth($route.name,'data_analysis')" type="text" size="small" @click="$router.push({path:'/notice_analysis',query:{id:scope.data.data.sat_noticeid}})">数据分析</el-button>
-      </template>
-      <template v-slot:del="scope">
-        <on-del v-if="tool.checkAuth($route.name,'delete')" :data="scope.data.data" @onSuccess="onSuccess"></on-del>
-      </template>
-    </list>-->
   </div>
 </template>
 
 <script>
-import list from './list/list.vue'
-import release from './list/modules/release.vue'
-import topping from './list/modules/tp.vue'
-import message from './list/modules/message.vue'
 
-import onDel from './list/modules/delete.vue'
 
+import message from './list/modules/message.vue'
 import edit from './list/modules/edit'
 
 
 export default {
   data(){
     return {
-
+      options:[
+        {
+          label:'新建',
+          value:'新建'
+        },
+        {
+          label:'发布',
+          value:'发布'
+        }
+      ]
     }
   },
   components:{
-    list,
-    release,
-    topping,
     message,
-    onDel,
     edit
   },
   methods:{

+ 0 - 1
src/HManagement/notice/list/modules/add.vue

@@ -44,7 +44,6 @@ export default {
     async onSubmit () {
       const res = await this.$api.requested({
         "id": "20221101094803",
-        "method": "insertormodify_notice",
         "content": this.form
       })
       res.code === 1?this.$router.push({path:'/notice_add',query:{id:res.data.sat_noticeid}}):''

+ 20 - 5
src/HManagement/notice/list/modules/add_notice.vue

@@ -4,15 +4,16 @@
         title="我是标题"
         :visible.sync="drawer"
         :with-header="false"
-        :wrapper-closable="false"
         direction="rtl"
         size="90%"
-        append-to-body>
+        append-to-body
+        @close="cancel"
+      >
       <div class="detail__panel">
-        <div class="container normal-panel normal-margin sticky">
+<!--        <div class="container normal-panel normal-margin sticky">
           <el-button   type="warning" size="small" icon="el-icon-s-claim" @click="onSubmit()" >保 存</el-button>
           <el-button   size="small" icon="el-icon-s-claim" @click="cancel()" >取消</el-button>
-        </div>
+        </div>-->
         <div style="overflow-x:hidden">
           <el-row :gutter="16">
             <el-col :span="13">
@@ -105,6 +106,10 @@
         </div>
         <!--        <router-view v-if = "drawer"/>-->
       </div>
+      <div class="fixed__btn__panel">
+        <el-button size="small" @click="onClose" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
+      </div>
     </el-drawer>
   </div>
 </template>
@@ -293,7 +298,6 @@ export default {
       this.save = true
     },*/
     async cancel(){
-      this.drawer = false
       console.log(this.$route.query.id)
       const res = this.$api.requested({
         "id":"20221101095103",
@@ -301,7 +305,18 @@ export default {
           "sat_noticeids": [this.$route.query.id]
         }
       })
+      this.drawer = false
       this.$router.go(-1)
+    },
+    onClose(){
+      console.log(this.$route.query.id)
+      const res = this.$api.requested({
+        "id":"20221101095103",
+        "content":{
+          "sat_noticeids": [this.$route.query.id]
+        }
+      })
+      this.drawer = false
     }
   },
   mounted() {

+ 2 - 3
src/HManagement/notice/list/modules/edit.vue

@@ -11,11 +11,10 @@
         @close="drawer = false">
       <div class="detail__panel">
         <div class="container normal-panel normal-margin sticky">
-<!--          <el-button v-show="save"  type="warning" size="small"  @click="onSubmit()" >保 存</el-button>-->
           <el-button class="inline-16" v-if="edit" type="primary" size="small"  @click="onEdit()" >编 辑</el-button>
           <p class="inline-16" v-if="save">编辑</p>
-          <release  class="inline-16" v-if="tool.checkAuth($route.name,'update') && edit"  :data="form" @onSuccess="onSuccess"></release>
-          <topping  class="inline-16" v-if="tool.checkAuth($route.name,'update') && edit" :data="form" @onSuccess="onSuccess"></topping>
+          <release  class="inline-16" v-if="tool.checkAuth($route.name,'update') && status"  :data="form" @onSuccess="onSuccess"></release>
+          <topping  class="inline-16" v-if="tool.checkAuth($route.name,'update') && status" :data="form" @onSuccess="onSuccess"></topping>
         </div>
         <div style="overflow-x:hidden">
           <el-row :gutter="16">

+ 95 - 39
src/HManagement/notice/list/modules/message.vue

@@ -1,33 +1,28 @@
 <template>
   <div>
-    <el-button type="text" size="mini" @click="query_message(dialogTableVisible = true)">查看留言</el-button>
+    <el-button type="text" size="mini" @click="query_message()">查看留言</el-button>
     <el-drawer
-        title="我是标题"
+        title="查看留言"
         :visible.sync="dialogTableVisible"
         :with-header="false"
         direction="rtl"
-        size="90%"
+        size="60%"
         append-to-body>
-      <div class="detail__panel">
-        <basicLayout
-            ref="list"
-            formPath=""
-            tableName="tableMessage"
-            idName="sat_noticeid"
-            :apiId="{query:20221101095703,del:''}"
+      <div class="container normal-panel normal-margin" style="width: 200px">
+        <el-input
+            placeholder="请输入搜索内容"
+            suffix-icon="el-icon-search"
+            v-model="search"
+            @keyup.native.enter="queryClick()"
+            @clear="clearData()"
+            style="width:200px"
+            size="small"
+            class="input-with-select inline-16" clearable
         >
-          <template v-slot:tbList="scope">
-            <div v-if="scope.data.column.columnname === 'usertype'">
-              <p v-if="scope.data.column.data.usertype === 1">企业员工</p>
-              <p v-else-if="scope.data.column.data.usertype === 21">经销商</p>
-              <p v-else-if="scope.data.column.data.usertype === 22">经销商员工</p>
-              <p v-else>未知</p>
-            </div>
-            <div >{{scope.data.column.data[scope.data.column.columnname]}}</div>
-          </template>
-
-        </basicLayout>
-<!--        <tableLayout :layout="tablecols" :data="list" :opwidth="200" :custom="true">
+        </el-input>
+      </div>
+      <div class="detail__panel">
+        <tableLayout :layout="tablecols" ref="list" :data="list" :opwidth="200" :custom="true" height="calc(100vh - 140px)">
           <template v-slot:customcol="scope">
             <div v-if="scope.column.columnname === 'usertype'">
               <p v-if="scope.column.data.usertype === 1">企业员工</p>
@@ -37,13 +32,22 @@
             </div>
             <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
           </template>
-        </tableLayout>-->
+        </tableLayout>
+        <div class="container normal-panel" style="text-align:right">
+          <el-pagination
+              background
+              small
+              @size-change="handleSizeChange"
+              @current-change="handleCurrentChange"
+              :current-page="currentPage"
+              :page-size="params.content.pageSize"
+              :page-sizes="[20, 50, 100, 200]"
+              layout="total, prev, pager, next, jumper"
+              :total="total">
+          </el-pagination>
+        </div>
       </div>
     </el-drawer>
-<!--    <el-dialog title="留言信息" :visible.sync="dialogTableVisible">
-       &lt;!&ndash; 表格主题 &ndash;&gt;
-
-    </el-dialog>-->
   </div>
 </template>
 
@@ -53,29 +57,81 @@ export default {
   data () {
     return {
       dialogTableVisible:false,
+      tableHieght:"100%",
       tablecols:[],
-      list:[]
+      list:[],
+      total:0,
+      currentPage:0,
+      search:"",
+      params:{
+        id: "20221101095703",
+        content: {
+          pageSize:10,
+          pageNumber:1,
+          sat_noticeid:'',
+          where:{
+            condition:""
+          }
+        }
+      },
     }
+  },
+  components:{
+
   },
   methods:{
-    /*async query_message() {
-      const res = await this.$api.requested({
-        "classname": "webmanage.saletool.notice.notice",
-        "method": "queryReadRecord",
-        "content": {
-          "sat_noticeid":this.data.sat_noticeid
-        }
-      })
+    async query_message() {
+      this.dialogTableVisible = true
+      this.params.content.sat_noticeid = this.data
+      console.log("输出内容")
+      console.log(this.params)
+      const res = await this.$api.requested(this.params)
       this.list = res.data
-    }*/
+      this.total = res.total
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.params.content.pageSize = val
+      this.query_message()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.params.content.pageNumber = val
+      this.query_message()
+    },
+    clearData(){
+      this.search = ""
+    },
+    queryClick(){
+      this.params.content.where.condition = this.search
+      this.query_message()
+    }
   },
   mounted () {
+
   },
   created () {
-    /*this.tablecols = this.tool.tabelCol(this.$route.name)['tableMessage'].tablecols*/
+    this.tablecols = this.tool.tabelCol(this.$route.name)['tableMessage'].tablecols
   }
 }
 
 </script>
-<style>
+<style scoped>
+/deep/.el-input__prefix {
+  display: flex;
+  align-items: center;
+}
+.dialog-footer{
+  margin-top:32px;
+  text-align: center;
+}
+.el-drawer__container {
+  position: relative;
+  left: 0;
+  right: 0;
+  top: 0;
+  bottom: 30;
+  height: 80%;
+  width: 100%;
+}
 </style>

+ 15 - 2
src/HManagement/notice/list/modules/tp.vue

@@ -1,8 +1,8 @@
 <template>
   <div >
 <!--    <el-button type="text" size="mini" @click="releaseNotice">{{data.isontop === 0?'置顶':'取消置顶'}}</el-button>-->
-    <el-button v-show="top" type="primary" size="small" plain @click="open">置顶</el-button>
-    <el-button v-show="unTop" type="primary" size="small" plain  @click="unOpen">取消置顶</el-button>
+    <el-button v-if="top" type="primary" size="small" plain @click="open">置顶</el-button>
+    <el-button v-if="unTop" type="primary" size="small" plain  @click="unOpen">取消置顶</el-button>
   </div>
 </template>
 
@@ -72,6 +72,19 @@ export default {
     }
   },
   mounted() {
+    console.log("输出置顶情况123")
+    console.log(this.data.isontop)
+    if (this.data.isontop === 0){
+      this.top = true
+      this.unTop = false
+    }else{
+      this.top = false
+      this.unTop = true
+    }
+  },
+  created() {
+    console.log("输出置顶情况")
+    console.log(this.data.isontop)
     if (this.data.isontop === 0){
       this.top = true
       this.unTop = false

+ 17 - 2
src/HManagement/submit/index.vue

@@ -8,10 +8,23 @@
         :apiId="{query:20221102093602,del:20221102094102}"
     >
       <template v-slot:tbList="scope">
-        <div>
+        <div v-if="scope.data.column.columnname === 'status'">
+            <span :style="scope.data.column.data.status === '发布' ? 'color:#52C41A' : ''">{{ scope.data.column.data.status
+              }}</span>
+        </div>
+        <div v-else-if="scope.data.column.columnname === 'onceonly'">
+          <span>{{ scope.data.column.data.onceonly === 1 ? '一事一报' : '一事多报' }}</span>
+        </div>
+        <div v-else>
           {{scope.data.column.data[[scope.data.column.columnname]]}}
         </div>
       </template>
+      <template v-slot:tbOpreation="scope">
+        <edit :id="scope.data.data.sat_submiteditmodelid" @updateSuccess="onSuccess"></edit>
+        <el-button class="inline-16" v-if="tool.checkAuth($route.name,'data_analysis')" type="text" size="small" @click="$router.push({path:'/submit_statistics',query:{id:scope.data.data.sat_submiteditmodelid}})">数据分析</el-button>
+
+        <!--        <el-button v-if="tool.checkAuth($route.name,'data_analysis')" type="text" size="small" @click="$router.push({path:'/notice_edit',query:{id:scope.data.data.sat_noticeid}})">详情</el-button>-->
+      </template>
     </basicLayout>
 <!--    <list ref="list">
       <el-button slot="add" icon="el-icon-plus" type="primary" size="small" @click="$router.push({path:'/submit_add'})">新 增</el-button>
@@ -39,12 +52,14 @@
 import list from './list/list.vue'
 import onDel from './list/modules/delete.vue'
 import release from './list/modules/release.vue'
+import edit from './list/modules/submit_edit'
 
 export default {
   components:{
     list,
     onDel,
-    release
+    release,
+    edit
   },
   methods:{
     onSuccess () {

+ 9 - 3
src/HManagement/submit/list/modules/release.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="inline-16">
-    <el-button type="text" size="mini" @click="releaseNotice">{{data.status === '新建'?'发 布':'取消发布'}}</el-button>
+    <el-button type="primary" plain size="small" @click="releaseNotice">{{data.status === '新建'?'发 布':'取消发布'}}</el-button>
   </div>
 </template>
 
@@ -13,8 +13,7 @@ export default {
   methods:{
     async releaseNotice () {
       const res = await this.$api.requested({
-        "classname": "webmanage.saletool.submitedit.submitedit",
-        "method": "releasesubmit",
+       "id":"20221102093802",
         "content": {
           "sat_submiteditmodelid": this.data.sat_submiteditmodelid,
           "isrelease":this.data.status === '新建'?1:0
@@ -23,6 +22,13 @@ export default {
       this.tool.showMessage(res)
       res.code === 1?this.$emit('onSuccess'):''
     }
+  },
+  mounted() {
+    console.log("发布数据")
+    console.log(this.data)
+  },
+  created() {
+    console.log("创建")
   }
 }
 

+ 23 - 8
src/HManagement/submit/list/modules/submit_add.vue

@@ -1,12 +1,12 @@
 <template>
   <div>
     <el-drawer
-        title="创建用户"
+        title="创建提报"
         :visible.sync="drawer"
         size="90%"
         direction="rtl"
         append-to-body
-        :wrapper-closable="false"
+        @close="onCancel"
         >
       <div class="drawer__panel">
         <el-row :gutter="16">
@@ -75,7 +75,7 @@
         </el-row>
       </div>
       <div class="fixed__btn__panel">
-        <el-button size="small" @click="onclose" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" @click="onClose" class="normal-btn-width">取 消</el-button>
         <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
       </div>
     </el-drawer>
@@ -219,7 +219,7 @@ export default {
 
       this.form.status !== '新建' ? store.state.pageOnlyRead = true : store.state.pageOnlyRead = false
     },
-    onSubmit(callback) {
+    onSubmit() {
       this.$refs['form'].validate(async (valid) => {
         if (!valid) return false;
         const res = await this.$api.requested({
@@ -229,9 +229,10 @@ export default {
           "content": this.form
         })
         this.insertCoursewareauth()
-        callback?callback(res):''
-        this.drawer = false
+
+
         this.$router.go(-1)
+        this.drawer = false
       })
     },
     // 监听提报形式
@@ -247,10 +248,12 @@ export default {
     },
     // 新增授权范围
     async insertCoursewareauth() {
+      console.log("新增授权查询")
+      console.log(this.authData)
       const res = await this.$api.requested({
         /*"classname": "webmanage.saletool.submitedit.submiteditauth",
         "method": "insertOrUpdate",*/
-        "id":"20221102094402",
+        "id":"20221102094302",
         "content": this.authData
       })
       res.code === 0 ? this.$notify({
@@ -273,7 +276,18 @@ export default {
       })
       this.defaultData = res.data
     },
-    async onclose(){
+    async onClose(){
+
+      const res = this.$api.requested({
+        "id": 20221102094102,
+        "content": {
+          "sat_submiteditmodelids":[this.$route.query.id]
+        }
+      })
+      this.$router.go(-1)
+      this.drawer = false
+    },
+    async onCancel(){
       this.drawer = false
       const res = this.$api.requested({
         "id": 20221102094102,
@@ -291,6 +305,7 @@ export default {
     console.log(this.$route.query.id)
     if (this.$route.query.id !== ''){
       this.drawer = true
+      this.query_auth()
      /* this.querySubmitMain()
       this.query_auth()*/
       /*this.query_auth()*/

+ 143 - 86
src/HManagement/submit/list/modules/submit_edit.vue

@@ -1,75 +1,95 @@
 <template>
-  <div>
-    <div v-if="!store.state.pageOnlyRead" class="container normal-panel normal-margin">
-      <el-button type="warning" size="small" icon="el-icon-s-claim" @click="onSubmit((res)=>tool.showMessage(res))">保 存
-      </el-button>
-    </div>
-    <div style="overflow-x:hidden">
-      <el-row :gutter="16">
-        <el-col :span="13">
-          <div class="container normal-panel normal-margin">
-            <p class="normal-title normal-margin">提报设置</p>
-            <el-row :gutter="16">
-              <el-form ref="form" :model="form" :rules="rules" label-width="80px" label-position="left" size="small">
-                <el-col :span="24">
-                  <el-form-item label="标题" prop="title">
-                    <el-input v-model="form.title" placeholder="标题"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="提报类型" prop="onceonly">
-                    <el-select v-model="form.onceonly" placeholder="选择提报类型">
-                      <el-option label="一事一报" :value="1"></el-option>
-                      <el-option label="一事多报" :value="0"></el-option>
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="生效日期" prop="begdate">
-                    <el-date-picker style="width:100%" v-model="form.begdate" value-format="yyyy-MM-dd" type="date"
-                      placeholder="生效日期">
-                    </el-date-picker>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="截止日期" prop="enddate">
-                    <el-date-picker style="width:100%" v-model="form.enddate" value-format="yyyy-MM-dd" type="date"
-                      placeholder="截止日期">
-                    </el-date-picker>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="24">
-                  <el-form-item label="提报要求" prop="notes">
-                    <el-input v-model="form.notes" placeholder="提报要求"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="24">
-                  <el-form-item label="提报形式" prop="type">
-                    <el-checkbox-group v-model="form.type" @change="onCheckboxChange">
-                      <el-checkbox label="附件提报" name="isattrequired"></el-checkbox>
-                      <el-checkbox label="文字提报" name="istextrequired"></el-checkbox>
-                    </el-checkbox-group>
-                    <!-- <el-checkbox :true-label="1" :false-label="0" v-model="form.isattrequired">附件提报</el-checkbox>
-                    <el-checkbox :true-label="1" :false-label="0" v-model="form.istextrequired">文字提报</el-checkbox> -->
-                  </el-form-item>
-                </el-col>
-              </el-form>
-            </el-row>
-          </div>
-          <div class="container normal-panel normal-margin">
-            <attachmentList :attinfos="form.attinfos" @onSuccess="querySubmitMain" :onlyread="store.state.pageOnlyRead">
-              <upload slot="upload" :folderid="folderid"
-                :bindData="{ ownertable: 'sat_submiteditmodel', ownerid: form.sat_submiteditmodelid, usetype: 'default' }"
-                @onSuccess="onSubmit()"></upload>
-            </attachmentList>
-          </div>
-        </el-col>
-        <el-col :span="11">
-          <scopeOfauth :defaultData="defaultData" appidname="sat_submiteditmodelid" obiectName="sat_submiteditmodel" :dataid="$route.query.id"
-            @onChecked="onChecked"></scopeOfauth>
-        </el-col>
-      </el-row>
-    </div>
+  <div class="inline-16">
+    <el-button size="small" type="text" @click="onshow(drawer=true)">详情</el-button>
+    <el-drawer
+        title="编辑"
+        :visible.sync="drawer"
+        :with-header="false"
+        direction="rtl"
+        size="90%"
+        append-to-body
+        @close="onClose">
+      <div class="detail__panel">
+        <div class="container sticky">
+          <!--          <el-button v-show="save"  type="warning" size="small"  @click="onSubmit()" >保 存</el-button>-->
+          <el-button class="inline-16"  type="primary" size="small"  @click="onEdit()" >编 辑</el-button>
+          <release class="inline-16" v-if="edit" :data="form" @onSuccess="onSuccess"></release>
+<!--          <el-button class="inline-16"  type="primary" plain v-if="edit" size="mini" @click="$router.push({path:'/submit_detail',query:{id:this.id}})">明 细</el-button>-->
+<!--          <p class="inline-16">编辑</p>-->
+<!--          <release  class="inline-16" v-if="tool.checkAuth($route.name,'update') && edit"  :data="form" @onSuccess="onSuccess"></release>
+          <topping  class="inline-16" v-if="tool.checkAuth($route.name,'update') && edit" :data="form" @onSuccess="onSuccess"></topping>-->
+        </div>
+        <div >
+          <el-row :gutter="16">
+            <el-col :span="13">
+              <div class="container normal-panel normal-margin">
+                <p class="normal-title normal-margin">提报设置</p>
+                <el-row :gutter="16">
+                  <el-form ref="form" :model="form" :rules="rules" label-width="80px" label-position="left" size="small" :disabled="edit">
+                    <el-col :span="24">
+                      <el-form-item label="标题" prop="title">
+                        <el-input v-model="form.title" placeholder="标题"></el-input>
+                      </el-form-item>
+                    </el-col>
+                    <el-col :span="8">
+                      <el-form-item label="提报类型" prop="onceonly">
+                        <el-select v-model="form.onceonly" placeholder="选择提报类型">
+                          <el-option label="一事一报" :value="1"></el-option>
+                          <el-option label="一事多报" :value="0"></el-option>
+                        </el-select>
+                      </el-form-item>
+                    </el-col>
+                    <el-col :span="8">
+                      <el-form-item label="生效日期" prop="begdate">
+                        <el-date-picker style="width:100%" v-model="form.begdate" value-format="yyyy-MM-dd" type="date"
+                                        placeholder="生效日期">
+                        </el-date-picker>
+                      </el-form-item>
+                    </el-col>
+                    <el-col :span="8">
+                      <el-form-item label="截止日期" prop="enddate">
+                        <el-date-picker style="width:100%" v-model="form.enddate" value-format="yyyy-MM-dd" type="date"
+                                        placeholder="截止日期">
+                        </el-date-picker>
+                      </el-form-item>
+                    </el-col>
+                    <el-col :span="24">
+                      <el-form-item label="提报要求" prop="notes">
+                        <el-input v-model="form.notes" placeholder="提报要求"></el-input>
+                      </el-form-item>
+                    </el-col>
+                    <el-col :span="24">
+                      <el-form-item label="提报形式" prop="type">
+                        <el-checkbox-group v-model="form.type" @change="onCheckboxChange">
+                          <el-checkbox label="附件提报" name="isattrequired"></el-checkbox>
+                          <el-checkbox label="文字提报" name="istextrequired"></el-checkbox>
+                        </el-checkbox-group>
+                      </el-form-item>
+                    </el-col>
+                  </el-form>
+                </el-row>
+              </div>
+              <div class="container normal-panel normal-margin">
+                <attachmentList :attinfos="form.attinfos" @onSuccess="querySubmitMain" :onlyread="store.state.pageOnlyRead">
+                  <upload slot="upload" :folderid="folderid"
+                          :bindData="{ ownertable: 'sat_submiteditmodel', ownerid: form.sat_submiteditmodelid, usetype: 'default' }"
+                          @onSuccess="onSubmit()"></upload>
+                </attachmentList>
+              </div>
+            </el-col>
+            <el-col :span="11" :onlyread="store.state.pageOnlyRead">
+              <scopeOfauth :defaultData="defaultData" appidname="sat_submiteditmodelid" obiectName="sat_submiteditmodel" :dataid="$route.query.id"
+                           @onChecked="onChecked"></scopeOfauth>
+            </el-col>
+          </el-row>
+        </div>
+
+      </div>
+      <div class="fixed__btn__panel" >
+        <el-button  size="small" @click="onCancel" class="normal-btn-width" v-show="save">取 消</el-button>
+        <el-button  size="small" type="primary" @click="onSubmit" class="normal-btn-width" v-show="save">确 定</el-button>
+      </div>
+    </el-drawer>
   </div>
 </template>
 
@@ -78,15 +98,33 @@ import attachmentList from '@/components/attachment_list/index.vue'
 import upload from '@/components/upload/hw_obs_upload.vue'
 import scopeOfauth from '@/components/scopeOfAuthority/index.vue'
 import store from '@/store'
+import release from './release'
 export default {
+  props:["id"],
   components: {
     attachmentList,
     upload,
-    scopeOfauth
+    scopeOfauth,
+    release
   },
   data() {
+    var endDate = (rule, value, callback) => {
+          if (value === '') {
+            callback(new Error('截止日期不可为空'));
+          } else {
+            if (value !== '') {
+              if (this.form.begdate > this.form.enddate)
+                callback(new Error('截止日期不可小于生效日期'));
+            }
+            callback();
+          }
+        }
     return {
       store,
+      drawer:false,
+      edit:true,
+      save:false,
+      status:false,
       folderid: JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
       defaultData: {},
       rules: {
@@ -97,7 +135,7 @@ export default {
           { required: true, message: '请选择生效日期', trigger: 'change' }
         ],
         enddate: [
-          { required: true, message: '请选择截止日期', trigger: 'change' }
+          { required: true,validator: endDate, trigger: 'blur'  }
         ],
         onceonly: [
           { required: true, message: '请选择版块', trigger: 'change' }
@@ -125,29 +163,31 @@ export default {
   methods: {
     async querySubmitMain() {
       const res = await this.$api.requested({
-        "classname": "webmanage.saletool.submitedit.submitedit",
-        "method": "select_submitdetailed",
+        "id":"20221102093902",
         "content": {
-          "sat_submiteditmodelid": this.$route.query.id
+          "sat_submiteditmodelid": this.id
         }
       })
+      console.log("获取数据")
+      console.log(res)
       res.data.notes == '初始化数据' + JSON.parse(sessionStorage.getItem('active_account')).userid ? res.data.notes = '' : '';
       this.form = Object.assign({}, this.form, res.data)
       if (this.form.isattrequired === 1) { this.form.type.push('附件提报') }
       if (this.form.istextrequired === 1) { this.form.type.push('文字提报') }
 
       this.form.status !== '新建' ? store.state.pageOnlyRead = true : store.state.pageOnlyRead = false
+      this.status = true
     },
-    onSubmit(callback) {
+    onSubmit() {
       this.$refs['form'].validate(async (valid) => {
         if (!valid) return false;
         const res = await this.$api.requested({
-          "classname": "webmanage.saletool.submitedit.submitedit",
-          "method": "insertorupdate",
+          "id":20221102093702,
           "content": this.form
         })
         this.insertCoursewareauth()
-        callback?callback(res):''
+        this.drawer = false
+        this.$emit("updateSuccess")
       })
     },
     // 监听提报形式
@@ -163,8 +203,7 @@ export default {
     // 新增授权范围
     async insertCoursewareauth() {
       const res = await this.$api.requested({
-        "classname": "webmanage.saletool.submitedit.submiteditauth",
-        "method": "insertOrUpdate",
+        "id":"20221102094302",
         "content": this.authData
       })
       res.code === 0 ? this.$notify({
@@ -177,19 +216,37 @@ export default {
     // 查询授权信息
     async query_auth() {
       const res = await this.$api.requested({
-        "classname": "webmanage.saletool.submitedit.submiteditauth",
-        "method": "selectAuth",
+        "id":'20221102094602',
         "content": {
           "sat_submiteditmodelid": this.$route.query.id,
         }
       })
       this.defaultData = res.data
     },
+    onshow(){
+      this.$router.replace({path:'submit_mag',query:{id:this.id}})
+      this.querySubmitMain()
+      this.query_auth()
+    },
+    onClose(){
+      this.drawer = false
+      this.$emit("updateSuccess")
+    },
+    onEdit(){
+      this.edit = false
+      this.save = true
+    },
+    onSuccess(){
+      this.querySubmitMain()
+    },
+    onCancel(){
+      this.edit = true
+      this.save = false
+    }
 
   },
   created() {
-    this.querySubmitMain()
-    this.query_auth()
+    this.status = false
   },
 }
 

+ 13 - 10
src/router/HDrpManagement.js

@@ -183,16 +183,19 @@ const HDrpManagement = [
       ast_nav: true,
       keeproute: true,
     },
-    component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/competitor/index')
-  },{
-    path: '/competitorDetail',
-    name: 'competitor',
-    meta: {
-      title: '竞争对手详情',
-      ast_nav: true,
-      keeproute: true,
-    },
-    component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/competitor/detail/index')
+    component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/competitor/index'),
+    children: [
+      {
+        path: '/competitorDetail',
+        name: 'competitor',
+        meta: {
+          title: '竞争对手详情',
+          ast_nav: true,
+          keeproute: true,
+        },
+        component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/competitor/detail/index')
+      }
+    ]
   },{
     path: '/projectChange',
     name:'project',