Explorar el Código

项目管理内容更新

qymljy hace 2 años
padre
commit
4ca2fa14a0

+ 101 - 186
src/Form/QuotedPrice/add.vue

@@ -4,41 +4,42 @@
     <el-drawer
         title="创建报价单"
         :visible.sync="dialogFormVisible"
-        size="800px"
+        size="50%"
         direction="rtl"
         append-to-body
         @close="onClose">
       <div class="drawer__panel">
-        <el-row :gutter="120">
+        <el-row :gutter="20">
           <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="right" size="mini">
-            <el-col :span="10">
-              <el-form-item label="项目名称" >
+            <el-col :span="12">
+              <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-col :span="12">
+              <el-form-item label="项目编号:" >
+                <el-input v-model="form.projectnum" placeholder="项目编号" style="width: 100%" disabled></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-col :span="12">
+              <el-form-item label="收件单位:" prop="enterprisename">
+                <el-input v-model="form.enterprisename" 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-col :span="12">
+              <el-form-item label="收件人:" prop="name">
+                <el-input v-model="form.name" placeholder="请选择收件人" style="width: 100%" @focus="contactsList"></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-col :span="12">
+              <el-form-item label="收件手机号:" >
+                <el-input v-model="form.phonenumber" placeholder="联系方式" style="width: 100%" disabled></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="10">
-              <el-form-item label="报价单有效期" >
+            <el-col :span="12">
+              <el-form-item label="报价单有效期:" >
                 <el-date-picker
+                    style="width: 100%"
                     v-model="form.invaliddate"
                     type="date"
                     value-format="yyyy-MM-dd"
@@ -46,28 +47,30 @@
                 </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">
+            <el-col :span="24">
               <p>商品明细报价</p>
             </el-col>
-            <el-col :span="20">
+            <el-col :span="24">
               <hr style="margin-top: 2%;margin-bottom: 2%">
             </el-col>
-            <el-col :span="10">
+            <el-col :span="12">
               <el-form-item label="整单折扣(系数)" >
-                <el-input v-model="form.discountrate" placeholder="保留两位小数" style="width: 100%"></el-input>
+                <el-input v-model="form.discountrate" placeholder="保留两位小数" style="width: 50%"></el-input>
+                <div>
+                  <div style="float: left;color:red">
+                    <span>*</span>
+                  </div>
+                  <span style="font-size: 10px;float: left"> 若无商品明细折扣信息,则以整单折扣计算;若有商品明细折扣信息,则以商品明细折扣计算</span>
+
+                </div>
+
               </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 :span="12" >
+              <el-button size="small" @click="dialogProjectVisible = false" type="info" class="inline-16" style="float: right">删除</el-button>
+              <el-button size="small" @click="dialogProjectVisible = false" type="primary" class="el-icon-plus inline-16" style="float: right">添加商品明细</el-button>
             </el-col>
+            <product></product>
           </el-form>
         </el-row>
       </div>
@@ -76,116 +79,25 @@
         <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="120">
-        <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="right" 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>
-&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>&ndash;&gt;
-          <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 class="dialog-footer">
-        <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 title="新 建" :visible.sync="dialogProjectVisible" width="900px">
-      <div slot="title" style="font-size: 15px">
-        选择项目
-      </div>
-&lt;!&ndash;      <layoutTable :layout="tablecols" :data="list" :opwidth="200" :custom="true" :height="tableHieght" :checkbox="true" >
-        <template v-slot:customcol="scope">
-          <p>{{scope.column.data[scope.column.columnname]}}</p>
-        </template>
-      </layoutTable>&ndash;&gt;
-      <layoutTable  @checkboxCallBack="checkboxCallBack" :layout="tablecols" :data="list" :opwidth="200" :custom="false" :height="320" :checkbox="true">
-      </layoutTable>
-      <div style="margin-top:16px;text-align:right">
-        <el-pagination
-            background
-            small
-            @size-change="handleSizeChange"
-            @current-change="handleCurrentChange"
-            :current-page="currentPage"
-            :page-size="params.content.pageSize"
-            layout="total, prev, pager, next, jumper"
-            :total="total">
-        </el-pagination>
-      </div>
-      <div class="dialog-footer">
-        <el-button size="small" @click="dialogProjectVisible = false" class="normal-btn-width">取 消</el-button>
-        <el-button size="small" type="warning" @click="onProject" @rowClick="onProject" class="normal-btn-width btn-warning">确 定</el-button>
-      </div>
-    </el-dialog>-->
-    <project :visible="visible" v-if="visible" @onProject="onProject"></project>
+    <project :visible="visibleProject" :index="index" v-if="visibleProject" @onProject="onProject"></project>
+    <enterprise :visible="visibleEnterprise" :index="index" :sa_projectid="form.sa_projectid" v-if="visibleEnterprise" @onEnterprise="onEnterprise"></enterprise>
+    <contacts :visible="visibleContacts" :index="index" :sys_enterpriseid="form.sys_enterpriseid" v-if="visibleContacts" @onContacts="onContacts"></contacts>
   </div>
 </template>
 
 <script>
 import layoutTable from '@/components/table/index3'
