qymljy 2 years ago
parent
commit
06d2a0f632

+ 91 - 0
src/Form/projectStageMag/add.vue

@@ -0,0 +1,91 @@
+<template>
+  <div>
+    <el-button size="small" type="primary" icon="el-icon-plus" @click="onShow">新 建</el-button>
+    <el-drawer
+        title="创建项目阶段"
+        :visible.sync="drawer"
+        size="35%"
+        direction="rtl"
+        append-to-body
+        :show-close="false"
+        @close="onClose">
+      <div class="drawer__panel">
+        <el-row>
+          <el-form :model="form" :rules="rules" ref="form"  size="mini" label-position="right" label-width="100px">
+            <el-col :span="24">
+              <el-form-item label="阶段名称:"  prop="stagename">
+                <el-input v-model="form.stagename" autocomplete="off" placeholder="输入手机号码"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="顺序"  >
+                <el-input  v-model="form.sequence" autocomplete="off" placeholder="输入用户名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="说明:" prop="remarks">
+                <el-input v-model="form.remarks" autocomplete="off" placeholder="输入手机号码"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="18">
+              <el-form-item label="请选择适用项目类型:" label-width="160px" prop="remarks">
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item >
+                <el-checkbox v-model="checked">适用所有项目类型</el-checkbox>
+              </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>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "add",
+  data(){
+    return {
+      drawer:false,
+      checked:false,
+      form:{
+        "sa_projstagemagid":0,
+        "stagename": "",
+        "remarks": "",
+        "allprojecttype":0,
+        "sequence":'',
+        "projecttype":["水务","燃气"]
+      },
+      rules:{
+        stagename: [
+          { required: true, message: '阶段名称不能为空', trigger: 'blur' },
+        ],
+        remarks: [
+          { required: true, message: '说明不能为空', trigger: 'blur' },
+        ],
+      }
+    }
+  },
+  methods:{
+    onShow(){
+      this.drawer = true
+    },
+    onSubmit(){
+
+    },
+    onClose(){
+
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 6 - 6
src/HDrpManagement/projectStage/index.vue

@@ -2,14 +2,14 @@
   <div>
     <basicLayout 
       ref="basicLayout" 
-      formPath="projectManage" 
-      tableName="projectPanelTable" 
-      idName="sa_projstagetempid" 
-      :apiId="{query:20221019085604,del:20221019085804}" 
+      formPath="projectManage"
+      tableName="projectStageTable"
+      idName="sa_projstagemagid"
+      :apiId="{query:20221128143604,del:20221128143704}"
       :options="options"
       >
       <div slot="custom">
-        <label  class="search__label" style="margin: auto;width: 70px;">项目类型:</label>
+<!--        <label  class="search__label" style="margin: auto;width: 70px;">项目类型:</label>
         <el-select class="inline-24" v-model="selectParam.projecttype" placeholder="请选择项目类型" @change="selectChange" size="small" clearable>
           <el-option
               v-for="item in projectType"
@@ -39,7 +39,7 @@
             start-placeholder="开始日期"
             end-placeholder="结束日期"
             clearable>
-        </el-date-picker>
+        </el-date-picker>-->
       </div>
       <template v-slot:tbList="scope">
         <div v-if="scope.data.column.columnname === 'isorder'">

+ 124 - 0
src/HDrpManagement/projectStageMag/index.vue

@@ -0,0 +1,124 @@
+<template>
+  <div>
+    <basicLayout 
+      ref="basicLayout" 
+      formPath="projectStageMag"
+      tableName="projectStageTable"
+      idName="sa_projstagemagid"
+      :apiId="{query:20221128143604,del:20221128143704}"
+      :options="options"
+      >
+      <div slot="custom">
+<!--        <label  class="search__label" style="margin: auto;width: 70px;">项目类型:</label>
+        <el-select class="inline-24" v-model="selectParam.projecttype" placeholder="请选择项目类型" @change="selectChange" size="small" clearable>
+          <el-option
+              v-for="item in projectType"
+              :key="item.value"
+              :label="item.value"
+              :value="item.value">
+          </el-option>
+        </el-select>
+        <label  class="search__label" style="margin: auto;width: 70px;">是否启用:</label>
+        <el-select class="inline-24" v-model="selectParam.isused" placeholder="请选择项目类型" @change="selectChange" size="small" clearable>
+          <el-option
+              v-for="item in isUsedList"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value">
+          </el-option>
+        </el-select>
+        <label class="search__label" style="margin: auto;width: 65px;">创建时间:</label>
+        <el-date-picker
+            style="margin-right: 24px !important;"
+            size="small"
+            @change="selectChange"
+            value-format="yyyy-MM-dd"
+            v-model="dateSelect"
+            type="daterange"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            clearable>
+        </el-date-picker>-->
+      </div>
+      <template v-slot:tbList="scope">
+<!--        <div v-if="scope.data.column.columnname === 'isorder'">
+          <span v-if="scope.data.column.data[scope.data.column.columnname] === 1">是</span>
+          <span v-else>否</span>
+        </div>
+        <div v-else-if="scope.data.column.columnname === 'isused'">
+          <span v-if="scope.data.column.data[scope.data.column.columnname] === 1">是</span>
+          <span v-else>否</span>
+        </div>
+        <div v-else-if="scope.data.column.columnname === 'locked'">
+          <span v-if="scope.data.column.data[scope.data.column.columnname] === 1">是</span>
+          <span v-else>否</span>
+        </div>-->
+        <div >
+          {{scope.data.column.data[[scope.data.column.columnname]]}}
+        </div>
+      </template>
+      <template v-slot:tbOpreation="scope">
+<!--        <delete-btn v-if="tool.checkAuth($route.name,'delete')" :id="scope.data.data.sa_projstagetempid" @deleteSuccess="$refs.basicLayout.listData()" nameId="20221019085804" nameKey="sa_projstagetempids"/>-->
+      </template>
+    </basicLayout>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "index",
+  projectType:() => this.projectType,
+  data() {
+    return {
+      options:[],
+      projectType:'',
+      isUsedList:[
+        {
+          value:'1',
+          label:'是'
+        },
+        {
+          value:'0',
+          label:'否'
+        }
+      ],
+      dateSelect:'',
+      selectParam: {
+        projecttype:'',
+        isused:'',
+        begindate:'',
+        enddate:'',
+      },
+    }
+  },
+  created() {
+    this.getSysetms()
+  },
+  methods:{
+    async getSysetms () {
+      /* 获取项目类型 */
+      let res = await this.$store.dispatch('optiontypeselect','projecttype')
+      this.projectType = res.data
+    },
+    onSuccess(){
+      this.$refs.basicLayout.listData()
+    },
+    selectChange(){
+      if (this.dateSelect !== '' && this.dateSelect !== null){
+        this.selectParam.begindate = this.dateSelect[0]
+        this.selectParam.enddate = this.dateSelect[1]
+      }else {
+        this.selectParam.begindate = ''
+        this.selectParam.enddate = ''
+      }
+      this.$refs.basicLayout.param.content.where = this.selectParam
+      this.$refs.basicLayout.listData()
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 6 - 2
src/SDrpManagement/QuotedPrice/detail/components/examineTo.vue

@@ -82,8 +82,12 @@ export default {
       /*this.$refs.form.validate(async (valid) => {
         if (!valid) return false*/
         const res = await this.$api.requested({
-          "sa_quotedpriceid":this.sa_quotedpriceid,
-          "backreason":this.form.backreason
+          "id":20221125162803,
+          "version":1,
+          "content":{
+            "sa_quotedpriceid":this.sa_quotedpriceid,
+            "backreason":this.form.backreason
+          }
         })
         this.tool.showMessage(res,()=>{
           console.log(res)

+ 1 - 1
src/SDrpManagement/QuotedPrice/detail/index.vue

@@ -10,7 +10,7 @@
         delApiId="20221020165503"
         idname="sa_quotedpriceid"
         ownertable="sa_quotedprice"
-        :statusCheck="[{key:'status',value:'审核'}]"
+        :statusCheck="[{key:'status',value:'审核'},{key:'status',value:'提交'}]"
         :tags="[]"
         :tabs="['产品清单','详细信息']"
         @pageChange="pageChange"

+ 30 - 17
src/SDrpManagement/QuotedPrice/detail/modules/productInventory/index.vue

@@ -11,7 +11,7 @@
           @clear="productData(param.content.pageNumber = 1)"
           clearable>
       </el-input>&nbsp;
-      <product_table style="float: right" :data="data"  ref="quoterPrice" @productAdd="productInitialization"></product_table>
+      <product_table style="float: right" :data="data"  ref="quoterPrice" @productAdd="productInitialization" ></product_table>
     </div>
     <div class="produtMag-panel">
       <el-table
@@ -20,7 +20,8 @@
           style="width: 100%"
           :header-cell-style="{height:'50px',color:'#606266',fontWeight:'400'}"
           :cell-style="{height:'50px',color:'#666666',fontWeight:'400'}"
-          @selection-change="selectionChange">
+          @selection-change="selectionChange"
+         >
         <el-table-column
             type="selection"
             width="55">
@@ -111,7 +112,7 @@
             label="数量"
             width="180">
           <template slot-scope="scope">
-            <el-input-number  v-model="scope.row.qty" size="mini" :min="1"  label="描述文字" @change="onChangeNum(scope.row.qty,scope.row,scope.$index)"></el-input-number>
+            <el-input-number  v-model="scope.row.qty" size="mini" :min="1"  label="描述文字" @change="onChangeNum(scope.row.qty,scope.row,scope.$index)"  :disabled="data.status !== '新建'"></el-input-number>
           </template>
         </el-table-column>
         <el-table-column
@@ -127,7 +128,7 @@
             label="折扣(%)"
             width="100">
           <template slot-scope="scope">
-            <el-input v-model="scope.row.discountrate" size="mini" placeholder="请输入折扣" @change="onChangeDiscountrate(scope.row.discountrate,scope.row,scope.$index)"></el-input>
+            <el-input v-model="scope.row.discountrate" size="mini" placeholder="请输入折扣" @change="onChangeDiscountrate(scope.row.discountrate,scope.row,scope.$index)"  :disabled="data.status !== '新建'"></el-input>
           </template>
         </el-table-column>
         <el-table-column
@@ -135,7 +136,7 @@
             label="单价"
             width="100">
           <template slot-scope="scope">
-            <el-input v-model="scope.row.price" size="mini" placeholder="请输入单价" @change="onChangePrice(scope.row.price,scope.row,scope.$index)"></el-input>
+            <el-input v-model="scope.row.price" size="mini" placeholder="请输入单价" @change="onChangePrice(scope.row.price,scope.row,scope.$index)"  :disabled="data.status !== '新建'"></el-input>
           </template>
         </el-table-column>
         <el-table-column
@@ -163,17 +164,22 @@
           </template>
         </el-table-column>
       </el-table>
-      <div style="margin-top:16px;text-align:right">
-        <el-pagination
-            background
-            small
-            @size-change="handleSizeChange"
-            @current-change="handleCurrentChange"
-            :current-page="currentPage"
-            :page-size="param.content.pageSize"
-            layout="total, prev, pager, next, jumper"
-            :total="total">
-        </el-pagination>
+      <div style="height: 35px;margin-top: 20px">
+        <div style="float: left">总金额:{{ totalPrice }}元</div>
+        <div style="float: right">
+          <el-pagination
+              background
+              small
+              style="text-align: right;"
+              @size-change="handleSizeChange"
+              @current-change="handleCurrentChange"
+              :current-page="currentPage"
+              :page-size="param.content.pageSize"
+              layout="total, prev, pager, next, jumper"
+              :total="total">
+          </el-pagination>
+        </div>
+
       </div>
     </div>
   </div>
@@ -195,6 +201,7 @@ export default {
       total:0,
       currentPage:0,
       changeList:[],
+      totalPrice:0,
       param:{
         "id": 20221021095503,
         "version":1,
@@ -217,9 +224,11 @@ export default {
       const res = await this.$api.requested(this.param)
       this.list = res.data
       this.total = res.total
+      this.totalPrice = 0
       for (var i=0 ;i<this.list.length;i++){
 
         this.list[i].discountrate = this.list[i].discountrate * 100
+        this.totalPrice = this.totalPrice + this.list[i].qty * this.list[i].price
 
       }
       console.log(this.list,'产品配置信息')
@@ -230,8 +239,10 @@ export default {
       const res = await this.$api.requested(this.param)
       this.list = res.data
       this.total = res.total
+      this.totalPrice = 0
       for (var i=0 ;i<this.list.length;i++){
         this.list[i].discountrate = this.list[i].discountrate * 100
+        this.totalPrice = this.totalPrice + this.list[i].qty * this.list[i].price
       }
       console.log(this.list,'产品配置信息')
     },
@@ -241,8 +252,10 @@ export default {
       const res = await this.$api.requested(this.param)
       this.list = res.data
       this.total = res.total
+      this.totalPrice = 0
       for (var i=0 ;i<this.list.length;i++){
         this.list[i].discountrate = this.list[i].discountrate * 100
+        this.totalPrice = this.totalPrice + this.list[i].qty * this.list[i].price
       }
       console.log(this.list,'产品配置信息')
     },
@@ -345,7 +358,7 @@ export default {
         }
       })
       console.log(res)
-      this.productData(res.data[0].sa_quotedpriceid)
+      this.productData()
     },
     async changeDiscountrateData(obj){
       console.log(this.list,"数据")

+ 1 - 1
src/SDrpManagement/QuotedPrice/detail/modules/productInventory/productTable.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-button size="small"  type="primary" icon="el-icon-plus" @click="onShow">添加商品</el-button>
+    <el-button size="small"  type="primary" icon="el-icon-plus" @click="onShow" :disabled="data.status !== '新建'">添加商品</el-button>
     <el-drawer
         title="选择商品"
         :visible.sync="dialogProductVisible"

+ 1 - 13
src/router/HDrpManagement.js

@@ -228,19 +228,7 @@ const HDrpManagement = [
       ast_nav: true,
       keeproute: true,
     },
-    component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/projectStage/index'),
-    children: [
-      {
-        path: '/projectStageDetail',
-        name:'projectstage',
-        meta: {
-          title: '项目阶段管理详情',
-          ast_nav: true,
-          keeproute: true,
-        },
-        component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/projectStage/detail/index'),
-      }
-    ]
+    component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/projectStageMag/index'),
   },{
     path: '/competitor',
     name: 'competitor',