-import project from '../../SDrpManagement/QuotedPrice/detail/components/project'
+import project from '@/SDrpManagement/QuotedPrice/detail/components/project'
+import enterprise from "@/SDrpManagement/QuotedPrice/detail/components/enterprise";
+import contacts from "@/SDrpManagement/QuotedPrice/detail/components/contacts";
+import product from "@/SDrpManagement/QuotedPrice/detail/components/product";
 export default {
   name: "add",
   data(){
     return {
-      visible:false,
+      visibleProject:false,
+      visibleEnterprise:false,
+      visibleContacts:false,
       dialogFormVisible:false,
       dialogProjectVisible:false,
       tableHieght:320,
@@ -193,10 +105,15 @@ export default {
       list:[],
       total:0,
       currentPage:0,
+      index:'',
       form:{
         sa_quotedpriceid:0,     //sat_notice_classid<=0时 为新增
         sys_enterpriseid: "",
-        sa_projectid: "",
+        enterprisename:"",
+        sa_projectid: "0",
+        contactsid:"",
+        name:"",
+        phonenumber:"",
         discountrate:"" ,
         remarks: "",
         invaliddate: "",
@@ -204,7 +121,14 @@ export default {
         address: "",
         projectnum:""
       },
-      rules:{},
+      rules:{
+        enterprisename: [
+          { required: true, message: '单位不能为空', trigger: 'change' },
+        ],
+        name: [
+          { required: true, message: '联系人不能为空', trigger: 'change' },
+        ],
+      },
       projectData:[],
       params:{
         "id": 20221020143502,
@@ -220,65 +144,38 @@ export default {
     }
   },
   components:{
-    layoutTable,project
+    layoutTable,project,enterprise,contacts,product
   },
   methods:{
-    async onSubmit(){
+    onSubmit(){
       console.log(this.form)
-      const res = await this.$api.requested({
-        "id": 20221020164803,
-        "version":1,
-        "content":this.form
-      })
-      this.tool.showMessage(res,()=> {
-        console.log(res)
-        this.$refs['form'].resetFields();
-        this.$emit("onSuccess")
-        this.dialogFormVisible = false
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id": 20221020164803,
+          "version":1,
+          "content":this.form
+        })
+        this.tool.showMessage(res,()=> {
+          console.log(res)
+          this.$refs['form'].resetFields();
+          this.$emit("onSuccess")
+          this.dialogFormVisible = false
+        })
       })
     },
-    /*projectShow(){
-
-      this.projectList()
-    },*/
     projectList(){
-      this.visible = true
+      this.visibleProject = true
     },
     /*收件单位*/
-    async enterpriseList(){
+    enterpriseList(){
       console.log(this.form.projectname)
-      if (this.form.projectname === ''){
-        const res = await this.$api.requested({
-          "id":"20220920083901",
-          "content":{
-            "pageNumber":1,
-            "pageSize":20,
-            "where":{
-              "condition":"",
-              "type":2,
-              "sa_projectid":""
-            }
-          }
-        })
-        console.log("输出")
-        console.log(res)
-      }else {
-        const res = await this.$api.requested({
-          "id":"20220920083901",
-          "content":{
-            "pageNumber":1,
-            "pageSize":20,
-            "where":{
-              "condition":"",
-              "type":4,
-              "sa_projectid":this.form.sa_projectid
-            }
-          }
-        })
-        console.log("缔约方输出")
-        console.log(res)
-      }
-
+      this.visibleEnterprise = true
+    },
+    /*联系人*/
+    contactsList(){
+      console.log(this.form.sys_enterpriseid)
+      this.visibleContacts = true
     },
     handleSizeChange(val) {
       // console.log(`每页 ${val} 条`);
@@ -294,10 +191,28 @@ export default {
       this.visible = false
       console.log("获取")
       console.log(data)
-      this.form = data
+      /*this.form = data*/
       this.form.sa_projectid = data.sa_projectid
       this.form.projectname = data.projectname
       this.form.projectnum = data.projectnum
+      this.form.address = data.address
+      this.index = data.index
+    },
+    onEnterprise(data){
+      this.visible = false
+      console.log("企业信息")
+      console.log(data)
+      this.form.sys_enterpriseid = data.sys_enterpriseid
+      this.form.enterprisename = data.enterprisename
+
+    },
+    onContacts(data){
+      this.visible = false
+      console.log("联系人信息")
+      console.log(data)
+      this.form.contactsid = data.contactsid
+      this.form.name = data.name
+      this.form.phonenumber = data.phonenumber
     },
     checkboxCallBack(data) {
       console.log("选择12354")

+ 222 - 1
src/Form/QuotedPrice/edit.vue

@@ -1,13 +1,234 @@
 <template>
   <div>
-    <el-button size="mini"  :type="btnType?btnType:'text'"   >编 辑</el-button>
+    <el-button size="mini"  :type="btnType?btnType:'text'"  @click="dialogFormVisible = true" >编 辑</el-button>
+    <el-drawer
+        title="创建报价单"
+        :visible.sync="dialogFormVisible"
+        size="50%"
+        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="right" size="mini">
+            <el-col :span="12">
+              <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="12">
+              <el-form-item label="项目编号:" >
+                <el-input v-model="form.projectnum" placeholder="项目编号" style="width: 100%" disabled></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="收件单位:" prop="enterprisename">
+                <el-input v-model="form.enterprisename" placeholder="请选择收件单位" style="width: 100%" @focus="enterpriseList"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="收件人:" prop="name">
+                <el-input v-model="form.name" placeholder="请选择收件人" style="width: 100%" @focus="contactsList"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="收件手机号:" >
+                <el-input v-model="form.phonenumber" placeholder="联系方式" style="width: 100%" disabled></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="报价单有效期:" >
+                <el-date-picker
+                    style="width: 100%"
+                    v-model="form.invaliddate"
+                    type="date"
+                    value-format="yyyy-MM-dd"
+                    placeholder="选择日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <p>商品明细报价</p>
+            </el-col>
+            <el-col :span="24">
+              <hr style="margin-top: 2%;margin-bottom: 2%">
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="整单折扣(系数)" >
+                <el-input v-model="form.discountrate" placeholder="保留两位小数" style="width: 50%"></el-input>
+                <div>
+                  <div style="float: left;color:red">
+                    <span>*</span>
+                  </div>
+                  <span style="font-size: 10px;float: left"> 若无商品明细折扣信息,则以整单折扣计算;若有商品明细折扣信息,则以商品明细折扣计算</span>
+
+                </div>
+
+              </el-form-item>
+            </el-col>
+            <el-col :span="12" >
+              <el-button size="small" @click="dialogProjectVisible = false" type="info" class="inline-16" style="float: right">删除</el-button>
+              <el-button size="small" @click="dialogProjectVisible = false" type="primary" class="el-icon-plus inline-16" style="float: right">添加商品明细</el-button>
+            </el-col>
+            <product></product>
+          </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>
+    <project :visible="visibleProject" :index="index" v-if="visibleProject" @onProject="onProject"></project>
+    <enterprise :visible="visibleEnterprise" :index="index" :sa_projectid="form.sa_projectid" v-if="visibleEnterprise" @onEnterprise="onEnterprise"></enterprise>
+    <contacts :visible="visibleContacts" :index="index" :sys_enterpriseid="form.sys_enterpriseid" v-if="visibleContacts" @onContacts="onContacts"></contacts>
   </div>
 </template>
 
 <script>
+import layoutTable from "@/components/table/index3";
+import project from "@/SDrpManagement/QuotedPrice/detail/components/project";
+import enterprise from "@/SDrpManagement/QuotedPrice/detail/components/enterprise";
+import contacts from "@/SDrpManagement/QuotedPrice/detail/components/contacts";
+import product from "@/SDrpManagement/QuotedPrice/detail/components/product";
+
 export default {
   name: "edit",
   props:['data','btnType'],
+  data(){
+    return {
+      visibleProject:false,
+      visibleEnterprise:false,
+      visibleContacts:false,
+      dialogFormVisible:false,
+      dialogProjectVisible:false,
+      tableHieght:320,
+      tablecols:[],
+      list:[],
+      total:0,
+      currentPage:0,
+      index:'',
+      form:{
+        sa_quotedpriceid:0,     //sat_notice_classid<=0时 为新增
+        sys_enterpriseid: "",
+        enterprisename:"",
+        sa_projectid: "0",
+        contactsid:"",
+        name:"",
+        phonenumber:"",
+        discountrate:"" ,
+        remarks: "",
+        invaliddate: "",
+        projectname: "",
+        address: "",
+        projectnum:""
+      },
+      rules:{
+        enterprisename: [
+          { required: true, message: '单位不能为空', trigger: 'change' },
+        ],
+        name: [
+          { required: true, message: '联系人不能为空', trigger: 'change' },
+        ],
+      },
+      projectData:[],
+      params:{
+        "id": 20221020143502,
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 10,
+          "type":0, //  1:我负责的;2:我参与的;3:我下属负责的;4:我下属参与的
+          "where": {
+            "condition": ""
+          }
+        }
+      }
+    }
+  },
+  components:{
+    layoutTable,project,enterprise,contacts,product
+  },
+  methods:{
+    onSubmit(){
+      console.log(this.form)
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id": 20221020164803,
+          "version":1,
+          "content":this.form
+        })
+        this.tool.showMessage(res,()=> {
+          console.log(res)
+          this.$refs['form'].resetFields();
+          this.$emit("onSuccess")
+          this.dialogFormVisible = false
+        })
+      })
+    },
+    projectList(){
+      this.visibleProject = true
+    },
+    /*收件单位*/
+    enterpriseList(){
+      console.log(this.form.projectname)
+      this.visibleEnterprise = true
+    },
+    /*联系人*/
+    contactsList(){
+      console.log(this.form.sys_enterpriseid)
+      this.visibleContacts = true
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.params.content.pageSize = val
+      this.projectList()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.params.content.pageNumber = val
+      this.projectList()
+    },
+    onProject(data){
+      this.visible = false
+      console.log("获取")
+      console.log(data)
+      /*this.form = data*/
+      this.form.sa_projectid = data.sa_projectid
+      this.form.projectname = data.projectname
+      this.form.projectnum = data.projectnum
+      this.form.address = data.address
+      this.index = data.index
+    },
+    onEnterprise(data){
+      this.visible = false
+      console.log("企业信息")
+      console.log(data)
+      this.form.sys_enterpriseid = data.sys_enterpriseid
+      this.form.enterprisename = data.enterprisename
+
+    },
+    onContacts(data){
+      this.visible = false
+      console.log("联系人信息")
+      console.log(data)
+      this.form.contactsid = data.contactsid
+      this.form.name = data.name
+      this.form.phonenumber = data.phonenumber
+    },
+    checkboxCallBack(data) {
+      console.log("选择12354")
+      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
+  }
 }
 </script>
 

+ 17 - 1
src/Form/projectChange/add.vue

@@ -91,12 +91,18 @@
             </el-col>
             <el-col :span="12">
               <el-form-item label="预计签约月份:" prop="signdate_due">
-                <el-date-picker
+<!--                <el-date-picker
                     style="width: 100%"
                     v-model="form.signdate_due"
                     type="date"
                     placeholder="选择月份"
                     @change="timeChange">
+                </el-date-picker>-->
+                <el-date-picker
+                    v-model="form.signdate_due"
+                    type="month"
+                    placeholder="选择月"
+                >
                 </el-date-picker>
               </el-form-item>
             </el-col>
@@ -173,6 +179,15 @@ export default {
 
     },
     onSubmit(){
+      console.log(this.form)
+      const data = new Date(this.form.signdate_due)
+      console.log(data.getFullYear())
+      console.log(data.getMonth()+1)
+      if (data.getMonth() +1 < 10){
+        this.form.signdate_due = data.getFullYear() + '-0' + (data.getMonth() + 1)
+      }else {
+        this.form.signdate_due = data.getFullYear() + '-' + (data.getMonth() + 1)
+      }
       console.log(this.form)
       this.$refs['form'].validate(async (valid) => {
         if (!valid) return false
@@ -204,6 +219,7 @@ export default {
     },
     onClose(){
       this.$refs['form'].resetFields()
+      this.dialogFormVisible = false
     }
   }
 }

+ 54 - 0
src/HDrpManagement/projectChange/components/TimeSelect.vue

@@ -0,0 +1,54 @@
+<template>
+  <div>
+    <span style="font-size:14px;">{{title && title}}</span>
+    <el-date-picker
+      v-model="time"
+      style="width: 100%;"
+      type="daterange"
+      start-placeholder="开始日期"
+      end-placeholder="结束日期"
+      @change="timeChange"
+      size="small">
+    </el-date-picker>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'TimeSelect',
+  data() {
+    return {
+      start:'',
+      over:'',
+      time:''
+    };
+  },
+  props: ['title'],
+  computed:{
+  },
+  watch:{
+  },
+  methods: {
+    timeChange(e) {
+      if(!e) {
+        this.$emit('clearSelect')
+        return
+      } 
+      let result = e.map(item => {
+        return this.changeTimeFormat(item.getTime())
+      })   
+      this.$emit('timeChange',result)
+    },
+    changeTimeFormat(time) {
+      var date = new Date(time);
+      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
+    }
+  },
+}
+</script>
+
+<style scoped>
+
+</style>

+ 24 - 34
src/HDrpManagement/projectChange/index.vue

@@ -21,8 +21,19 @@
         </el-dropdown>-->
       </template>
       <div slot="custom" style="display:flex">
-        <p style="margin: auto" class="inline-16">项目状态</p>
-        <div>
+        <p style="margin: auto;font-size: 14px" class="inline-16">分类:</p>
+        <div style="width: 150px;margin-right: 20px">
+          <el-select class="inline-16" v-model="tabName" placeholder="项目状态" @change="onChangeTab" size="small">
+            <el-option
+                v-for="item in editableTabs"
+                :key="item.name"
+                :label="item.title"
+                :value="item.name">
+            </el-option>
+          </el-select>
+        </div>
+        <p style="margin: auto;font-size: 14px" class="inline-16">项目状态:</p>
+        <div style="width: 125px;margin-right: 20px">
           <el-select class="inline-16" v-model="statusValue" placeholder="项目状态" @change="onChange" size="small">
             <el-option
                 v-for="item in statusTab"
@@ -32,37 +43,10 @@
             </el-option>
           </el-select>
         </div>
-
-
-
-<!--        <el-row>
-          <el-col span="15">
-            <p style="margin: auto">项目状态</p>
-            <el-select class="inline-16" v-model="statusValue" placeholder="项目状态" @change="onChange" size="small">
-              <el-option
-                  v-for="item in statusTab"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value">
-              </el-option>
-            </el-select>
-          </el-col>
-          <el-col span="8">
-            <p style="margin: auto">项目状态</p>
-            <el-select class="inline-16" v-model="statusValue" placeholder="项目状态" @change="onChange" size="small">
-              <el-option
-                  style="width: 50%"
-                  v-for="item in statusTab"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value">
-              </el-option>
-            </el-select>
-          </el-col>
-          <el-col span="8">
-            <time-select class="inline-16" @clearSelect="clearTime" @timeChange="timeChange"></time-select>
-          </el-col>
-        </el-row>-->
+        <p style="margin: auto;font-size: 14px" class="inline-16">创建时间:</p>
+        <div style="width: 220px;margin-right: 20px">
+          <time-select class="inline-16" @clearSelect="clearTime" @timeChange="timeChange"></time-select>
+        </div>
       </div>
       <template v-slot:tbList="scope">
         <div
@@ -85,7 +69,8 @@
 </template>
 
 <script>
-import TimeSelect from '@/SManagement/submitedit_one/components/TimeSelect'
+/*import TimeSelect from '@/SManagement/submitedit_one/components/TimeSelect'*/
+import TimeSelect from './components/TimeSelect'
 export default {
   components:{TimeSelect},
   name: "index",
@@ -224,6 +209,11 @@ export default {
       this.$refs['basicLayout'].param.content.isExport = 0
       this.$refs['basicLayout'].listData()
     },
+    onChangeTab(val){
+      console.log(val)
+      this.tabIndex = val
+      this.queryData(val)
+    },
     clearTime () {
       this.$refs['basicLayout'].param.content.where.startdate = ''
       this.$refs['basicLayout'].param.content.where.enddate = ''

+ 4 - 1
src/HDrpManagement/projectChange/modules/detail.vue

@@ -77,7 +77,7 @@
       <StageTask v-if="mainData" :rowData="mainData"/>
     </div>
     <div slot="slot2" class="container normal-panel">
-      <andEnterprise :rowData="mainData"/>
+      <andEnterprise :rowData="mainData" v-if="flag === 1"/>
     </div>
     <div slot="slot3" class="container normal-panel">
       <ProjectSet />
@@ -106,6 +106,7 @@ export default {
   components:{Quotation,ProjectSet,Rival,BaseInfo,StageTask,putPeople,Check,Locked,andEnterprise,Del},
   data () {
     return {
+      flag:0,
       mainData:'',
       mainAreaData:'',
       /* 企业列表 */
@@ -148,10 +149,12 @@ export default {
       console.log(this.mainData);
       /* 获取标签数据 */
       this.tagObj = await this.$store.dispatch('queryTagList',{table:'sa_project',id:this.mainData.sa_projectid})
+      this.flag = 1
       this.getProjectAddres()
     },
     // 监听切换数据,上一页,下一页
     pageChange (id,rowindex) {
+      this.flag = 0
       this.$router.replace({path:'/projectChangeDetail',query:{id:id,rowindex:rowindex}})
       this.queryMainData(id)
     },

+ 80 - 0
src/HDrpManagement/projectChange/modules/modules/andEnterprise/components/add.vue

@@ -0,0 +1,80 @@
+<template>
+  <div>
+    <el-button size="mini" type="primary" @click="onshow">新增缔约信息</el-button>
+    <el-drawer
+        title="新增缔约信息"
+        :visible.sync="visible"
+        size="20%"
+        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="90px" label-position="right" size="mini">
+            <el-col :span="24">
+              <el-form-item label="企业名称:" prop="enterprisename">
+                <el-input v-model="form.enterprisename" placeholder="请选择企业" @focus="enterpriseList"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="备注:" >
+                <el-input v-model="form.remarks" type="textarea" rows="5" 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>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "add",
+  props:["data"],
+  data(){
+    return {
+      visible:false,
+      form:{
+        sa_project_partiesid: 0,
+        sa_projectid: '',
+        sys_enterpriseid:'',
+        enterprisename:'',
+        remarks:""
+      },
+      rules:{
+        enterprisename:[
+          { required: true, message: '请选择企业', trigger: 'change'},
+        ],
+      }
+    }
+  },
+  methods:{
+    onshow(){
+      console.log("新增企业缔约信息")
+      console.log(this.data)
+      this.visible = true
+    },
+    onSubmit(){
+
+    },
+    onClose(){
+
+    },
+    enterpriseList(){
+
+    }
+  },
+  mounted() {
+
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 92 - 29
src/HDrpManagement/projectChange/modules/modules/andEnterprise/index.vue

@@ -1,51 +1,114 @@
 <template>
   <div>
-    <basicLayout 
-      ref="basicLayout" 
-      formPath="projectChange/andEnterprise" 
-      tableName="andEnterpriseTable" 
-      idName="sa_project_partiesid" 
-      :apiId="{query:20221027143702,del:20221027143802}" 
-      :options="options"
-      @listCreate="list">
-      <div slot="custom"></div>
-      <template v-slot:tbList="scope">
-        <div v-if="!scope.data.column.data[scope.data.column.columnname]">
-          --
-        </div>
-        <div v-else-if="scope.data.column.columnname == 'province'">
-          {{`${scope.data.column.data['province']}、${scope.data.column.data['city']}、${scope.data.column.data['county']}`}}
-        </div>
-        <div v-else>
-          {{scope.data.column.data[[scope.data.column.columnname]]}}
-        </div>
+    <add class="normal-margin" :data="rowData"  @insertSuccess="onSuccess" style="float: left;"></add>
+    <div style="width: 20%;float: left;margin-left:10px;margin-bottom: 10px">
+      <el-input
+          placeholder="请输入内容"
+          v-model="search"
+          clearable
+          @clear="clearData()"
+          size="mini"
+          @keyup.enter.native="queryClick()">
+        <i slot="prefix" class="el-icon-search" @click="queryClick()"></i>
+      </el-input>
+    </div>
+    <tableLayout :layout="tablecols" :data="list" :opwidth="200" :custom="true"  :height="tableHieght" >
+      <template v-slot:customcol="scope">
+        <p>{{scope.column.data[scope.column.columnname]}}</p>
       </template>
-      <template v-slot:tbOpreation="scope">
-        <Contact class="inline-16" :rowData="scope.data.data"/>
-        <delete-btn v-if="tool.checkAuth($route.name,'delete')" :id="scope.data.data.sa_project_partiesid" @deleteSuccess="$refs.basicLayout.listData()" nameId="20221027143802" nameKey="sa_project_partiesids"/>
+      <template v-slot:opreation="scope">
+<!--        <edit v-if="tool.checkAuth($route.name,'update')" :data="scope.data" @updateSuccess="onSuccess"></edit>
+        <toVoid v-if="tool.checkAuth($route.name,'toVoid')" :data="scope.data" @toVoidSuccess="onSuccess"></toVoid>-->
       </template>
-    </basicLayout>
+    </tableLayout>
+    <div style="margin-top:16px;text-align:right">
+      <el-pagination
+          background
+          small
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-size="params.content.pageSize"
+          layout="total, prev, pager, next, jumper"
+          :total="total">
+      </el-pagination>
+    </div>
   </div>
 </template>
 
 <script>
-import Contact from './components/Contact'
+/*import Contact from './components/Contact'*/
+import add from './components/add'
 export default {
-  components:{Contact},
+  components:{add},
   name: "index",
+  props:["rowData"],
   data() {
     return {
-      options:[],
+      tableHieght:"600px",
+      tablecols:[],
+      list:[],
+      total:0,
+      currentPage:0,
+      search:"",
+      params:{
+        "id": 20221027143702,
+        "content": {
+          "sa_projectid":'',
+          "pageNumber": 1,
+          "pageSize": 20,
+          "where": {
+            "condition": ""
+          }
+        },
+      }
     }
   },
   methods: {
-    list (param) {
+    /*list (param) {
       param.content.sa_projectid = this.$route.query.id
+    },*/
+    async listData(){
+      console.log("输出99999999999999999")
+      console.log(this.rowData)
+      this.params.content.sa_projectid = this.rowData.sa_projectid
+      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.listData(data)
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.params.content.pageNumber = val
+      this.listData(data)
+    },
+    onSuccess(){
+      this.listData()
+    },
+    clearData(){
+      this.search = ""
+    },
+    queryClick(){
+      this.params.content.where.condition = this.search
+      this.listData()
+    }
+  },
+  mounted() {
+    this.listData()
+  },
+  created() {
+    this.tablecols = this.tool.tabelCol(this.$route.name).andEnterpriseTable.tablecols
+  },
 }
 </script>
 
 <style scoped>
-
+/deep/.el-input__prefix {
+  display: flex;
+  align-items: center;
+}
 </style>

+ 51 - 0
src/HDrpManagement/projectChange/modules/modules/andEnterprise/indexCopy.vue

@@ -0,0 +1,51 @@
+<template>
+  <div>
+    <basicLayout 
+      ref="basicLayout" 
+      formPath="projectChange/andEnterprise" 
+      tableName="andEnterpriseTable" 
+      idName="sa_project_partiesid" 
+      :apiId="{query:20221027143702,del:20221027143802}" 
+      :options="options"
+      @listCreate="list">
+      <div slot="custom"></div>
+      <template v-slot:tbList="scope">
+        <div v-if="!scope.data.column.data[scope.data.column.columnname]">
+          --
+        </div>
+        <div v-else-if="scope.data.column.columnname == 'province'">
+          {{`${scope.data.column.data['province']}、${scope.data.column.data['city']}、${scope.data.column.data['county']}`}}
+        </div>
+        <div v-else>
+          {{scope.data.column.data[[scope.data.column.columnname]]}}
+        </div>
+      </template>
+      <template v-slot:tbOpreation="scope">
+        <Contact class="inline-16" :rowData="scope.data.data"/>
+        <delete-btn v-if="tool.checkAuth($route.name,'delete')" :id="scope.data.data.sa_project_partiesid" @deleteSuccess="$refs.basicLayout.listData()" nameId="20221027143802" nameKey="sa_project_partiesids"/>
+      </template>
+    </basicLayout>
+  </div>
+</template>
+
+<script>
+import Contact from './components/Contact'
+export default {
+  components:{Contact},
+  name: "index",
+  data() {
+    return {
+      options:[],
+    }
+  },
+  methods: {
+    list (param) {
+      param.content.sa_projectid = this.$route.query.id
+    },
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 145 - 0
src/SDrpManagement/QuotedPrice/detail/components/contacts.vue

@@ -0,0 +1,145 @@
+<template>
+  <div>
+    <el-dialog
+        title="新 建"
+        :visible.sync="dialogProjectVisible"
+        append-to-body
+        width="900px">
+      <div slot="title" style="font-size: 15px">
+        选择联系人
+      </div>
+      <layout_table
+          ref="projectTable"
+          :layout="tablecols"
+          :data="list"
+          :opwidth="200"
+          :custom="false"
+          :height="320"
+          :checkbox="true"
+          :onRow="row"
+          @rowClick="rowClick"
+          @onRow="onRow"
+      >
+      </layout_table>
+      <div style="margin-top:16px;text-align:right">
+        <el-pagination
+            background
+            small
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="currentPage"
+            :page-size="params.content.pageSize"
+            layout="total, prev, pager, next, jumper"
+            :total="total">
+        </el-pagination>
+      </div>
+      <div class="dialog-footer">
+        <el-button size="small" @click="onColes" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="warning" class="normal-btn-width btn-warning"  @click="onSubmit">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import layout_table from '../components/table'
+export default {
+  name: "contacts",
+  props:["visible","index","sys_enterpriseid"],
+  data(){
+    return {
+      dialogProjectVisible:false,
+      bill_id:"",
+      tablecols:[],
+      list:[],
+      total:0,
+      currentPage:0,
+      row:"",
+      params:{
+        "id": "20221022165503",
+        "version": 1,
+        "content": {
+          "sys_enterpriseid": '',
+          "where": {
+            "condition": "",
+            "workaddress": 0//0表示人,1表示地址
+          }
+        }
+      }
+    }
+  },
+  components:{layout_table},
+  mounted() {
+    console.log(this.visible)
+    this.dialogProjectVisible = true
+    console.log(this.index)
+    console.log("企业id"+this.sys_enterpriseid)
+    this.listData()
+  },
+  methods:{
+    async listData(){
+      this.params.content.sys_enterpriseid = this.sys_enterpriseid
+      const res = await this.$api.requested(this.params)
+      this.list = res.data
+      this.total = res.total
+      console.log(this.list[0])
+      if (this.index !== ''){
+        this.toggleSelection([this.list[this.index]])
+      }
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.params.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.params.content.pageNumber = val
+      this.listData()
+    },
+    onColes(){
+      this.dialogProjectVisible = false
+      this.$emit("onContacts")
+    },
+    onRow(row){
+      console.log("**********************---------------------")
+      console.log("勾选")
+      console.log(row)
+      this.row = row
+    },
+    onSubmit(){
+      console.log("**********************---------------------")
+      this.dialogProjectVisible = false
+      this.$emit("onContacts",this.row)
+      console.log(this.row)
+    },
+    toggleSelection(rows) {
+      console.log("保存")
+      console.log(rows)
+      if (rows) {
+        rows.forEach(row => {
+          console.log("保存输出")
+          console.log(row)
+          console.log(this.$refs.projectTable.$refs.tables)
+          this.$refs.projectTable.$refs.tables.setCurrentRow(row);
+        });
+      } else {
+        this.$refs.projectTable.$refs.tables.clearSelection();
+      }
+    },
+    rowClick(row){
+      console.log("选中")
+      console.log(row)
+    }
+
+  },
+
+  created() {
+    this.tablecols = this.tool.tabelCol(this.$route.name).contactsTable.tablecols
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 147 - 2
src/SDrpManagement/QuotedPrice/detail/components/enterprise.vue

@@ -1,10 +1,155 @@
 <template>
-  <div></div>
+  <div>
+    <el-dialog
+        title="新 建"
+        :visible.sync="dialogProjectVisible"
+        append-to-body
+        width="900px">
+      <div slot="title" style="font-size: 15px">
+        选择单位
+      </div>
+      <layout_table
+          ref="projectTable"
+          :layout="tablecols"
+          :data="list"
+          :opwidth="200"
+          :custom="false"
+          :height="320"
+          :checkbox="true"
+          :onRow="row"
+          @rowClick="rowClick"
+          @onRow="onRow"
+      >
+      </layout_table>
+      <div style="margin-top:16px;text-align:right">
+        <el-pagination
+            background
+            small
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="currentPage"
+            :page-size="params.content.pageSize"
+            layout="total, prev, pager, next, jumper"
+            :total="total">
+        </el-pagination>
+      </div>
+      <div class="dialog-footer">
+        <el-button size="small" @click="onColes" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="warning" class="normal-btn-width btn-warning"  @click="onSubmit">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
 </template>
 
 <script>
+import layout_table from '../components/table'
 export default {
-  name: "enterprise"
+  name: "enterprise",
+  props:["visible","index","sa_projectid"],
+  data(){
+    return {
+      dialogProjectVisible:false,
+      bill_id:"",
+      tablecols:[],
+      list:[],
+      total:0,
+      currentPage:0,
+      row:"",
+      params:{
+        "id": 20220920083901,
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 20,
+          "where": {
+            "condition": "",
+            "type":2,//1:经销商,2:客户,3:其他,不传查全部,4:查询项目缔约方,sa_projectid必传
+            "sa_projectid":""
+          }
+        }
+      }
+    }
+  },
+  components:{layout_table},
+  mounted() {
+    console.log(this.visible)
+    this.dialogProjectVisible = true
+    console.log(this.index)
+    console.log("项目id"+this.sa_projectid)
+    this.listData()
+  },
+  methods:{
+    async listData(){
+      if (this.sa_projectid !== '0'){
+        this.params.content.where.type = 4
+        this.params.content.where.sa_projectid = this.sa_projectid
+        const res = await this.$api.requested(this.params)
+        this.list = res.data
+        this.total = res.total
+        console.log(this.list[0])
+        if (this.index !== ''){
+          this.toggleSelection([this.list[this.index]])
+        }
+      }else {
+        const res = await this.$api.requested(this.params)
+        this.list = res.data
+        this.total = res.total
+        console.log(this.list[0])
+        if (this.index !== ''){
+          this.toggleSelection([this.list[this.index]])
+        }
+      }
+
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.params.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.params.content.pageNumber = val
+      this.listData()
+    },
+    onColes(){
+      this.dialogProjectVisible = false
+      this.$emit("onEnterprise")
+    },
+    onRow(row){
+      console.log("**********************---------------------")
+      console.log("勾选")
+      console.log(row)
+      this.row = row
+    },
+    onSubmit(){
+      console.log("**********************---------------------")
+      this.dialogProjectVisible = false
+      this.$emit("onEnterprise",this.row)
+      console.log(this.row)
+    },
+    toggleSelection(rows) {
+      console.log("保存")
+      console.log(rows)
+      if (rows) {
+        rows.forEach(row => {
+          console.log("保存输出")
+          console.log(row)
+          console.log(this.$refs.projectTable.$refs.tables)
+          this.$refs.projectTable.$refs.tables.setCurrentRow(row);
+        });
+      } else {
+        this.$refs.projectTable.$refs.tables.clearSelection();
+      }
+    },
+    rowClick(row){
+      console.log("选中")
+      console.log(row)
+    }
+
+  },
+
+  created() {
+    this.tablecols = this.tool.tabelCol(this.$route.name).enterpriseTable.tablecols
+  }
 }
 </script>
 

+ 34 - 0
src/SDrpManagement/QuotedPrice/detail/components/examineTo.vue

@@ -0,0 +1,34 @@
+<template>
+  <div>
+    <el-popconfirm title="确定通过审核吗?" @confirm="CheckRow()">
+      <el-button slot="reference" size="mini" style="width:100%">审 核</el-button>
+    </el-popconfirm>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "examineTo",
+  props:["sa_quotedpriceid"],
+  methods:{
+    async CheckRow(){
+      console.log("报价单id"+this.sa_quotedpriceid)
+      const res = await this.$api.requested({
+        "id": 20221020165403,
+        "version":1,
+        "content": {
+          "sa_quotedpriceid":this.sa_quotedpriceid
+        }
+      })
+      this.tool.showMessage(res,()=>{
+        console.log(res)
+        this.$emit("onExamine")
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 48 - 0
src/SDrpManagement/QuotedPrice/detail/components/product.vue

@@ -0,0 +1,48 @@
+<template>
+  <div>
+    <layout_table
+        ref="projectTable"
+        :layout="tablecols"
+        :data="list"
+        :opwidth="200"
+        :custom="false"
+        :height="320"
+        :checkbox="true"
+    >
+    </layout_table>
+  </div>
+</template>
+
+<script>
+import layout_table from '../components/table'
+export default {
+  name: "product",
+  props:["sa_quotedpriceid"],
+  data(){
+    return {
+      tablecols:[],
+      list:[],
+    }
+  },
+  methods:{
+    async listData(){
+      const res = await this.$api.requested({
+        "id": 20221021095503,
+        "version":1,
+        "content": {
+          "sa_quotedpriceid":this.sa_quotedpriceid     //sat_notice_classid<=0时 为新增
+        }
+      })
+      this.list = res.data
+    }
+  },
+  components:{layout_table},
+  created() {
+    this.tablecols = this.tool.tabelCol(this.$route.name).commodityDetailsTable.tablecols
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 35 - 3
src/SDrpManagement/QuotedPrice/detail/components/project.vue

@@ -1,17 +1,25 @@
 <template>
   <div>
-    <el-dialog title="新 建" :visible.sync="dialogProjectVisible" width="900px">
+    <el-dialog
+        title="新 建"
+        :visible.sync="dialogProjectVisible"
+        append-to-body
+        width="900px">
       <div slot="title" style="font-size: 15px">
         选择项目
       </div>
       <layout_table
+          ref="projectTable"
           :layout="tablecols"
           :data="list"
           :opwidth="200"
           :custom="false"
           :height="320"
           :checkbox="true"
-          @onRow="onRow">
+          :onRow="row"
+          @rowClick="rowClick"
+          @onRow="onRow"
+      >
       </layout_table>
       <div style="margin-top:16px;text-align:right">
         <el-pagination
@@ -37,7 +45,7 @@
 import layout_table from '../components/table'
 export default {
   name: "project",
-  props:["visible"],
+  props:["visible","index"],
   data(){
     return {
       dialogProjectVisible:false,
@@ -64,6 +72,7 @@ export default {
   mounted() {
     console.log(this.visible)
     this.dialogProjectVisible = true
+    console.log(this.index)
     this.listData()
   },
   methods:{
@@ -71,6 +80,10 @@ export default {
       const res = await this.$api.requested(this.params)
       this.list = res.data
       this.total = res.total
+      console.log(this.list[0])
+      if (this.index !== ''){
+        this.toggleSelection([this.list[this.index]])
+      }
     },
     handleSizeChange(val) {
       // console.log(`每页 ${val} 条`);
@@ -88,6 +101,7 @@ export default {
     },
     onRow(row){
       console.log("**********************---------------------")
+      console.log("勾选")
       console.log(row)
       this.row = row
     },
@@ -96,6 +110,24 @@ export default {
       this.dialogProjectVisible = false
       this.$emit("onProject",this.row)
       console.log(this.row)
+    },
+    toggleSelection(rows) {
+      console.log("保存")
+      console.log(rows)
+      if (rows) {
+        rows.forEach(row => {
+          console.log("保存输出")
+          console.log(row)
+          console.log(this.$refs.projectTable.$refs.tables)
+          this.$refs.projectTable.$refs.tables.setCurrentRow(row);
+        });
+      } else {
+        this.$refs.projectTable.$refs.tables.clearSelection();
+      }
+    },
+    rowClick(row){
+      console.log("选中")
+      console.log(row)
     }
 
   },

+ 34 - 0
src/SDrpManagement/QuotedPrice/detail/components/submitTo.vue

@@ -0,0 +1,34 @@
+<template>
+  <div>
+    <el-popconfirm title="确定提交该报价单吗?" @confirm="CheckRow()">
+      <el-button slot="reference" size="mini" style="width:100%">提 交</el-button>
+    </el-popconfirm>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "submitTo",
+  props:["sa_quotedpriceid"],
+  methods:{
+    async CheckRow(){
+      console.log("报价单id"+this.sa_quotedpriceid)
+      const res = await this.$api.requested({
+        "id": 20221020165303,
+        "version":1,
+        "content": {
+          "sa_quotedpriceid":this.sa_quotedpriceid
+        }
+      })
+      this.tool.showMessage(res, ()=>{
+        console.log(res)
+        this.$emit("onSubmit")
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 10 - 0
src/SDrpManagement/QuotedPrice/detail/components/table.vue

@@ -74,10 +74,20 @@ export default {
     },
     isCheck(row,rowIndex) {
 
+    },
+    setCurrentRow(row){
+      console.log("执行力")
+      console.log(row)
+      /*this.$refs.tables.setCurrentRow(row);*/
+    },
+    toggleRowSelection(row, selected){
+
     }
   },
   mounted () {
     // this.listData()
+    console.log("初始化输出")
+    console.log(this.onRow)
   }
 }
 

+ 9 - 3
src/SDrpManagement/QuotedPrice/detail/index.vue

@@ -2,7 +2,7 @@
   <div>
     <basicDetails
         ref="details"
-        :titleText="mainData.projectname"
+        :titleText="mainData.enterprisename"
         formPath="QuotedPrice"
         :editData="mainData"
         :mainAreaData="mainAreaData"
@@ -18,7 +18,8 @@
       </div>
       <div slot="customOperation">
         <!-- 此区域提供了自定义操作按钮 -->
-
+        <submit_to class="inline-16" :sa_quotedpriceid="mainData.sa_quotedpriceid" @onSubmit="onSuccess"></submit_to>
+        <examine_to class="inline-16" :sa_quotedpriceid="mainData.sa_quotedpriceid" @onExamine="onSuccess"></examine_to>
       </div>
       <div slot="slot0" class="container normal-panel">
         <detailed ref="detailed" ></detailed>
@@ -37,6 +38,8 @@
 import detailed from './modules/detailed/index'
 import contacts from './modules/contacts/list'
 import address_manage from './modules/addressManage/list'
+import submit_to from './components/submitTo'
+import examine_to from './components/examineTo'
 export default {
   name: "index",
   data(){
@@ -47,7 +50,7 @@ export default {
     }
   },
   components:{
-    detailed,contacts,address_manage
+    detailed,contacts,address_manage,submit_to,examine_to
   },
   methods:{
     async queryMainData(id){
@@ -112,6 +115,9 @@ export default {
           value:this.mainData.status
         }
       ]
+    },
+    onSuccess(){
+      this.queryMainData(this.$route.query.id)
     }
   },
   mounted() {